QMT 开户后策略回测数据不全,从哪里补
发布时间:10小时前阅读:7
策略写完了,一回测发现数据缺一大截:某段时间没有行情,某些标的干脆没记录。这种情况新人几乎都会遇到,多数人第一反应是软件有问题,其实大部分是数据没下载全。
量化客户端的历史数据一般分两层。一层是随客户端安装包附带的样本数据,覆盖主要指数和部分权重股,够你跑通流程,但不够做严肃回测。另一层要自己补:在数据管理或数据下载的入口里,按品种、按周期勾选需要的历史区间,从服务器拉取。日线数据量小,几分钟能下完;分钟线尤其是多品种多年的分钟线,动辄几个 G,要留出时间和硬盘空间。
复权处理是第二个坑。行情默认给的是不复权价格,遇到分红送转会出现价格跳空,策略会把它当成真实跌幅,回测结果自然失真。回测前把复权方式统一设成前复权,并且在实盘信号里保持同一口径,否则回测和实盘对不上,你会怀疑代码写错了。
第三类是标的层面的缺失。停牌期间没有成交,退市标的直接从列表消失,ST 股在部分数据源里被单独归类。做长周期回测时,这些空档会让持仓市值凭空变化。处理办法是在策略里显式判断停牌与退市状态,缺失的交易日按停牌处理,不要用前一日价格硬填。
数据补全之后,还要对齐撮合假设。客户端回测引擎的成交规则和真实市场有差距:涨跌停能否成交、集合竞价怎么算、滑点设多少,这些都影响结果。同一套代码在不同引擎上跑出百分之二三十的差异并不稀奇,所以别拿回测收益当预期收益,它只能用来比较策略之间的相对优劣。
我的习惯是先做小样本对齐:挑一个月的数据,手工核对几笔委托的成交价和手续费,确认引擎算法符合预期,再把区间拉长。这一步花不了多少时间,但能省掉后面反复怀疑数据的功夫。
数据下载还牵扯到权限。部分品种的历史行情要单独开通,分钟级数据有的券商只提供近若干年,更早的要另找来源。遇到下不下来的区间,先确认是不是权限问题,别一味重装客户端。
规则和数据口径都在变,具体以客户端里当前能勾选的区间为准。
股票/量化开户欢迎找我!满足条件股票佣金万0.854、etf 可转债佣金万0.5、国债逆回购一折(百万分之一)!期权1.8元一张全包价!量化软件QMT+ptrade免费使用!还有888、999资金靓号等你选!
温馨提示:投资有风险,选择需谨慎。



问一问
从业认证

+微信
分享该文章
