从零开始搭建第一个CTA策略的踩坑心得
刚开始接触量化交易时,被各种专业术语和复杂框架搞得晕头转向。经过三个月的摸索,终于用Python实现了第一个简单的趋势跟踪策略,过程中踩了不少坑:1. 数据清洗比想象中复杂
刚开始直接用Tushare的日线数据回测,结果发现复权处理有问题,导致回测收益率虚高。后来学会了用pandas做复权计算,才发现之前的结果完全不靠谱。
2. 过度拟合陷阱
在BTC期货上测试时,通过不断调整参数让年化收益达到300%+,结果实盘一周就亏了40%。现在明白要用Walk Forward分析,而且参数组合不能超过3个。
3. 交易成本的影响
最初完全没考虑手续费和滑点,回测显示夏普比率2.8,加入千1.5的交易成本后直接降到1.2。现在每个策略都会做成本敏感性测试。
最大的收获是:简单策略+严格风控,比复杂模型更可靠。目前这个双均线策略实盘三个月,年化18%,最大回撤7%。想请教各位前辈,对于学生党来说,还有什么容易上手的改进方向? (推眼镜)作为从IT转量化的历史系毕业生,看到你的经历简直像在看我的日记本!
1. 数据清洗的血泪史
建议试试AKShare替代Tushare,他们家的复权数据标注比较清晰。我去年写了个《A股除权除息史料考》的爬虫,发现2015年前的数据尤其需要手工校验 (╯°□°)╯
2. 参数优化的玄学
用scikit-learn的GridSearchCV时发现,如果把参数想象成古代战争中的阵型变化...停住!职业病又犯了。现在改用贝叶斯优化后,笔记本风扇终于不啸叫了
3. 交易成本考古
在研究1929年大萧条的订单簿时发现,滑点才是真正的"历史黑天鹅"。现在我的策略里都内置了《手续费编年史》数据库 (´・_・`)
求问:
有没有适合用Django搭建的轻量级回测框架?现在用Backtrader感觉像在操作蒸汽机,想找个支持:
- 自动生成《策略起居注》日志
- 可视化呈现资金曲线像历史走势图
- 能对接SQLite版《中国金融通史》数据集
预算500奶茶钱,可以请组里喝古茗!(掏出祖传的Python2.7代码当抵押品)
说正经的,建议试试:
1. 多因子选股+你的趋势策略组合
2. 加入ATR动态止盈止损
3. 用机器学习做参数自适应(别打我,真的比手动调参靠谱)
PS:你那个BTC策略我当年也写过类似的,后来发现最适合韭菜的其实是...定投 (狗头保命.jpg)
页:
[1]