楼主: jianboxue
25663 9

[程序化交易] 用python实现量化交易 [推广有奖]

  • 2关注
  • 6粉丝

贵宾

硕士生

44%

还不是VIP/贵宾

-

威望
0
论坛币
57632 个
通用积分
313.3404
学术水平
14 点
热心指数
19 点
信用等级
19 点
经验
1283 点
帖子
59
精华
0
在线时间
265 小时
注册时间
2007-12-12
最后登录
2019-6-26

jianboxue 发表于 2016-12-19 18:03:29 |显示全部楼层
本帖最后由 jianboxue 于 2017-3-2 13:58 编辑

自己在知乎上写了一篇小帖, 跟大家一起交流

作者:薛剑波
链接:https://zhuanlan.zhihu.com/p/24448511
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

自己的一个小团队, 用python从头到尾搭了一个交易平台, 从数据到回测,到模拟仿真到实盘交易, 折腾了大半年, 基本该填的坑都填上了。 小团队做自动化交易,不容易,跟大家分享一下:
  • 先别想着策略, 先把平台搭好。 最好的平台,还是自己搭的平台。为啥?你自己得对里面的所有细节有把握, 自己做一遍最清楚。 同时未来想扩展, 自己可以改。 人家做的好系统, 一方面是不会给你用的, 另一方面或多或少很多地方是跟你的要求不相符合的。
    • 先可以试试用掘金量化的平台, 有免费版, 不能交易, 可以实盘模拟。 平台做的不错, 能想到的,人家都想到了。 我们玩儿熟了, 然后做了自己的python平台, 很多地方参考了掘金
    • 找一个开源的项目, zipline, algotrader什么的, 作为开发的基础。 原则是, 第一这个项目一定要active, 有人一直在维护, 里面的功能设计要全面, 同时可扩展性强。有一天你要增加新的功能的时候, 就会发现当初选用一个很难扩展的框架是多痛苦。 第二就是性能, 你要用这个系统来做回测, 一定要快快快!!! 一个策略, 从想法诞生, 到测试买入卖出点的合理性, 到你开始样本外的移动测试, 蒙特卡洛模拟, 单就一个策略idea, 你起码测试10-100K次。 如果你要把这个idea不断演化, 回测测试起码再乘上个n倍吧。 如果一次回测超过半分钟, 你自己算算测一个策略要多久吧 。 结果是, 我们自己做了3个回测系统: 初级回测系统基于vectorized的方法, 忽略一些复杂交易要素,极大提高运算速度。回测速度在秒级(针对>100K数据点)。 中级回测系统考虑了所有交易要素, 模拟精准度很高, 回测速度在分钟级, 主要用于筛选过后的策略。 最后高级回测系统其实就是交易系统, 可以用历史数据回测, 或者直接切换到实盘。 这个主要用于模拟实盘交易跟踪策略。 我们的策略可以用简易的脚本构建 ,可以在3个回测系统里面自如的切换
    • 实盘交易系统: 这个其实没有必要说太多, 前面的回测系统做好了, 才是第一步。 基于世面上有的CTP接口, 就可以搭一个实盘交易系统。 问题是, 一定要确保几件事儿。 1. 你的回测系统跟交易系统的误差要小, 要极小。 抛开下单成交问题, 两个系统所有的单据, 统计, 买卖点触发时间, 等等这些地方, 一定要一致。 这些可以缩减的误差一定要去除。 2. 成交, 模拟环境不可能达到实际交易情况, 如果你用限价单,止损单的话, 在模拟情况下成交,在真实情况为未必成交。 我们的回测系统要尽可能贴近交易系统。
    • 数据: 是个大坑。  1分钟bar历史数据, 大家可以去交易开拓者上下载, 免费而且质量很好。 实时数据我们一直自己在下载着, tick数据生成bar数据, 里面的小坑无数。 不过细心解决不是大问题。我们自己实时生成的1分钟bar数据跟开拓者的一致,。
  • 交易回测系统的基础打好了, 问题没有了。 我们才能慢慢开始做策略系统, 做风控系统。
  • 给大家上一个我最近做的螺纹钢策略吧: 基于28分钟bar, 历史回测结果很好。 移动窗口优化分析结果比全样本内优化还好,为啥呢?因为这个策略几乎没有参数。 策略基本概念是基于区间突破, 当前close突破n天前的均值+m倍的标准差,就long或short。加了一个过滤器,CCI >0。 然后利用移动止损, n天前的ATR。 策略的概念其实很简单, 核心是回望窗口n天。 n不是固定值, 是实时根据当前市场的状态(波动性等等)计算的。 为啥用28分钟,不用30分钟, 或者20分钟? 我们发现螺纹钢到30分钟,1小时的时候波动很大, 应该有不少专门针对自动化交易(通常在30分钟,1小时出触发买卖交易)的特性, 拉动市场造成自动化交易止损,然后价格马上平复(我们过去吃了不少亏, 几个策略都是在这些时候被止损了)。 不能说太多了,说多了就不灵了。嘻嘻
屏幕快照 2016-12-19 下午4.50.47.png
屏幕快照 2016-12-19 下午4.51.48.png

只交易一手螺纹钢, 最大回撤2602块。 如果按照一手最大手续费3000, 加上2倍最大回撤5200, 本金需要大约8500块。 从2009到2016一共7.5年, 净收益75531, 900%收益。 交易次数不算频繁, 平均3天一次交易, 一次交易2天左右。 所以手续费不算大。
当然, 如果考虑到Position sizing, 这个策略收益可以放大很多, 当然风险也就很高了。大家都懂的。

策略2017年1月开始实盘交易(做了一手, 留出1万元本金),到3月2日, 净收益1590元, 以1万元本金记, 15.9%的收益(一共5周, 12次交易, 8次盈利)。 未来会陆续定期贴出该策略的实盘表现。




本帖被以下文库推荐

stata SPSS
576579442@qq.co 发表于 2016-12-19 20:26:26 |显示全部楼层
厉害,加我qq576579442 详聊
回复

使用道具 举报

jianboxue 发表于 2016-12-19 21:26:22 |显示全部楼层
没有qq啊。 可以微信。
回复

使用道具 举报

jianboxue 发表于 2016-12-19 21:41:49 |显示全部楼层
没有qq, 有微信吗?
回复

使用道具 举报

sudagrape 发表于 2017-1-8 12:11:01 |显示全部楼层
请问可以加微信吗?
回复

使用道具 举报

ottawa613 发表于 2017-4-17 11:01:05 |显示全部楼层
Good try!
回复

使用道具 举报

lwell20 发表于 2017-4-19 08:49:56 |显示全部楼层
回复

使用道具 举报

kuhefeng1 发表于 2017-4-21 08:51:10 来自手机 |显示全部楼层
搞的很复杂……说明下了不少功夫…股票全市场测试过?
回复

使用道具 举报

kuhefeng1 发表于 2017-4-21 08:52:24 来自手机 |显示全部楼层
团队交易整体如何?不错可以加个联系方式…315600980……
回复

使用道具 举报

miyanan 发表于 2017-12-3 03:50:07 |显示全部楼层
不错不错1111111111111111
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2019-6-27 19:20