回測使用的账户为一个本地模拟账户(见account.py), 接口和实盘接口一致,
这个回测框架主要关注具体的交易细节, 适合T+0操作
-
数据源
请到 网盘 下载一个数据源
下载该目录放置到python_strategy\datas目录中
要使用全部数据源修改框架使用第三方数据源, 具体见stock.DataSources
huge_dict目录为同花顺F10全部数据
自动加载, 使用见stock.py里的StockInfoThs
前复权使用同花顺的分红表, 具体见stock.py里的calc_fuquan_use_fenhong -
依赖包问题, 作者主要使用anaconda 32bit python2.7版本, 需要的库为ta-lib, redis, charade等
64位 python3.x也可使用,估计需要修改部分代码; 作者只在windows下测试通过,linux可能有问题
建议使用WingIDE来加载项目并执行, 使用命令行执行可能会碰到乱码的问题 -
执行 回测有3种模式,日线和5分钟线和分时, 日线模式执行比较快, 每天收盘时成交,
分时执行时间比较长,成交为实际的时间
建议使用5分钟线
1> 分时的例子
用ide打开缺省策略boll_pramid.py并执行中间结果显示TickReport
可看见输出的结果图
资金0表示没有盈亏, 负值表示亏损, 正值表示盈利, 资金和仓位为归一化结果
输出窗口可以看见交易明细 -
发布 见boll_fencang.py 发布输出内容到web页面, 例子
#设置策略参数
def setParams(s):
s.setParams(trade_num = 300,
#pl=publish.Publish() #发布方式
)
if codes == '':
codes = [u'300033']
#执行策略, 5分钟线
backtest_policy.test_strategy(codes, BollFenCangKline, setParams,
mode=BackTestPolicy.enum.hisdat_mode|BackTestPolicy.enum.hisdat_five_mode,
#start_day='2016-10-20', end_day='2017-10-1',
datasource_mode=stock.DataSources.datafrom.online #从网上下载测试数据
)
- 使用autoxd客户端下载行情 Windows客户端下载行情至redis, 使用autoxd实盘交易 跳转至下载页面