
FMZ量化平台已经开源了自己的Python回测引擎. 可以在本地和离线对其进行回测. 很好用. 您还可以在FMZ平台上进行回测:
github.com

通话非常简单:
backtest
start: 2018-02-19 00:00:00
end: 2018-03-22 12:00:00
period: 15m
exchanges: [{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支持某些种类的数字货币python 量化回测框架,期货和永续合约,以及所有种类的商品期货. 但是,考虑到速度和准确性,量化平台的发明人的回测机制与普通的回测不同. 本文将详细解释并回答一些常见的回测问题
回测机制是基于K线的,即每个K线都会生成一个回测时间点,在这个时间点,您可以获得当前的K线高开盘价和收盘价,交易量以及其他信息,以及该时间点之前的历史K线信息.

这种机制的缺点很明显: 在K线上,通常只能基于K线的收盘价来生成一笔交易. 而一条K线只能获得高开低收的四个价格. 关于价格在K线中的变化方式,不可能获得有关最高价格先出现还是最低价格先出现的信息. 以1小时K线为例,在真实市场中,必须每隔几秒钟获取一次市场信息,并且将在市场中发出交易指令,而不是等待K线结束. Onbar回测机制的优点是易于理解,回测速度非常快.
FMZ回测模式分为模拟级回测和真实级回测两种:

模拟级回测
模拟水平回测应选择用于回测的K线周期和底部K线周期. 例如,该策略使用小时线回测,并选择了底部的K线5分钟,然后回测时间点的间隔将基于5分钟的K线生成的滴答声.
在每条K线上,仅固定了开始和结束的滴答声,中间加了12个模拟的滴答声,因此,一条K线将形成14个回测时间点. 如果一天回溯测试,则有24×12×14 = 4032个时间点,而传统的onBar回溯测试只有24个,精度大大提高. 打开和关闭操作也可以在K线循环内完成. 尽管模拟了中间产生的滴答声,但效果不大. 在回测中,只要买入单价大于卖出单价,而卖出单价小于买入单价,它将被匹配. 这种回测方法同时考虑了回测的速度和准确性,建议所有人使用.
真实级别的回测
真实级别的回测使用真实的价格变动,包括历史订单和实际深度变化. 每个时间点的最短间隔只有1s. 回测的准确性每秒更改一次. 但是python 量化回测框架,由于数据量很大,回测速度很慢,并且回测时间不能很长. 真实级别的回测可以用于准确的验证策略.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-228590-1.html
这谢作诗教授肯定喝醉了
老巴可比你富哦
兴风作浪