当前位置: > 财经>正文

量化交易2年半,我做了什么 期货公司债券交易员好做吗知乎文章

2023-07-27 20:54:05 互联网 未知 财经

量化交易2年半,我做了什么

入门缘由两年半的经历学到了什么 为什么写这些入门缘由

我是从17年下半年开始接触量化交易的。

上一个创业项目失败后在家迷茫带娃,跟同学聊天无意提到“量化交易”这个方向可以尝试,于是跟另一个小伙伴搭档开始摸石头过河的旅程。

由于我在10年前读书的时候写过代码,于是我主要就负责所有代码相关的事情,而小伙伴负责钻研交易策略,从零开始坚持到现在(2023年初),中间断断续续去掉大概1/3的时间带娃(两人都是奶爸),剩下都是全职投入。

现在回过头来看,我们这应该是犯了很多劝退忠告的大忌了:没有经验、没有稳定收入支撑、妄想暴富等等。

这个过程确实很艰苦,这是个高投入但是难有回报的事情,但是想想这个世界上哪有什么是低投入高回报的事呢?

两年半的经历

开始大概花了一个月自学python,了解python的基本用法,基本可以用pandas做简单的指标计算。

之后通过度娘了解什么是“量化交易”,再接触到米筐、掘金、优矿这些互联网量化交易平台,开始了解量化交易的一些基本概念,知道什么叫“回测”、什么叫“滑点”,也听到这个行业里好多暴富的奇迹故事,真是激励人心。

由于对期货市场也是一片空白,为了快速入门,中间还抽时间考了期货从业资格证,算是知道了期货是什么了 。

在了解到量化交易做CTA策略最广泛且最容易入门之后,决定从期货CTA这个方向入手,边看书边实践,这期间大概又是一个月的时间,终于可以在互联网平台上跑简单的双均线回测。

在那个时间点,我们是完全没有策略思路的,也不知道一个策略到底要做到什么样子才能够上实盘(其实连怎么上实盘都不清楚,只是模糊知道vnpy可以实盘交易),甚至策略应该是什么样子的都不知道。

但这都不是事,抄一个就完了。

所以第一个策略是从网上找的世外高人用文华写的一个名字很牛逼哄哄(具体忘了,反正有种倚天一出、谁与争锋的感觉)的策略,用的是MACD和KDJ指标,MACD金叉死叉做交易信号,KDJ做过滤。

费了老大劲终于在掘金平台上跑起来,试了几组参数,发现都不行,就此得到2个启发:

策略就是组合一下指标而已嘛!自己搞策略!网上平台回测实在太费时间了!自己搞回测!

策略是应该自己搞的,回测自己搞真是挖了一个大坑,这中间的心酸血泪实在太多了。

终于又花了一个月的时间,自己搞的策略在自己的回测系统里面跑出了年化30%的收益曲线,啥都不说了,上实盘吧!

半个月过去,VNPY才终于连上模拟盘。

不管怎样,在2018年元旦后,我们的第一个策略在vnpy上跑起来了,2W资金直接上实盘(是的,没有经过模拟盘直接上实盘!),到2月份农历新年前,资金最高时达到3W5。

前后只花了半年时间盈利75%,当时就觉得真是功夫不负有心人,走路都是飘的,讨论的话题都是X5和卡宴哪个更好,定的目标是18年7月就要开始拿牌照做基金。

等到了18年7月,这个策略的坟头草都3.1415926米高了,午饭都不敢吃烧鹅腿,点个苦瓜炒鸡蛋可以便宜8块钱。

18年初还差点搞了个大乌龙,开发了一个多周期配合的策略,回测结果种项指标都堪称完美,最后在准备上模拟实盘验证的时候才发现回测用了未来信息,白白浪费了一个多月的时间。

整个18年下半年,实盘策略用的就是以MACD为基础的改进策略,实盘上资金曲线基本就是围绕着躺平线上下波动做均值回归,当时的心态是没再往下亏就当是赚了,还是挺乐观的,也没费太大的心思。

两个人主要的精力基本都在研究新策略和改进系统,都不记得到底测试了多少种指标思路,回测的数据文件加起来都有几百个G,最终自己鼓捣出一个新指标,以此为基础又做了一个策略。

19年开始决定两个策略一起上,品种只做RB和J,想要尝试双策略配合做仓位控制,结果证明这种想法的后果是灾难性的,19年初黑色系行情震得我们找不着北,到了19年4月份回撤已经到了20%,只能又把策略停了,高潮都没有,直接到低谷。

好消息是这时候新的策略出炉了,基于之前的失败经验,放弃了使用指标交叉的思路,改为通道突破型策略。新策略的回测结果比之前的几个老策略都要好,品种适应性也更强,在多数热门品种上都有一战之力。

于是从4月底开始实盘就只用最新的策略,同时吸取之前仓位过于集中的教训,交易品种增加到10个左右,降低了各个品种的仓位比例,希望能够通过多品种摊风险。

