走得异常艰辛的量化之路

策略模拟

        今年回成都,无意中和老肖吃了个饭,聊了很多,无意中聊到了股票,币,早些年在股票上,我尝试过做量化,但没有赚到钱,由于当时过于自信,策略中用到了未来函数,也没有进行充分的测试,简单跑了个模拟盘,就真金白银投入全部积蓄上实盘,导致实盘交易出现巨额亏损,现在想想还是当时太年轻,太冲动,并且赚钱心太急。导致自己为这个冲动和错误买单。最多的时候50多万的本金,亏了30万。。并且其中有一部份钱还是贷款来的。后来我修复了程序员的问题后,再跑模拟盘,虽说也能有收益,但怎么跑都难以达到10%以上,并且由于股票的手续费限制,为了降低交易成本,每次交易至少要1万左右。。当时也很傻,甚至都没有考虑仓位的控制。想想自己那点钱,也交易不了几只股票。并且收益也不高,国内也不合法。交易所没有提供api接口,所以就放弃了。

        之后在很长一段时间内,都没有再做量化的想法。因为我觉得这条路走不通,于是把赚钱的希望转到了游戏上,3年时间,折腾了不少游戏。每次有个新想法都想立即去实现,自己业余时间几乎也全部投在了游戏上。但最终结果也不怎么样,经过几年时间的折腾,游戏开发的技术到是都有了。程序上完全能hold住。但美术视觉上的东西,我实在没有能力去解决。花钱太贵,风险太大,不花钱又达不到自己想要的效果,合伙人也找不到,极不靠谱。眼看自己离35这个年龄越来越近,上有老,下有小,老婆也没赚钱的能力。自己感觉到了前所未有的压力。在阿里也干得不爽,特别内卷,我这种性格内向的人也不适合呆里面,于是今年就辞职出来了。

        其实在回成都后,我入职的是一家游戏公司,钱虽然少了点,但人确实轻松不少,也少了很多压力。我觉得还是值的。但好景不长,刚上了5个月班,不到半年,公司就关闭成都的业务,成都同事集体找工作,我之前想的,这公司也不算小了,我在里面怎么也能混个2,3年吧,实在是人算不如天算,一夜之间就失业了,当时感觉像晴天霹雳,整个人都是蒙的,那一刻我更加深刻地意识到,程序员这个职业的辛酸,没干这个人羡慕你的这个工资,当你真正了解这个行业,这个职业后,你就会感觉到厌倦。刚回来的时候,我业务时间的工作重心依然在游戏上。也没有想到还要搞点其他的。因为其他的我也不会了。我当时的认知就是,我能利用我自身的优势就是编程。干了这么多年程序,又杂,各种技能还是要用起来的,这也是我相对其他程序员的优势。其他程序员大部份只会一门语言,要么只会前端,要么只会后端,我可能是极少数的程序员各种开发通吃的。前端,后端,客户端,这些年没少折腾。所以我觉得游戏对我来说唯一的门槛就是美术了。。我也想好了要做什么类型的游戏。我入职游戏公司就是为了积累这方面的经验。认识一些这方面的人脉,以图大业。当时也没想别的,也没想太多。直到和老肖的那次吃饭,改变了我的方向。

        人生有时候就是这么偶然,如果没有那次吃饭,我可能还一直在游戏上面挣扎,说实话,我也想不到别的赚钱的法子了。当时他就那么随口一说,叫我试试看,我说搞量化需要大资金,资金小了,搞不起来,他说他有,几百万还是能拿出来的。我当时其实也不是特别想弄。但吃了他一顿饭,而且他也说他有资金。我回家后,思想斗争了两还,还是决定试试看。为什么会思想斗争呢,因为当时我在做游戏。脑子里整天都是游戏,没想过要做别的。因为自己业余 时间有限,如果再去弄点别的,就没时间搞游戏了。所以当时对这个事情还是有点排斥。


自己想了两天,了解了一些币圈的基本知识,最重要的就是手续费,这个是量化交易非常重要的因素。有几点非常重要:

  • 全球交易,不受哪个国家的政策影响
  • 24*7持续交易,不受节假日影响,没有休市一说
  • 交易没有最底数量限制,其实也有,不过相当低,相对于股票每手必须100股来说,相当于没有了
  • 交易手续费低,且单笔没有最低手续费限制,这就相当有优势了,不像股票,万3的手续费,最少5元起步,还有印花税,所以交易成本这方面,还是比较低的
  • 各大交易所都提供了交易api,通过api key可以直接调用,这个也是相当不错的,股票就相当麻烦。个人根本没有api可用。
  • 没有复权一说,数据准确,有利于分析,股票由于有分红,合股的影响,会有复权这么个骚操作,这是最大的坑,很多新手不知道这个,就会死在这个上。别小看这个,这个对量化分析来说,影响相当大,也导致各种平台拿到的数据都不一样,你很难确定哪个数据是准确的,这对量化分析来说是致命的,极有可能你模拟盘跑出来效果极好,但实盘就挂,作为个人,没有专业的团队,也没有精力去核对和修正这些数据。

综上优势,我觉得这些特点,太他妈适合做量化交易了, 于是思考再三,决定放下手中的工作,投入到量化试试。其实刚开始也没抱多大的希望。

        刚开始的时候,我用股票的思维去做币的量化策略,调了几个参数,都没满意,要么就是能获得很高的收益,但同时带来的风险也是极其巨大的。一度陷入了绝望中,当时也就是看看结果,没有想到利用图表来辅助分析,后来为了让结果更利于理解分析,我加入了图表来辅助,刚开始是一个图,慢慢有了感觉,觉得加上图表分析后,直观很多,自己能一眼看出收益的好坏。但刚开始比较弱,用的是excel,做的图表,每次都要转换,非常麻烦,模拟一次策略,需要花很多时间,后来我就想,我可以把数据生成图表啊,然后就用上了自己的前端技能,每次生成的中间结果数据通过api提供给前端图表,效果非常好,不仅降低了负担,还提供了交互。查看也非常方便。有了这些技术手段后,我又增加了彩色日志,更多的指标,全方位去评价一个策略的好坏。通过这些手段,使得我寻找策略的效率大大提升。最终通过无次的尝试,我找到了还算可以的策略,保底也有100%的年化。心里非常开心。就打算用实盘小试一把。

        做实盘开发的时候,也是相当不容易,想得太天真了。我觉得做个行情查询,然后接平台的买,卖就行了。因为模拟盘基本也是这样的,但真正操作的时候,发现还不行,必须增加取消。还要能处理各种异常情况,要考虑的东西实在是太多了,原本计划一个星期搞定的接入,最后搞了差不多有3个月,中间是无数次的bug修复,策略优化和调整。每天观察实盘数据,天天思考,都能发现优化空间。发现了之后,又要重新去设计策略,计算指标,来验证这个优化是否可行。大多数时候是空欢喜一场,因为你觉得的优化其实并没有什么卵用,也有惊喜的时候,有时候觉得这个优化可能不怎么样,但实际上效果却非常好。这可能也有些运气的成份。别人只会看到你走出来的成功那条路,但只有你自己知道,你为了走出这条路,其实还走了99条失败的路,走到了悬崖边上。一步之遥,可能就会陷入万丈深渊。成功背后付出的艰辛只有自己知道。

实盘收益情况

实盘成交历史

        到今天实盘跑了也有一个多月了,大大小小的优化不说几百次,几十次肯定是有的,结果还算满意,跟模拟盘高度一致。我觉得我离财富自由不远了。现在找工作上班心态也不一样了,非常佛系。啥都无所谓了。

上天把机会只留给有准备的人