FMZ量化平台把自用的Python回测引擎开源了,可以在本地离线回测,用过的都说好,也可以在FMZ平台上在线回测:https://github.com/fmzquant/backtest_pythongithub.com
调用十分简单:
'''backteststart: 2018-02-19 00:00:00end: 2018-03-22 12:00:00period: 15mexchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}]'''
from fmz import *
task = VCtx(__doc__) # initialize backtest engine from __doc__
print(exchange.GetAccount())
print(exchange.GetTicker())
大部分策略在实盘之前都需要回测进行验证,FMZ支持部分品种数字货币现货、期货和永续合约,以及商品期货所有品种。但发明者量化平台的回测机制和常见的onbar回测有所区别,兼顾了速度和精度。本文将详细说明并解答一些常见的回测问题
传统onBar回测机制
onbar回测机制是基于K线的,即每一个K线产生一个回测时间点,在此时间点上可以获取到当前K线的高开低收价格、交易量等信息,以及此时间点之前的历史K线信息。
这种机制的弊端很明显:在一根K线上,只能产生一次买卖,通常依据的价格是K线的收盘价。并且一根K线只能获取到高开低收四个价格,至于在一根K线内价格如何变化的,