回测日志

开发策略主要的三部分:数据输入、策略实现,指令输出。

数据分为回测需要的历史数据和策略中需要的数据

策略模块中的onBar(self,bar),其中参数bar就是回测传来的数据,策略中用的k线,回调函数先调用self.am.updateBar(bar)方法,在am(ArrayManager对象)中生成一个size=100的列表

回测时先载入历史数据,初始化策略,数据回测,传回交易指令,保存记录


数据准备层

从本地数据库 / 外部接口加载历史数据

数据格式转换为 vnpy 标准 Bar/Tick 对象

支持分钟线 / 日线 / Tick 数据

策略执行层

策略类初始化(参数、变量、数据缓存)

历史数据预加载(用于指标计算)

onBar/onTick 回调函数触发策略逻辑

ArrayManager 管理 K 线数据窗口

引擎核心层

指令生命周期管理(生成→撮合→结束)

模拟交易撮合(考虑滑点 / 手续费)

实时更新账户状态(资金 / 持仓 / 委托)

事件驱动机制处理异步操作

结果输出层

基础统计:胜率 / 盈亏比 / 最大回撤等

高级分析:夏普比率 / 索提诺比率等

可视化组件:资金曲线 / 成交分布 / 指标图表

数据存储:支持导出 CSV/JSON/ 数据库


初始化阶段不产生实际交易(trading=False)正式回测时通过 trading=True 激活指令传递支持多品种 / 多周期策略组合回测可配置交易成本模型(固定费用 / 比例费用)提供参数优化功能(Grid Search / 遗传算法)


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容