【论文复现】- 基于北向资金流动的量化投资策略研究(一)
北向资金流动对指数涨跌的影响分析
数据获取
通过Tushare库获取北向资金数据,北向资金从2014年开始流入大陆。

尝试直接调取2014年到2022年底的数据
运行结果如下

通过for循环多次调用,cancat拼接
运行结果如下

写入本地
同样通过Tushare库获取沪深300指数数据,代码399300.SZ
。
获取时间范围和北向资金数据对应的指数数据
运行结果如下

写入本地
数据处理
对数据进行预处理,根据北向资金时间来筛选出沪深 300指数对应数据
读取本地数据
首先看一下数据格式
结果如下

只有north_money是需要用到的,dataframe的索引是默认索引,并且trade_date格式是int型,需要转换成datetime格式,设为索引。
处理后的北向资金数据如下

沪深300数据同理,文章主要考虑收盘价、涨跌和涨跌幅三组数据,收盘价这组数据由于起始开盘价格不确定,受此影响,会对后续的分析产生干扰;涨跌幅这组数据是通过涨跌比开盘价计算得到,也会有开盘价的影响,这两个指标均不利于对后续的分析;而涨跌这组数据所反映的比较直观,数据变化大小合适,可以反映另外两个指标,所以这里只保留涨跌数据来与北向资金进行分析。
处理后沪深300数据如下

将北向资金数据和沪深300数据按索引拼接
结果如下

写入本地
平稳性检验
利用自相关图和偏自相关图检验时间序列数据的平稳性
读取本地数据,由于北向资金数据受港股停盘影响,有许多空值,这里的处理是直接剔除空值所在的行
statsmodels模块可以直接绘制自相关和偏自相关图


利用单位根 ADF 检验时间序列数据的平稳性
在Python中,有两个常用的包提供了ADF检验,分别是statsmodel和arch
利用arch模块进行ADF检验

statsmodel模块进行ADF检验代码如下,结果相同
北向资金数据和沪深300数据均为平稳序列。
格兰杰因果检验
自变量为北向资金流入,因变量为沪深300涨跌
结果如下

皮尔逊相关检验
调用scipy.stats中的pearsonr方法
运行结果如下
返回值为皮尔逊相关系数和双尾p值