全文约4300字,不是给大伙儿增加焦虑,也不是给大伙儿灌鸡汤,只是唠唠自己的心得体会,如何真正利用好高手大神的量化策略和交易经验,让自己迅速开发出好策略。
零.话题源起
最近一段时间,在知乎上“量化研究”和“量化交易”的话题下,经常有被推荐到这个问题和回复。瞄了一下,有四十多万的浏览,说明看得人还不少,光说这浏览量,在量化这个圈子里,最起码也算是腰部的热门问题了。
首先摆明态度,这种情况肯定不算罕见,哪个做开发的还没遇到过瓶颈呢?老话说得好,人生谁没有几个坎儿~~~
就拿咱量化祖师爷西蒙斯老爷子来说,1978年,人到中年的西蒙斯带着一帮教授辞职创业,成立了“计量⾦融学公司”(也就是“⽂艺复兴科技公司”的前身),10年后才算做得有起色站稳了脚跟,从1989年起才开始了大奖章基金封神的业绩。
西老爷子这样的一个大神,也是花了10年时间才做出了点儿成绩,咱这些凡人就不要太过焦虑了。
不过西老爷子那个时候是有时代的限制的,无论是数据库还是量化系统都是全部从零开始搭建,非常耗时费力。
就如同在20年前让你从零开始搭建个人网站一样,还真不是一般人能制作和维护的,而现在,只要你愿意,从购买域名、租服务器、上传框架源码、网站配置等全流程搞下来,都不用半个小时,这是因为已经有很多套件是成熟的了,直接拿来就可以使用,你只需要去了解这些信息和套路,这样一想,我们处在一个美好的时代。
今天当然不是纯粹给大伙儿灌灌鸡汤、做做心理按摩的,而是想针对“开发不出策略”这个问题谈谈自己的心得体会。
这里先做一个比方,方便大家理解,开发出一个好策略,就像是写一篇好作文。为了写好这篇作文,我们都经历了哪些过程呢?
抄生字->抄课文->造句->写作文
在我们小学打基础的时候,“抄”是时间占比非常大的学习内容,年级越低,“抄”的占比就越高,我们抄会一个个生字,抄一篇篇课文,感受其中的语法格式,然后自己可以创作单个句子,句子写得多了,连起来就是作文,后期再学习更多的表达技巧,最终写出立意鲜明、形象生动的好作文。
“抄”就是模仿和借鉴,无论我们是做量化还是其他领域,自己从一无所知地开始学习,都是在模仿和借鉴前人的基础上起来的。例如你刚开始学习做股票量化,筛选有效的Alpha因子,前人大神用的有多空对比法、分层测试法、IC法、ICIR法等因子有效性测试方法,你也是从这些方法当中选择,如果你有发明新的有效性测试方法,那也是在学习之后的事情。
于是乎,对于量化新手而言,迅速开发出一个好策略,不再有前文那个“两年开发不出策略”的焦虑,在我眼里,对普通人来说,是可以有固定套路的,那就是先模仿后创新,站在巨人的肩膀上博采众长、野蛮生长!“模仿”让自己从无到有开发属于自己的策略,“创新”是精雕细琢,让自己有好策略。
因此,在这里我主要根据自己的心得体会,唠唠如何真正利用好高手大神的量化策略和交易经验,让自己迅速开发出好策略。以下内容只是自己粗浅的见解,可能对量化新手有启发意义,并不适合于大神,对不对的,还望海涵。
目前我自己的感觉是,利用好高手大神的量化策略和交易经验,关键的心法口诀是:守、破、离
“守、破、离”最初源自于剑术剑道的学习理论,后来推广到其他武术派别与各行各业。以下是最初的释义,下文我会结合量化投资推心置腹地唠唠。
『守』:最初阶段须遵从老师教诲,认真练习基础,达到熟练的境界。
『破』:基础熟练后,试着突破原有规范让自己得到更高层次的进化。
『离』:在更高层次得到新的认识并总结,自创新招数另辟出新境界。
百度百科,2021,《守破离》词条。
首先要声明一下,由于“巧妇难为无米之炊”,在这里假设大伙儿都能接触到适量的量化学习资料,“信息不足”的小伙伴可以参考我之前的文章,里面有介绍一些获取渠道,“信息过载”的小伙伴也不要犯焦虑症,先挑取适量的学习,学有所得就可以了,不要贪大求全哦。
一.第一阶段『守』
在这一阶段,我们首先要端正自己的心态,空杯心态,不要有任何偏见,高手/大神/老师说怎么去做,就怎么去做,动作、步骤、流程不要有一丝变形。
就如同刘慈欣《三体》里面那句著名的话“弱小和无知从来都不是生存的障碍,傲慢才是”,傲慢和偏见不仅影响我们的生存,还影响到我们学习量化。
因为高手/大神/老师他们在量化当中浸淫了这么久,经验比新手小白丰富得多,出错的概率肯定比新手小白要低。特别是,量化涉及到的技术和理论非常多,为了方便教学和方便学员理解,有一些地方会“默认”操作和不作过多解释,即使很多东西看上去很“蠢”,照做就是了。
在安装量化环境的时候,不要尝试跳过某些环节和配置,即使这个环节看上去很无厘头很繁琐,因为你还是量化新手,你还不清楚这个环节为什么要存在,为啥要这么配置。例如在原版中,在环境变量当中加入指定路径,文件编码选择utf-8,操作符左右都要有一个空格。
在构建策略的时候,不要尝试修改其中的某些环节和方法,即使这个环节看上去很难以理解很没有必要,因为你是新手,你还不能够保证你的改动比原版的还要好。例如在原版中,用难以理解的矩阵计算代替for循环,要使用后复权价格不能使用原始价格和前复权价格,在分母上再加一个数值“1”。
做好这一个阶段的诀窍就是:做一个愿意下笨功夫的聪明人。
那什么时候可以离开『守』这个阶段了呢?
(1)当你可以不用看原版资料,在纸上写出策略的构建原理;
(2)在电脑里不需要提示,徒手敲完整个策略的实现源码;
(3)看着策略的回测详情,清楚每一个指标的含义。
我个人认为,当同时满足这3个条件时,你就可以脱离『守』这个阶段了,恭喜大侠,你可以离开新手村了,带着一个属于自己的策略,向下一个阶段进发。
二.第二阶段『破』
在课程里,在社群内,在文章中,你看到的策略,别人也能看到,当用同一个策略的人多了,策略就可能失效了。
『守』能让你拥有策略,一时赚点儿小钱,但只会『守』,你或许不能长久赚到钱。
人的成长,商业的发展,策略的优化,就是需要不断的『破』,『破』就是破局而出、推陈出新,让自己做出更好的策略。
「破」一般有2种方式。
(1)做得比别人好
(2)做得跟别人不同
这两种方式都有效,第一种方式更常见,第二种方式更长久。
如何做得比别人好?就是考虑得比别人更深入、更细致、更全面,举个例子。
(1)更深入。例如交易领域当中的MACD指标,它的默认参数设置是(12,26,9),它为什么是这么设置呢?因为MACD被发明出来的那个时代,每周是单休制,一周要工作6天,因此12对应的是2周,26对应的是1个月,9对应的是一周半,因此要是与时俱进的话,MACD参数配置就要改为(10,20,7)。
(2)更细致。例如很多线性模型对异常值很敏感,单个异常值存在就会对回归系数造成非常不利的影响,导致模型的泛化能力下降,因此要对空值进行填充或舍弃,将异常值“拉回到”合理范围。
(3)更全面。例如做基本面量化的小伙伴,经常使用的是单期横截面因子数据进行建模,但是单期数据往往波动较大,因此要量化一个公司基本面的优劣,可以考虑多期序列的平均值和波动值。
如何做得跟别人不同呢?那这个方法就比较宽泛了,列举几个,关键是要确定你用的“不同”是有效的。
(1)对相同的数据用不同的处理方法。例如别人的双均线用MA,你用EMA或AMA。
(2)用不同的数据源。别人只能用财务数据和量价数据,你可以用网络舆情数据和商品交易数据。
(3)用不同的交易周期。别人用小时线,你可以用分钟线或Tick数据。
『破』就是破局而出、推陈出新,就是往原来的策略当中加入更多“新套路”,让原来的策略“更吃得开”。举个综合的例子,就拿最简单的双均线策略来说,该如何『破』。
『守』:双均线MA策略,金叉开多,死叉开空。
『破』:在原来的基础上,使用以下3个“新套路”。
(1)均线采用自适应均线AMA,趋势时偏向于快线,震荡时偏向于慢线;
(2)采用ATR波动过滤的方法尽可能过滤“假突破”信号;
(3)双均线策略无论行情向上还是向下,只要有大波动就能赚钱,因此筛选平常波动率较高的品种进行交易,提高交易胜率。
其实还可以加入跟踪止盈止损那些条件,但加进去的“新套路”并不是越多越好,要自己不断测试优化。
那什么时候可以离开『破』这个阶段了呢?
(1)『守』阶段的策略绩效(风险调整后的收益和稳定性)得到显著提升;
(2)你对提升优化策略的“新套路”有清楚的理解。
我个人认为,当同时满足这2个条件时,你就可以从『破』阶段脱离,继续向『离』阶段进军,你在『守』阶段的那个“策略”也升级为了一个“好策略”。
三.第三阶段『离』
假如你看了很多高手大神的量化策略,你可能心里会冒出这样的思考:
“他们的这些量化策略,都太神奇了,我怎么就想不到,当初这些策略是怎么被构思出来的呢?”
这需要进入到一个更高级的能力阶段:『离』。
『离』就是借用其他领域或其他量化策略的模块,发现和创造更多新的量化策略。
年化91%的ETF轮动策略是从哪里来的呢?——借鉴股票和指数择时中的阻力支撑相对强度(RSRS)策略,外加波动率筛选交易品种。
期货日内的三角形交易策略是从哪里来的呢?——借鉴股票市场缠论中的底分型和顶分型形态,外加海龟交易法则中的ATR。
WOBV策略是怎么来的呢?——借鉴传统的OBV指标,外加K线实体和影线的计算。
Coin圈的搬砖策略是从哪里来的呢?——借鉴传统证券市场上的跨市场套利。
from 知乎:quantkoala
其实绝大部分创新的本质都是“积木式创新”,太阳底下没有新鲜事,新鲜的事物可能就是旧事物的排列组合。
在这个阶段,我们培养『离』能力的方式就显而易见了,有以下步骤:
(1)研究大量的量化策略,把每个量化策略拆解成不同的量化模块(例如品种选择、入场规则、出场规则、仓位控制等模块);
(2)脱离量化策略,只看量化模块,把每个量化模块理解深入和打磨精通;
(3)把每一个打磨精通的量化模块,作为自己的趁手兵器,收入自己的量化策略兵器库当中;
(4)遇到新的交易机会,从量化策略兵器库当中,找到合适的兵器组合,做积木式创新;
(5)在不同的交易领域,打造一些独门策略兵器。
我的量化策略拆解经历可以参考之前的文章《如何打造「量化策略兵器库」,策略开发效率提高10倍?》
当你有了足够多的量化兵器,并且其中有独门策略兵器的时候,你就达到了『离』的境界,这个时候,你就可以通过积木式创新源源不断产生许多好策略了。
四.全文总结
本文讲述了运用“守破离”心法口诀,真正利用好高手大神的量化策略和交易经验,帮助自己源源不断开发出好策略。
『守』阶段:空杯心态,没有偏见,别人怎么说我们就怎么做,开发出一个策略
『破』阶段:2种方式,做得比别人好,或者做得跟别人不同,开发出一个好策略
『离』阶段:拆解策略,积木式创新,量化兵器排列组合,源源不断开发出好策略
参考资料:
百度百科,2021,《守破离》词条。
蒋小华,2017,《守破离——如何成为一个精进的人》
古格里‧祖克曼 ,2020,《洞悉市场的人-量化交易之父吉姆‧西蒙斯與文藝復興公司的故事》
END
如果对本文有疑惑,或是想聊聊
亦或是围观朋友圈当点赞之交
点我,让我们一路同行
吃瓜吐槽写代码
(微信号:iquantman)
继续阅读
阅读原文