终于在下半年抓到了一波铁矿和一波PTA的行情,账户翻红,胜利就在眼前。

多品种的好处于在市场有机会基本上都不会错过,而且因为每个品种的仓位比例不高,不会因为某个品种的亏损导致过大回撤,资金曲线相对更平稳。

但是市场有句话叫盈亏同源,这两个好处同时也隐含了两个缺点,就是市场上各种坑基本上都会踩到,而且因为每个品种的仓位不高,所以即使抓到行情,最终收益也不会太高。

为了解决这两个问题,我们认为交易策略还需要再做两个改进,一个是增加品种选择策略,动态调整交易品种,争取多吃鸡腿少踩屎,另一个是要引入加仓策略,以使小仓位抓到行情时能够放大收益。

从19年下半年开始就一直在朝这两个方向努力,至今还没有成熟的方案,只能边尝试边改进。

学到了什么

市场是个非常严厉且不负责的老师,收了学费却只上自习课,唯一会做的就是在你做错题的时候叫你出去门口罚站,甚至还要喊家长过来补交学费。

慢慢地我才知道老师用心良苦,门口的冷风会很快让人冷静下来,想想自己错哪了,只有这样才能真正地学到知识。

我把这些昂贵的知识归纳总结成三个部分:交易策略、支撑系统和工作流程。

交易策略

现在算是形成一个我认为相对稳定的策略框架,但其实也不知道会稳定多久,我甚至觉得整个市场中并不存在稳定一词,所有的内容都是需要不断的演化改进。

目前策略核心还是比较单一,主要还是在用通道突破做趋势,虽然这两年一直在努力扩展其他方向的策略,但是一直不顺利,现也在基本放弃了,争取能做好一个方向已经不容易了。

人工干预的规则是在实盘运行中不断积累经验建立起来的,一开始也是秉承不干涉的原则,但是随着实盘的进行,会出现各种各样预想不到的问题,比如程序bug影响,外部极端事件影响等,这些都是需要人工进场干预的,严重的要停系统,或者降仓位,或者锁仓保本等。比如19年贸易战打得火热的时候,三天两头一个消息,一会利多一会利空,我们很清楚地知道我们的策略是无法应对这种复杂的局面,所以选择了停止豆粕、棉花这些直接受冲击的品种,其他品种也降低仓位运行。

支撑系统

为了支撑整个策略的研究和实盘交易,慢慢搭了一套支撑的软件系统出来,基本能支持从策略开发到实盘交易再闭环改进的过程。除了实盘是用开源的VNPY外,其他的都是靠自己手撸出来,虽然过程很困难,工作量也不小,但是自己搭一个回测系统好处多多,使用起来更灵活。

其实系统成熟后回测只是占策略开发中很小的一部分工作,基本都是系统自动测试,最主要的工作量是花费在研究和分析上面,无论是策略开发前期的行情和指标分析,还是中期的参数优化,后期的回测结果分析等。在这个过程中把常用代码慢慢积累起来,再用一个可视化框架(PyQT)包装一下,形成一个分析研究的系统,虽然没有什么架构设计可言,自用需求还是基本可以满足。

工作流程

量化交易的第一步自然就是研究出一个正期望收益的交易策略,然后将这个策略对照历史行情数据进行回测分析,并根据回测结果不断进行优化,最后得出一个满意的策略模型,就可以投入实盘交易。

在正式的实盘交易之前,还要进行模拟实盘交易,模拟交易对接的是非真实的资金账户,其余跟真正实盘是基本一致的,可以在正式实盘前对策略做最后也是最贴近实际情况的检验。

最后在实盘交学费抹眼泪的同时,把“惨痛教训”反馈到策略开发中,对策略模型进行优化,完成一个完整的循环。

这样一个工作流程看起来简简单单没什么内容,但对于我而言,这才是最重要和最有价值的收获。从零开始一项工作,最怕的不是遇到问题不知道怎么做,而是不知道去哪里找问题,不知道要做什么。在建立了这样一个流程框架之后,才可以有计划性地安排一些工作,效率更高,出现什么问题也没那么迷茫了。

为什么要写这些

闭门造车实在太寂寞,我想有个地方可以把我们所想、所做、所经历的事情写下来,希望能够有人看到,可以好好交流一下。

我会把上面提到的策略、系统和流程这三个部分的内容都详细写出来,希望对于同样学习入门的朋友可以提供一些参考借鉴,更希望经历过的前辈可以多批评指导,省下来的学费请你吃烧鹅腿。

因为我本身是主要负责系统和流程这两块的工作,所以会侧重写这两方面的内容,重点是踩坑的经历和成果,包括怎么快速搭建本地的行情数据库,自己做回测有什么细节注意,怎么提高回测和实盘的一致性,VNPY一些必要的功能改进等等。策略方面只说一些我知道的必要知识,因为毕竟我们的策略也没赚到钱,没多少东西好说的。

当然这些都是一家之言,并一定就是正确答案,仅供参考。

就这样吧,希望能够尽快憋出

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。