您的位置: 零点财经>股票问答>量化投资常见问题解答> 手把手教你回测第一个量化交易策略「从零入门量化交易系列」

手把手教你回测第一个量化交易策略「从零入门量化交易系列」

2018-06-21 23:41:51  来源:量化投资常见问题解答  本篇文章有字,看完大约需要10分钟的时间

手把手教你回测第一个量化交易策略「从零入门量化交易系列」

时间:2018-06-21 23:41:51  来源:量化投资常见问题解答

学会这个方法,抓10倍大牛股的概率提升10倍>>


通过前面4篇文章,我们已经对量化交易有了大概的了解,并且能够将VN.PY成功运行,并能进行模拟交易。然而模拟交易并不是我们使用VN.PY的目的,我们的目的是做实盘的量化交易。对于VN.PY来说,它的优势在于做CTA的中低频策略实盘。

想要做实盘交易,首先得研发策略,策略研发的步骤一般是:1、分析和策略构思;2、回测;3、评估;4、优化;5、实盘运行。

策略构思,每个人的交易经验和认知都不一样,一个比较容易的入门方式是,先找经典的策略进行学习;然后多看研报、多参加行业会议、多听别人的分享、自己多在交易中总结。这里就不做过多的赘述了。

在实际的研发过程中,当我们有了一个思路后,一般都是回测、评估、优化,周而复始,直到有一个比较满意的结果。

这篇文章我们对回测和评估进行一个介绍。

一、将IF指数的1分钟数据导入到MongoDB

在回测前,我们需要有相应的数据,而VN.PY附带了两份数据,一个是IF指数1分钟数据,一个是螺纹钢指数1分钟数据。放在了examplesCtaBacktesting目录下。

这两份数据,是csv格式的,我们需要做的是读取每一行的数据,然后写入到MongoDB中。

读取代码,VN.PY已经帮我们准备好了。在框架的ctaHistoryData.py类中,已经实现好了:

1)loadMcCsv:将Multicharts导出的csv格式的历史数据插入到Mongo数据库中

2)loadTbCsv:将开拓者TB导出的csv格式的历史分钟数据插入到Mongo数据库中

3)loadTbPlusCsv:将TB极速版导出的csv格式的历史分钟数据插入到Mongo数据库中

4)loadTdxCsv:将通达信导出的csv格式的历史分钟数据插入到Mongo数据库中

5)loadOKEXCsv:将OKEX导出的csv格式的历史分钟数据插入到Mongo数据库中

这里我们使用loadMcCsv来导入数据:

手把手教你回测第一个<a href='/lianghuajiaoyi/214585.html'>量化交易策略</a>「从零入门量化交易系列」

手把手教你回测第一个量化交易策略「从零入门量化交易系列」

二、DualThrust交易策略介绍

有了数据后,我们可以开始写交易策略了。这里给大家介绍大名鼎鼎的Dual Thrust。Dual Thrust系统是 Michael Chalek在80年代开发的一种通道突破交易的策略。我们用来做日内策略:

1)取前一日的真实波动ATR,乘以一个系数K,来作为今日的价格通道;

2)突破上轨做多,突破下轨做空;

3)收盘平仓

对于多头和空头的系数K,策略考虑了非对称的幅度,可以做多用一个系数k1,做空用另一个系数k2。真实波动的周期数也是可以进行调整的。

注意:我们今天的目的不是讲策略优化,而是给大家演示如何把策略跑起来,这里选择的也只是一个Demo策略,不能作为参考。

三、使用回测引擎,对DualThrust进行回测

上面,我们导入了数据,介绍了一个典型策略,下面进入回测的具体操作环节。

打开examplesCtaBacktesting文件夹下的runBacktesting.py文件,这是作者给我们写好的回测示例代码。BacktestingEngine就是我们的回测引擎。

我们以股指期货为例,设置好引用的策略包,回测开始日期、滑点、手续费、合约大小、合约最小变动、本金大小、数据库、使用的策略,然后我们点击运行。

以股指期货为例

以股指期货为例

(这里我在策略源码中把做多和做空的系数K都修改成了0.5)策略的源代码在vnpy raderappctaStrategy 这个文件夹中,有兴趣的同学也可以研究一下。

四、对回测数据进行分析和评估

运行完成后,我们需要对跑出来的的结果进行分析,看看策略好不好。

我们可以看到策略的回测结果:

对回测数据进行分析和评估

对回测数据进行分析和评估

走势图

走势图

回测的结果显示这个策略在我们回测的时间段是赚钱的,胜率在40%以上,还不错。但盈亏比比较低,只有1.45。最重要的是,最大回撤比较高,在只交易一手股指的情况下,达到了31万多,一手股指的保证金才多少钱?所以这个DEMO策略是不能直接实盘的。

我们追求的策略是:达到40%左右胜率,盈亏比在2以上,夏普率在1.5以上,最大回撤比一手保证金要少,最大回撤越小越好。这里面,最终看的指标是夏普率,但也并不是越高越高,太高的话,很可能是你的策略过拟合了。

我们应该找到适应性比较强,但数据并不是那么“优秀”的策略,然后进行投资组合优化,采用多策略、多品种、多周期组合,通过这样的方式提升我们的夏普率。

阅读了该文章的用户还阅读了

热门关键词

相关阅读

为您推荐

移动平均线
股票知识
MACD
老丁说股
热点题材
KDJ指标
读懂上市公司
成交量
股票技术指标
股票大盘
分时图
股市名家
概念股
缠中说禅
强势股
波段操作
股票盘口
短线炒股
股票趋势
涨停板
股票投资
长线炒股
股票问答
股票术语
财务分析
炒股软件
上证早知道
经济学术语
期货
股票黑马
股票震荡市场
理财
炒股知识
散户炒股
外汇
炒股战术
港股
基金
黄金








































































































































































































































































































































































































































































































































































































































































相关栏目推荐

栏目导航

友情链接

网站首页
股票问答
股票术语
网站地图

copyright 2016-2024 零点财经保留所有权 免责声明:网站部分内容转载至网络,如有侵权请告知删除 友链,商务链接,投稿,广告请联系qq:253161086

零点财经保留所有权

免责声明:网站部分内容转载至网络,如有侵权请告知删除