不论是对早期进入量化交易程序开发行业的前辈大神,还是现在正在踌躇满志我们来讲,在这个行业,我们所有人都是从零开始。
我们的统一目的都是想在量化交易之个行业下,做出一点成绩。
现在会搞程序开发的,就像会烹饪的一样多,水平有高有低,这个“厨师”合不合格,厉害不厉害,最终还是得食客说了算。换到量化交易行业从业者来说,最终赚不赚钱,或能不能哄老板开心说了算。
我一直认为做好一件事,或者新涉猎一个你原本不熟悉的领域,逃不开一个定律:
初入行业的头几年是打基础,接下来几年是开眼界,在第N个年份的时候最终融汇贯通的的过程。
整个学习过程中也完全遵循一个原则:
发现行业的规则与秘密,利用这些规则和秘密去达到自己的诉求。
所以,量化交易行业的初入者,不论你的目的是为了学得一门新技能,以期望可以进入自己喜爱的行业领域,又或者是为了利用所求得的程序开发知识,更好的服务于自己的证券交易体系。
个人认为,无一例外,踏入这一行业的整个学习过程,大致遵循以下几步流程:
打基础阶段:
在这个阶段,你需要掌握我们这个行业所必备的一些工具使用,如程序开发所需的语言基础,选择好python、C++或是其它程序语言路径。
量化金融工程开发比较偏向准确描述,易实现模型构想的角度,因此比较推荐强类型语言C++,虽然学习成本巨大,但翻开所有的券商的公开的程序开发接入文档规范,几乎都是统一地以C++为开发蓝本设计的,就不难明白此类语言的重要性。
在这个阶段,同样重要的基础知识学习,包含金融证券市场基础知识,投资分析方法类知识的学习,也是十分重要的。
我就曾经见过,一个转型而来的传统资深程序开发工程师(不曾炒股,不曾涉猎金融证券领域),在一个具体的金工项目面前抓瞎表示压力山大的情景。
比如他不知道涨停板是如何定义的,在具体开发过程中,就需要有人去给他解释涨停板的具体含义。另外一个原因,金融证券市场的数据类型大多为时间序列。与传统行业的数据工程相比,更为复杂。
如果在一名工程师的大脑当中,不具体具象化的知识图谱系列的话。那么整个开发工作过程难度是相当大的。
打好基础阶段,是为了了解这个行业必备的一些知识工具集的使用方法,找到其说明书,并熟练使用。
开眼界阶段:
在这个阶段,您对自己日日所练习的程序开发基础工具集包使用已经得心应手了,但除了日常的基础应用之外,或者说能熟练的复制抄同行作业之外,似乎并没有太大的建树。
这是因为,眼界的问题。
太长时间的沉浸工具包的使用方法研究,最终大概率会沦为工具的奴隶。为了解决这个行业痛点。
我是建议所有的行业从业人员,放弃闭门造车的方式,采纳开放包容的心态,多多了解几其它前辈是如何做的,作为前辈的您也需要了解现在的行业新人有没有用到具体的新技术或者新理念,这项技术是否具备颠覆性和可创造性,是否值得花时间投入学习。
只有见得多,才会对整个行业架构体系下的知识形成具象化的图谱。当需要用到某个您大脑当中的节点知识的时候,就像一个人进入庞大的图书馆,一定是在具备框架体系的藏书行为,才能方便您随时可能到来的查找翻阅。
随着从业时间的拉长,除了上述程序开发方面的知识应用得到拓展之外,金融领域相关的知识,也应该得到全面提升。
比如你此时大概已经知道了证券市场的从业机构有哪些,具体职能是什么。为什么择时的指数增强策略,能跑过不择时的被动持有。还有比如为什么某股票的定向增发会引起了股价大逆转。
金融事件的背后都是具备行为逻辑的,也就是受因果律左右的。搞清这些因果律,则是我们大多数从业者需要面对的课题,因为我们大多数的建模灵感、突破都来源于此。
纯数理方式的突破则是另外一个维度的事,那种数理方式层面的突破,需要的是对前沿物理数学有着得心应手的应用的学者,或者数理大家才能做到的事。
我们一般的普通量化交易研究人员,建议不要走错了方向,除非你本身都是斯坦福,中科大少年班之类的存在。
融汇贯通阶段:
很遗憾,从业至今,仍不得进此门。
但我坚信我们这个行业是存在这样的大知识图谱构建的人群的,至少我有曾见过一二名疑似这样的人。
我以为的融汇贯通,更多的是一种道与术相结合的理想阶段,量化为术,思想为道。各类理论知识了然于胸,因为曾经熟练使用,方才掌握得其要理。最主要的,这个量化交易行业有很多假设的不成立知识,我把其称为正在的“祼泳”的知识,只有经过实际亲身验证过的知识,才能知道其是不是“裸泳”。
因此,这个阶段的从业者,大多是一种“断舍离”,“与人无争”的阶段。此时的人应该知道自己的大脑容量上限,也知道自己的能力上限,不会去追求那些华而不实的理论知识。
就像小说当中,吐蕃国师鸠摩智来天龙寺抢夺六脉神剑时,假意用小无相神功催动的少林七十二绝技换取,大理天龙寺枯荣大师在此时询问正对七十二绝技起贪念的众师弟们,你们本家的一阳指练至几品?众师弟们方才低下头羞愧不已。
人生几何,知道自己所求,明确自己的态度,为了这个态度而固化的行为,方才是最为艰难的过程。