野生交易员的试炼之路

其他

20行Python搞定可转债回测

最近有几位朋友对python回测感兴趣,于是抽时间写了个教程。本文基于自己的粗浅理解,不能保证完全正确,有错误的地方欢迎指出。我们常见的回测框架分两类,一类是事件驱动的,这类回测对开仓点、平仓点要求比较精细,一般要用到分钟级的K线数据,要求高的甚至要用tick级别的数据,回测过程需要对历史数据进行逐条遍历,相当于对交易环境做了一遍仿真模拟,这类回测精度较高,计算量较大,一般适用于周期较短、对交易成本较敏感的策略。第二类是通过矩阵运算直接得出答案,优点是计算量小,对数据要求低;缺点则是计算过程不够精确,无法处理精细的开平仓细节;适用于日线以上周期,对交易成本不敏感的策略回测。本文要介绍的简单方法属于第二种。一般地,我们可以把一个策略回测概化成一个简单模型,输入是收益率矩阵和策略信号矩阵,输出则是策略的收益序列。对于任何一个策略,我们只要找到投资标的的历史数据,算出收益率矩阵和信号矩阵,就可以简单地得出收益序列。下面以双低转债的回测为例,做一遍实操。首先,我们需要找到可转债的历史数据,数据里必须包括价格、溢价率,怎么获取历史数据不是本文的重点,我们先假定已经有了本地存储的历史数据,只需做个加载。import