我的回测之路2——回测源代码

发布于: 雪球转发:1回复:0喜欢:5

书接上回,回测之路1说的是数据准备,今天给出的是回测的源代码

相关文件保存在百度网盘了

链接:网页链接

提取码:8x2p

一、源代码

python源代码是百度网盘的huice_1.py文件,主要在Huice_allday()类中

回测条件是百度网盘的《000300.SH回测条件.xlsx》文件,这里只是放了一个回测条件,我实际在测试的时候,写了很多类似的回测条件

二、具体说明如下:

1、拿MA回测来说明程序流程:

Huice_allday()类中的huice_MA_allday()方法读取类似于《000300.SH回测条件.xlsx》文件中的回测条件,然后调用huice_MA_jisuan()具体计算回测值

对比市值:拿沪深300指数举例,huice_MA_jisuan()方法计算对比市值是在回测的初始日期用初始资金(程序中是1000万)买入沪深300指数(注意,这里为了简化,直接买入的是沪深300指数,而不是沪深300ETF),中间过程不操作,最后计算回测的结束日期时的市值,用这个市值除以初始资金,得出一个倍数作为对比市值

策略市值:这个是回测的目标方法市值。拿MA(均线为例),具体方法是收盘价在MA之上时,买入或者持有,收盘价在MA之下时卖出或者持币。

上述方法对应了一句股谚:10日均线上持股,10日均线下持币

但我回测时,回测的不是10日的数据,而是20日,60日,90日,180日均线,有兴趣的可以自己回测10日均线的数据

huice_MA_jisuan()方法现在是计算的回测结束日期的对比市值和策略市值,但稍做修改可以计算每天的这两个数值。

2、对每个股市指标的说明

1、MA,上面说过了,不再赘述

2、huice_MACD_jisuan()方法回测的是MACD指标,具体是在MACD金叉时买入或持股,MACD死叉是卖出或持币

3、huice_DMI_jisuan()方法回测的是DMI指标,在PDI>MDI并且ADX>20时买入或者持股,在在PDI<MDI并且ADX>20时卖出或者持币

4、huice_EMV_jisuan()方法回测的是EMV指标,在emv大于0时买入或持股,emv小于0时卖出或持币

5、huice_TRIX_jisuan()方法回测的是TRIX指标,方法与MACD类似

6、huice_JLHB_jisuan()方法回测的是绝路航标指标,在绝路航标发出信号时买入,在B大于0时持股,在B小于0时卖出或者持币


回测源代码就写这么多吧,回测之路3将把一些回测结果放出来