想搭一个量化交易系统,步骤是怎么样的?

论坛 期权论坛 期权     
期权匿名问答   2022-5-26 20:52   6062   0
本文核心目标是:给想单打独斗实现一个简单量化系统的朋友提供基础步骤和思想大菊观上的意见
对于个人单打独斗开发,所有长篇大论的系统描述都是不负责的,你会浪费大量的时间,个人作战直接决定了你系统质量的上限肯定不会特别高,所以核心建议就是删减不必要(非核心)的模块,忽略这些暂时不重要的细节可以让你快速看到阶段性成果,有阶段性成果你才会有毅力坚持下去,一个人开发我觉得确实非常孤独,所以隔断时间就能看到成果非常重要,另外我的系统设计思路是来源于b乎量化区的一个用户: @教父Kim 他有几节live是讲量化的,课很值得买,我的系统也是基于他伪代码做的实现。大家也可以去多支持他,绝对物有所值
重要提醒:我的系统是完全依赖k线的技术分析系统,不考虑其他因素,使用一分钟级别k线做数据源(都tm用程序化了,不做一分钟不是浪费了?那为啥不用tick数据?做tick成本太高了,个人开发难度和知识水平要求会大大提高,另外一分钟时间很短,你自己采集历史数据花费时间不用很久,就能达到统计分析要求的最小样本规模,综上,所以我选1分钟),短期也不考虑支持其他的交易方法如统计套利之类的,就是单纯做单策略单品种买入卖出靠价差决定盈亏这种类型的策略,这一切都是为了降低开发量,快速出成果。为什么按照这种方式做,因为我的交易哲学里认为:任何的交易获利似乎都对应着某种成功预测,这种成功的预测是概率性的,最简单的交易获利就是按照一种策略对某种标的进行买卖并赚取差价,如果能把这种最朴实无华的玩明白,其实也就够了,那种需要复杂验证流水线的,等你这第一版开发玩赚到钱了再说,不然再大的毅力,也会变成无聊,不如多陪陪家人。
在我的设计里,必要模块有以下几部分(我是开发了五个工程,可以缩减为4个,就是以下前五点):
1.(后端)历史数据实时采集,存储系统(这步基本上必须自己做,从外面的搞得数据大部分不靠谱)你需要写个循环去调交易所行情数据api或者通过类似于发布订阅式的让人家通知你。你采集的这些数据,会成为你回测系统的基础,没有这些真实的数据,你任何的策略模型都是扯淡
2.(后端)本地回测系统,简单的可视化,帮助策略debug和参数调试,主要是你要实现一套完整的支持多线程,模拟账户,模拟订单,止盈止损,回测日志的回测平台,你需要尽可能简单的去模拟真实交易,它就像工厂流水线一样,能快速生产和验证你的想法在历史数据里不同参数组合下的收益情况。
3.(后端)实盘支撑系统,包含对接交易所交易api和实时行情k线api,基本的运行策略监控,全局异常日志告警,这个系统推荐独立部署,给所有的策略进程提供数据获取和交易处理的服务。
4.(后端)一个策略模版工程,作为新策略的开发初始模版,通用模版需要可以方便你快速的将回测平台的策略代码移植到这个工程里,这个工程可以通过类似git这种版本管理工具的分支去隔离不同的策略,然后每个策略建议是一个单独的运行进程去对接实盘支撑系统,部署的时候拉不同分支代码即可
5.(前端)本地回测和实盘监控的前端可视化工程,我是基于vue,对回测结果做简单可视化,因为我前端较弱,所以实盘监控和回测查看写一个系统里了,这个前端系统需要回测时候连本地,外出的时候需要查看生产策略运行情况时,它会连实盘支撑服务去拿生产数据
6.非代码层面能力和必要工作
从策略设计到上线的工作流设计,包含代码管理,运维管理等,你需要具备基础的服务器部署能力,一台机器就可以起步
我个人是java+vue+linux一个人,4年开发经验,接触炒股6年,一个人完成了全套简单系统开发,大概3-5w行代码吧(可能包含了策略的代码),我开发的很慢一是因为没有人领路,相当于自己是产品经理,一边理需求,一边写代码,另外就是一开始掉入了过度设计的坑里,本来就是上班狗,只有下班周末有时间搞,啥都想做完美,一开始我想做高可用,做实时数据清洗,可视化想做牛逼点,各种完美高大上的东西,后来一两年都没啥实质进展,越做越不想做,转念一想,nnd我这暂时能有多少并发,宕机就宕机呗,反正是我自己的钱,又不是客户的,先把策略跑起来才是王道,后来我就把不必要的设计全部按照最低标准简化做了,大概花了4-5个月业余时间全部重构(之前大大小小的写了3-4遍,很乱),策略很快就上线了,然后就是遇到bug改bug,有些生产bug遇到先不改,除非严重到极点,不得不改,反正钱不多,就这样佛系的要求下,系统上线了2333,先跑了20个策略拿小钱测试几个月,看有没有大bug,没bug慢慢加钱,然后抽空写单元测试,遇到小优化点下班没事就优化一下,现在跑了一年了没亏有盈利(可能是因为运气),小资金很满足了,后面慢慢在加钱吧
稍微总结下:我的整体实现步骤就是1.先搭建策略研发流水线2.开发策略3.优化流水线4.学习更多模型去开发策略5继续优化流水线………
整体方法论:一切从简,不要为难自己,要有快速从0到1然后慢慢迭代的思维方式和大菊观
以我的认知和能力,现在就只知道能做这些
最后,就是希望大家搞量化能开心点,少走弯路,希望大家都能挣大钱
点赞多的话我抽空传架构图上来
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:400157
帖子:80032
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP