python还是c++量化_从Python到C++,对量化回测的一点思考

写在前面:

说实话,关于量化方面在网上的资料确实挺少的。感觉很多做量化的人都惜字如金,但其实这只能怪行业的特殊性,就像套利一样,一旦策略趋同,那利润也就越摊越薄。但我觉得这其实是一个悖论。除非是完全被知道了核心机密,其他部分即使互相知道了大致策略,具体参数如果不清楚,复现出来的也不一样。而就算知道了策略参数,如果数据清洗步骤不一样,回测逻辑计算不一样,实盘订单提交逻辑不一样,那最终结果也不太一样。这一步步都是环环相扣,不可分割的。而就算全部都一样,对方也要有足够影响市场的资金量,才能够侵蚀你的利润。当然我不是鼓励探讨策略,策略核心还是要保密的,只是其他方面互相分享分享,探讨交流,问题也不大。这一点要向无私的vn.py作者 @用Python的交易员 看齐。

人之患在好为人师,而我也只是在逐步学习中,实在也没有什么资格能指点江山。只想借助本文,再次稍微记录下自己的微小经验和学习过程,和喜爱量化的你一起交流探讨。

目录:

1. 最近自己又迭代了什么新功能?

2. 为什么实盘和回测结果不一样?

3. 为什么一定要用tick级别做回测?

4. 为什么要拥抱C++?

5. 从Python到C++的感受?

6. C++学习记录分享

7. 后记

1. 最近主要又迭代了什么新功能?

首先声明,回测框架的核心逻辑都已包含在最新版本的OnePy 2.1中,读懂了源码后应该已经足够能自己写出自己的框架了,所以不出意外今后应该不会更新。而自从上次更新之后,我自己又线下更新了许多新功能。部分功能主要都是参考 《Trading Systems —A new approach to system development and portfolio optimisation》这本书。

① 重新手写计算详尽的交易结果分析报告

之前OnePy 1版本的时候,其实就有这个逻辑报告。只是那时候是直接复制Pinkfish(Github上另一个回测框架)的代码库,照抄过来的,也没仔细看计算逻辑是否正确。这次全部都自己重写了一遍,对每个指标也有了更进一步的认识。

② 更详尽的交易报告

主要新增了每笔交易的run_up,drawdown和holding_period。便于后续分析策略结果。

③ 根据上述交易记录,画出每笔交易的散点图

感觉这张图特别好用。比如在自己策略逻辑中加入Trailing Stop,就可以看到原本分散的点变得和图中一样,倾斜成一条斜线,也能间接反映自己的回测逻辑是否有问题(比如加入Trailing Stop后,图没有缩成一条斜线,那就要考虑是不是哪里算错了)。这张图非常有利于手动做参数优化,并从微观层面分析每笔交易,比如像趋势策略,就有很多小亏损,但是盈利点都很高;是否有很多笔浮盈的交易最终都以亏损出场等。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值