一套稳定的量化策略如何开发
一套能够稳定盈利的交易策略如何开发?这个的确没有那么简单,做到盈利还是可以的,但想要做到
长期稳定盈利
,就要考验你的研发能力以及对交易本身的认知水平。适合自己的策略才是*的策略,不妨从这个角度入手,去开发一套适合自己的交易策略。
不过首先你需要具备一些基础的编程知识和掌握一些编程语言,像
TB公式、MQL、JAVA、Python、MQL、C
等,还需要了解一些投资工具,然后又特别喜欢钻研的话,那么就可以试着去开发一套交易策略,甚至是做到稳定盈利的策略。
1.投资品种
投资品种一定要选择自己熟悉的,*是以前交易过的品种和熟悉的投资品种,这样你才愿意花时间和精力去关注品种的行业、品种的现状和过去等等,
了解这个品种的
交易量
、
流动性
和
波动率
。从各个维度去分析这个品种,然后确定作为开发策略的目标。
2.量化策略
先确定是做
中长线
、
短线
还是
日内
。然后选择做
震荡模型
还是
趋势模型
,综合投资品种去考虑策略研发的难易,从自身的角度去考虑,比如自己能承受多少的心理亏损,频繁的
浮亏和止损
对心态的影响,自身心理更能接受哪种情况多一点。
例如:
·
算法交易类策略
需要综合的
物理
、
数学
和
统计学
知识,考验独立思考的能力和敏锐的洞察力,而且能够灵活使用这些知识用于设计模型,还要很强的动手能力。因为几乎没有现成的案例可以让你参考或者模仿。
·
马丁类网格类策略
适合震荡行情,胜率高,盈亏比小,每一笔盈利小,浮亏会很大,需要计算风险趟口,尽量用在黑天鹅事件少的品种上。
·
趋势类策略
比较容易实现,止损频繁,胜率低,盈亏比大,适合大周期使用;
3.开发阶段
选好了品种和交易策略类型,剩下的时间就是投入到设计算法、编写代码和测试,统称为
开发阶段
。这个阶段,要围绕着几个要素进行:
· 时间周期
做外汇黄金,周期还是选择尽量大,至少
30分钟
以上的周期才有保障;除非你可以购买到或者采集到的历史数据精确度很高,
很少出现跳空的K线数据
。作为个人开发者,建议选择大周期开发,就是避免数据的不完整性导致的各种问题。
· 历史数据
尽量完整的历史数据,至少采集满足
三年
以上连续的历史数据,历史数据精确度
越高越好
。
· 合理的盈亏比、胜率和夏普率
如果一套策略,经测试发现
胜率
很高,
盈亏比
也很大,那么肯定是
有问题
的,就要考虑是不是偷价的模型,还要考虑到如何去克服实际交易中的点差、手续费成本问题。*的办法就是提高盈亏比,减少交易次数。需要重复
仔细验证
。
· 马丁类策略
那么胜率就会比较高,至少
80%
以上,盈亏比通常是
1.2-1.5左右。
· 趋势策略
胜率都小于
40%
,盈亏比能达到
2
以上;
· 算法交易
胜率介于两者之间,盈亏比一般超过
1.
5;夏普率应该维持在
2
以上,才能确保盈利是稳定的。
· 避免偷价和未来函数,策略高度拟合
构成入场出场信号的依据,应该是已经发生的K线数据进行的指标计算或者算法逻辑运算。简单的说,就是尽量使用上一根K线以前的数据做量化分析,当前K线还在进行中,作为条件就有偷价或者未来函数的可能,这些会
严重影响
到策略的真实可靠性。
算法的建立,应该基于统计学意义,而不是适配某一段行情做
限制性
条件,那样就是
拟合
了。拟合并不会适应未来的行情发展。
· *回撤
*回撤应根据实际情况进行设置,
没有一劳永逸
的控制办法。
· 历史回测
这个主要看
盈亏比
,
*回撤
和
净值曲线
来判断,研发的策略是否符合自己的要求,或者是否达到设计目标。一般回测分为
周期外、周期内、跨期回测。
· 周期外回测
,是指将测试好的策略
单独使用
一段
新的历史数据
进行的回测,看看净值曲线是否一致;
· 周期内回测
,主要是配合策略的测试调试,用于调试策略的历史数据周期;
· 跨周期内 外
,进行一次整体回测,也是观察回测曲线是否表现一致。如果得到结果相似或者达到设计目标,则说明策略是一个正期望值的交易策略。
不过,真正的表现还得看
模拟测试和实盘交易
。
下期接着讲解量化模拟测试和实盘交易中一些需要注意的问题