A股量化策略的快速回测验证。日常研究里需要频繁测试新想法,市面上的回测框架要么太重(backtrader启动一次几分钟),要么装不上(zipline依赖地狱)。这个引擎解决的核心场景是:拿一个策略想法,从数据到回测结果5分钟内跑通,指标一目了然,代码结构和实盘一致——验证完直接迁移到生产环境不用重写。
实际跑了两年,日频稳定。支持多标的组合回测、A股真实费率(佣金万2.5最低5元、印花税千1单边)、滑点模拟。适合个人量化研究和小团队快速原型。
点击空白处退出提示
A股量化策略的快速回测验证。日常研究里需要频繁测试新想法,市面上的回测框架要么太重(backtrader启动一次几分钟),要么装不上(zipline依赖地狱)。这个引擎解决的核心场景是:拿一个策略想法,从数据到回测结果5分钟内跑通,指标一目了然,代码结构和实盘一致——验证完直接迁移到生产环境不用重写。
实际跑了两年,日频稳定。支持多标的组合回测、A股真实费率(佣金万2.5最低5元、印花税千1单边)、滑点模拟。适合个人量化研究和小团队快速原型。
1. 事件驱动回测主循环:date→signals→orders→fills→mark-to-market,跟实盘代码结构一致,策略验证完无缝迁移
2. A股真实成本模拟:佣金默认万2.5(最低5元)、印花税千1(仅卖出)、滑点模型(固定bps+随机噪声模拟市场冲击)
3. 组合管理模块:等权重分配、单票仓位上限、资金检查,拒绝超买而非部分成交(保守风控)
4. 绩效报表:年化收益、Sharpe比率、最大回撤(含起止区间)、胜率、换手率、总佣金/印花税
5. 可视化:三层图表(净值曲线+回撤区间+日收益分布),一眼判断策略质量
6. 策略基类:继承Strategy类,实现generate_signals()即可。内置Buy&Hold和双均线金叉死叉两个示例
7. DataFeed从DataFrame读取,直接对接SQLite/CSV/API,不绑死数据源
架构是经典事件驱动模型,核心就一个主循环:
for date, bars in data_feed:
mark_to_market() # 按市价更新持仓
signals = strategy() # 策略产信号
orders = portfolio(signals) # 信号转订单
execute(orders) # 模拟成交(滑点+佣金+印花税)
record() # 记净值
数据层:DataFeed封装了一个多标的DataFrame,按交易日迭代,支持history()回看任意窗口算指标。实际使用从SQLite读日线,一行pd.read_sql搞定。
交易层:Order→Trade的状态机,成交时做资金检查、加权平均成本更新。卖出时标记盈亏(已知FIFO没做,多笔买入时胜率统计有小偏差,但不影响净值计算)。
成本层:CommissionModel和SlippageModel独立封装,换市场(比如港美股)替换这两个类就行。
组合层:PortfolioManager目前是等权分配+单票上限,扩展空间留了——override target_position()可以实现任意分配逻辑。
全部Python标准库+NumPy+Pandas,没有重型依赖。670行代码,单元测试没写但主循环跑了两年日频数据没问题。



评论