
交易开拓者
-
2023年3月2日发(作者:辽石化教务处)量化交易软件python_⽤python实现量化交易
先可以试试⽤掘⾦量化的平台,有免费版,不能交易,可以实盘模拟。平台做的不错,能想到的,⼈家都想到了。我们玩⼉熟了,然后
做了⾃⼰的python平台,很多地⽅参考了掘⾦
找⼀个开源的项⽬,zipline,algotrader什么的,作为开发的基础。原则是,第⼀这个项⽬⼀定要active,有⼈⼀直在维护,⾥⾯的功
能设计要全⾯,同时可扩展性强。有⼀天你要增加新的功能的时候,就会发现当初选⽤⼀个很难扩展的框架是多痛苦。第⼆就是性能,你
要⽤这个系统来做回测,⼀定要快快快⼀个策略,从想法诞⽣,到测试买⼊卖出点的合理性,到你开始样本外的移动测试,蒙特卡洛
模拟,单就⼀个策略idea,你起码测试10-100K次。如果你要把这个idea不断演化,回测测试起码再乘上个n倍吧。如果⼀次回测超过
半分钟,你⾃⼰算算测⼀个策略要多久吧。结果是,我们⾃⼰做了3个回测系统:初级回测系统基于vectorized的⽅法,忽略⼀些复杂
交易要素,极⼤提⾼运算速度。回测速度在秒级(针对>100K数据点)。中级回测系统考虑了所有交易要素,模拟精准度很⾼,回测速度
在分钟级,主要⽤于筛选过后的策略。最后⾼级回测系统其实就是交易系统,可以⽤历史数据回测,或者直接切换到实盘。这个主要⽤
于模拟实盘交易跟踪策略。我们的策略可以⽤简易的脚本构建,可以在3个回测系统⾥⾯⾃如的切换
实盘交易系统:这个其实没有必要说太多,前⾯的回测系统做好了,才是第⼀步。基于世⾯上有的CTP接⼝,就可以搭⼀个实盘交易系
统。问题是,⼀定要确保⼏件事⼉。1.你的回测系统跟交易系统的误差要⼩,要极⼩。抛开下单成交问题,两个系统所有的单据,统
计,买卖点触发时间,等等这些地⽅,⼀定要⼀致。这些可以缩减的误差⼀定要去除。2.成交,模拟环境不可能达到实际交易情况,
如果你⽤限价单,⽌损单的话,在模拟情况下成交,在真实情况为未必成交。我们的回测系统要尽可能贴近交易系统。
数据:是个⼤坑。1分钟bar历史数据,⼤家可以去交易开拓者上下载,免费⽽且质量很好。实时数据我们⼀直⾃⼰在下载着,tick数据
⽣成bar数据,⾥⾯的⼩坑⽆数。不过细⼼解决不是⼤问题。我们⾃⼰实时⽣成的1分钟bar数据跟开拓者的⼀致,。