一文深度解读量化交易(下)

上周,咱们给你们详细讲述了量化交易策略的类型。今天,咱们将介绍应该要如何开发一套完善的量化交易策略。程序员

 

做者“黄金EA量化”,程序员出身的量化交易者。2015年开始从事量化交易,主作黄金外汇、国内商品期货等衍生品的程序化交易。投资逻辑——经过数据挖掘,自下而上,运用数学,物理学和统计学知识创建算法交易系统。此外,他基于算法,程序化研究出ALGOTRADER自动化交易系统。算法

 

如何开发一套可以稳定盈利的量化策略?编程

 

俗话说,耳闻不如眼见,眼见不如实践。若是你具有了基础编程知识,掌握一些编程语言,像JAVA、Python、MQL、TB公式、C++等,熟悉一些投资工具,又特别喜欢钻研,那么彻底能够去开发一套交易策略,甚至是作到稳定盈利的策略。编程语言

 

固然,如何开发一套可以稳定盈利的交易策略?这个的确没有那么简单,作到盈利仍是能够的,但想要作到长期稳定盈利,就要考验你的研发能力以及对交易自己的认知水平。适合本身的策略才是最好的策略,不妨从这个角度入手,去开发一套适合本身的交易策略。函数

 

1选择一个投资品种工具

必定要选本身熟悉的投资品种,最好是之前交易过的品种或者感兴趣的品种,愿意花时间去关注品种的行业、品种的过去与现状等,了解这个品种的流动性、交易量和波动率。从各个维度去分析这个品种,而后肯定做为开发策略的目标。性能

 

2经过品种去评估并找适合的量化策略测试

是作日内、短线仍是中长线?是作趋势模型仍是震荡模型?还要综合考虑策略研发的难易。从本身的角度出发,好比,能承受多少的心理亏损;频繁止损仍是浮亏对本身心理的影响,哪一个是可以接受多一点。spa

 

例如:设计

  • 趋势类策略,比较容易实现,止损频繁,胜率低,盈亏比大,适合大周期使用;

  • 马丁类网格类策略,适合震荡行情,胜率高,盈亏比小,每一笔盈利小,浮亏会很大,须要计算风险趟口,尽可能用在黑天鹅事件少的品种上;

  • 算法交易类策略,须要综合的数学、物理和统计学知识,并且可以灵活使用这些知识用于设计模型,考验独立思考的能力和敏锐的洞察力,还要很强的动手能力。由于几乎没有现成的案例可让你参考或者模仿。

 

3开发模型

选好了品种和交易策略类型,剩下的时间就是投入到设计算法、编写代码和测试,统称为开发阶段。这个阶段,要围绕这几个要素进行:

 

历史数据

尽可能完整的历史数据,至少采集知足三年以上连续的历史数据。

 

时间周期

作外汇黄金,周期仍是选择尽可能大,至少30分钟以上的周期才有保障;除非你能够购买到或者采集到的历史数据精确度很高,不多出现跳空的K线数据。做为我的开发者,建议选择大周期开发,就是避免数据的不完整性致使的各类问题。

 

避免偷价和将来函数,策略高度拟合

构成入场出场信号的依据,应该是已经发生的K线数据进行的指标计算或者算法逻辑运算。简单的说,就是尽可能使用上一根K线之前的数据作量化分析,当前K线还在进行中,做为条件就有偷价或者将来函数的可能,这些会严重影响到策略的真实可靠性。

 

算法的创建,应该基于统计学意义,而不是适配某一段行情作限制性条件,那样就是拟合了。拟合并不会适应将来的行情发展。

 

合理的盈亏比、胜率和夏普率

若是你开发出来一套策略,经测试发现胜率很高,盈亏比也很大,那么确定是有问题的,就要考虑是否是偷价的模型,须要重复仔细验证。

 

趋势策略,胜率都小于40%,盈亏比能达到2以上;

 

马丁类策略,那么胜率就会比较高,至少80%以上,盈亏比一般是1.2-1.5左右;

 

算法交易,胜率介于二者之间,盈亏比通常超过1.5;夏普率应该维持在2以上,才能确保盈利是稳定的。

 

另外还要考虑到如何去克服实际交易中的点差、手续费成本问题。最好的办法就是提升盈亏比,减小交易次数。

 

最大回撤

最大回撤应根据实际状况进行设置,没有一劳永逸的控制办法。

 

若是编程能力强的,尽量将回撤条件用程序控制实现,参数化、流程化实现。若是硬要将回撤控制5%或者10%,我估计你的回测效果不会好到哪里,除非回测时长很短。这个就是行情匹配的问题,行情永远在变,所以要学会管理你的策略,运用好它。

 

历史回测

这个主要看盈亏比,最大回撤和净值曲线来判断,研发的策略是否符合本身的要求,或者是否达到设计目标。通常回测分为周期内、周期外、跨期回测。

 

周期内回测主要是配合策略的测试调试,用于调试策略的历史数据周期;

 

周期外回测,是指将测试好的策略单独使用一段新的历史数据进行的回测,看看净值曲线是否一致;

 

