tusharepro接口的复权处理

tusharepro接口的复权处理

Tushare Pro接口的复权处理涉及多个细节,正确获取和处理复权数据对后续的因子搭建和策略分析至关重要。以下是对Tushare Pro接口复权处理的详细解析:

复权因子接口

Tushare Pro提供了专门的adj_factor接口,用于获取复权因子数据。

以标的301356为例,在0613这天出现10派8的派息,通过adj_factor接口可以获取到该标的从上市开始到指定日期的复权因子。

复权因子通常随着派息、送股等操作逐次叠加,一般是越来越大。

通用行情接口中的复权处理

在通用行情接口pro_bar中,可以通过设置adjfactor参数为True来获取复权数据。

需要注意的是,adjfactor参数默认是False,所以需要额外设置成True。

复权参数adj只有在设置为qfq(前复权)或hfq(后复权)时才会返回复权数据,在不复权时,即使adjfactor=True,依然不返回复权数据。

复权前后的数据对比

以标的301356为例,比较前复权、后复权、不复权的效果。

从收盘价看,因为该标的只派息送股过1次,所以复权之前不复权=后复权,复权之后不复权=前复权。

但看volume和amount的数据,会发现问题。volume是成交量,以“手”(100股)为单位;amount是成交额,Tushare中以“千元”为单位。

amount当然是平滑的,但volume和股价相关,在复权前后应该出现阶跃。例如,同样是每天成交一个亿,如果价格因为送股腰斩了,那么volume应该翻倍才对。

验证复权处理

用前复权接口取数,用vol乘以当天收盘价,理论上应该和amount相当。

但复权日以前的数据,可能会发现不一致的情况。这可能是因为Tushare接口的出参vol,无论入参adj设置qfq还是None(即不复权),输出的都是复权后的vol。

这与东财客户端的显示方式一致,可能Tushare调用的就是Eastmoney API。

实际操作注意事项

如果下载全量数据并用作回测分析,那么价格、成交量都用qfq(前复权)数据即可。

如果是为了实盘,每天需要更新当前全量数据,那么在后处理过程中,vol需要乘以复权因子。保险起见,可以都用amount数据,这样一定不会出现问题。

数据获取

文章中提到的所有数据都是从Tushare Pro接口获得的,用户可以注册免费获取。

综上所述,Tushare Pro接口的复权处理需要仔细设置参数,并注意复权前后的数据变化。在实际操作中,应根据需求选择合适的复权方式,并注意处理volume和amount等关键数据。

标签:tusharepro,复权,接口