优宽量化交易平台将回测模式分为实盘级 Tick回测和模拟级 Tick回测。实盘级 Tick回测完全基于完整的历史数据进行回测;模拟级 Tick回测则根据真实K线数据生成tick数据来进行回测。两者都是基于真实历史数据进行回测的,但实盘级 Tick回测的数据更精准,结果更加可信。优宽量化回测机制说明。需要注意的是,回测仅反映策略在历史数据下的表现,历史数据并不能完全代表未来的行情,因此对待回测结果应保持理性、客观的态度。
模拟级 Tick回测根据底层K线周期生成模拟的tick数据,每个底层K线周期上最多生成12个回测时间点。而实盘级 Tick回测使用的是真实收集的逐秒tick数据,数据量大,回测速度较慢,因此不适合回测特别长的时间范围。优宽量化的回测机制允许策略在一根K线上进行多次交易,避免了仅能在收盘价成交的局限性,在保证精准度的同时兼顾了回测速度。
模拟级 Tick 模拟级 Tick回测是根据回测系统的底层K线数据,按照特定算法在给定的底层K线Bar的最高价、最低价、开盘价、收盘价构成的价格框架内模拟出tick数据进行回测,作为回测时间序列上的实时tick数据,在策略程序调用接口时返回。具体可参考:优宽量化模拟级别回测机制说明。
实盘级 Tick
实盘级别回测使用真实的tick级别数据在Bar的时间序列中进行。对于基于tick级别数据的策略而言,使用实盘级别回测更贴近真实交易环境。实盘级别回测的tick是真实记录的数据,并非模拟生成。支持深度数据、市场成交记录数据回放,支持自定义深度,支持分笔数据。实盘级别回测数据最大支持50MB,在数据上限内不限制回测时间范围。如需尽可能增大回测时间范围,可以降低深度档位数值设置,不使用分笔数据以扩展回测时间范围。调用GetDepth
、GetTrades
函数获取回放行情数据。在时间轴上某个行情数据时刻,调用GetTicker
、GetTrades
、GetDepth
、GetRecords
,不会多次推动时间在回测时间轴上移动(不会触发跳转到下一个行情数据时刻)。对于以上某个函数的重复调用,将推动回测时间在回测时间轴上移动(跳转到下一个行情数据时刻)。回测时使用实盘级别回测不宜选择过早的时间段,因为过早的时间段可能没有实盘级别数据。
实盘级Tick和模拟级Tick模式的回测系统成交撮合机制:订单成交撮合按照见价成交、全量成交的原则进行。因此回测系统中无法测试部分成交的场景。