知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】

_原题为 量化投资中 , 计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
引言:
邢不行的系列帖子“量化小讲堂” , 通过实际案例教初学者使用python进行量化投资 , 了解行业研究方向 , 希望能对大家有帮助 。
个人微信:xbx9585 , 有问题欢迎交流 。
量化投资中 , 计算技术指标时常见的8个坑 知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
文章图片

这是邢不行第49 期量化小讲堂的分享
“我自己计算的指标 , 跟同花顺给出的指标值差别很大 , 这是什么情况?”
“talib计算的指标和很多主流平台也不一样……很好奇参数相同为何差别这么大?”
“有人算过macd指标吗?算出来和wind提供的数值相差有点多呀 。 ”
知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
文章图片

以上问题都来自我量化课程答疑群里的小伙伴 。
我们在做量化交易的时候 , 经常会自己编程计算一些技术指标 。 计算完之后为了验证准确性 , 会和行情软件上的数据进行对比 , 此时往往会发现有差别 , 就会产生以上的疑问 。
那么这些差异 , 是什么原因造成的呢?我们应该采用什么样的应对措施呢?本文就列举了几个常见错误 , 来帮大家避免这些问题 。
知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
文章图片

如果你是根据股票数据计算指标 , 第一点需要注意的是 , 你的股票数据是否经过复权处理 。
在股票市场里 , 因为分红派息、拆股送股等原因 , 股价会发生异常变化 。 为了消除这些异常变化 , 大家往往会对股票数据进行复权处理 。
以下是亨通光电这个股票的原始价格和复权之后的价格 。 可以看出 , 原始数据的K线图中有一个巨大的缺口 。
知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
文章图片

亨通光电原始数据
知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
文章图片

亨通光电复权后的数据
针对这样的股票 , 我们在计算指标的时候就要特别留意:我们自己使用的数据是否进行了复权 。 如果你的数据没有复权 , 而行情软件使用的数据复权了 , 那么自然计算出来的技术指标的结果是不一样的 。
知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
文章图片

另外 , 即使你保证了你的数据和行情软件一样 , 都经过了复权处理 , 但你还要注意:你们的复权方式是否一样 。
因为其实复权方式有不同的计算方法 。 举个简单的例子 , 股票分红之后会进行扣税 , 有的复权方法会计算扣税 , 有的却不会计算 。
即使同样是行情软件 , 复权方法都会不一样 。 以下是2019年2月28日贵州茅台这个股票在通达信行情软件和大智慧行情软件的数据对比:
知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
文章图片

贵州茅台在通达信行情软件
知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
文章图片

【知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】】贵州茅台在大智慧行情软件
从图中我们可以看到 , 同样的股票、同样的日期、同样的后复权 , 但最后的数据却不一样 。 这其实就是两个软件计算复权的方式不一样导致的 。 感兴趣的可以扒扒它们的计算公式 , 或者加我微信xbx9585交流 。
所以我们要特别留意自己数据的复权方式 。 如果你的数据和行情软件数据的复权方法不一样 , 那最终计算出来的技术指标肯定是有差别的 。
知识科普|量化投资中,计算技术指标时常见的8个坑【邢不行|量化小讲堂系列49-实战篇】
文章图片

除了复权之外 , 我们还要留意股票数据的完整性 。
很多技术指标 , 即使用的数据一样 , 但如果你开始计算指标的时间不一样 , 最终结果也会差很多 。
比如当你刚打开行情软件的时候 , 由于网络等原因可能导致股票数据加载不完全 , 它上面显示的技术指标可能是从6个月之前开始算的 。
但是你自己的数据是从6年之前开始计算的 , 两者的开始时间不一样 , 这种情况就会造成某些技术指标的结果不一样 。
当然也有可能是你自己数据比较短 , 只有最近一部分时间 , 这样也会造成和行情软件的不一致 。
所以 , 当自己计算的技术指标与交易所显示的不同 , 那我们要去注意一下两者的数开始时间是否一致 。


推荐阅读