跨周期内外,进行一次总体回测,也是观察回测曲线是否表现一致。若是获得结果类似或者达到设计目标,则说明策略是一个正指望值的交易策略。

 

不过,真正的表现还得看模拟测试和实盘交易。

 

4模拟验证交易

通过开发阶段,而后就是模拟测试阶段。实时监控成交记录,对交易数据统计发现问题并改进,对实盘交易中可能出现的问题提早制定相应的预防和解决措施。

 

综合考虑测试结果的各个性能指标,不能太看重某一个性能指标,以下面两个策略测试结果:

 

 

上图虽然夏普率9.12,可是最大回撤24.41%,这与策略自己的思想有关。

 

上图虽然夏普率为6.8175,低于第一张图的策略,但在相同仓位控制条件下,最大回撤减少6倍。

 

5实盘资金交易

其实最主要仍是控制风险,控制了风险及回撤,那这个策略就算是稳定的策略,让时间成为你的朋友,财富是慢慢积累的。

 

 

一、关注交易品种的产业链数据和新闻等不固定公布时间公布信息,统计相关信息数据的理论正常值,出现异常时立刻采起措施。

 

二、关注交易品种的产业链数据和新闻等固定公布时间公布信息,如EIA数据、原油钻井数量数据、美国非农数据等,在数据公布先后及时平仓,保护盈利利润。

 

三、关注政治风险、军事冲突、天然气候灾害,若有重大事件应立刻采起天制定好的措施(现在年英国退欧、美国大选、中东叙利亚战争、伊朗石油解禁、美国页岩油政策等)

 

四、针对人为带来的影响因素如断电断网等制定紧急措施。

 

五、针对以上风险确认以上风险事后,制定再入场时的补仓策略。

 

六、实时监控,按期检验。

 

如何辨别量化交易策略的好坏

 

若是你从头阅读到这里,相信你们心中已经有了本身的那个圣杯。适合本身的策略就是好的策略。

 

一个策略,不是看见它短期内暴利就是优秀,也不能说一个策略它天天稳赚百分之几就是稳定的。要从多个维度来评判一个策略是属于优秀、良好、及格仍是不及格。风险与收益永远是投资的主题,从这方面来讲,能够分为如下一些评判条件。

 

1时间维度

久经时间考验,经历过各类行情的颠簸,策略有没有所以而致使大亏损或者不盈利,甚至变为亏损,策略有没有失效。若是通过几年,策略仍然能取得不错的收益,例如,年均10%-30%,那么这个策略应该是值得信任的。

 

2收益率

在时间维度上,取得很少的收益率,但前提是这个收益率是名义收益率仍是实际收益率。就是说,根据你的交易次数、盈亏比、最大回撤,计算一个夏普比率,夏普比率是否及格了。夏普比率是衡量交易模型的收益率是不是稳定的,若是爆赚爆亏,夏普比率就会偏低。

 

3资金量

小资金的稳定收益,能够说是一种名义收益率。小资金的交易环境要求很低。这个你们都明白,对交易心理影响不大,例如,剥头皮交易,小资金很容易快进快出,可是资金量一大,剥头皮策略就有可能不太适用了。

 

4盈亏比

你们其实不用太关注胜率,胜率只是盈亏比的附属品。盈亏比决定了你的策略可以长期得到正指望收益。理论上讲,盈亏比越大策略的正指望值越好,盈利能力越强,抵抗回撤的能力也越强。

 

5夏普比率

这个就是说明,相同的回报,所要承担的风险水平。无风险回报固然是最理想的,但现实与理想总有差距。固然夏普比率越高越好,听说达到3以上,就证实你的策略可以达到月月盈利。

 

6最大回撤

分为最大回撤率和最大回撤值。小资金就要看最大回撤值,大资金就看最大回撤率。

 

基金的要求通常都是控制在10%回撤之内,可是作外汇的,我以为这个值能够尽可能大一点。其实最保险的方式,就是赚了部分出金,物理阻断回撤风险。用EA控制回撤,就好像纸上谈兵,不靠谱。由于外汇杠杆式交易,对用户是最不公平的,点差、上下影线,均可以将你打回解放前。

 

7多品种组合、多策略组合

相信你们会明白,一套策略应用在不一样的投资品种,或者由不一样的策略组合成为多策略组合的投资方案。

 

这种对冲交易策略,也是能够大大提升收益率,减小回撤风险,从而实现稳定盈利。通常选择有互补性行情的品种或者策略多样性的,例如:趋势策略和震荡策略混合着用,从时间上,错开同时下单建仓的风险。这个就有点想算法交易,一次下单手数过重,那么头寸风险趟口就比较大了,心理上负担也会很重,不利于行情的波动。

 

总结

 

量化交易,量化是手段,交易结果是目的。量化的优点,就是把人从重复性、繁杂性的工做中解放出来,聚焦更重要的决策。

 

可是,不论手工交易仍是量化交易,都要面临克服人性这个难题。克服人性也是交易的永恒主题,作交易的互勉吧!

相关文章
相关标签/搜索