【論文復(fù)現(xiàn)】- 基于北向資金流動的量化投資策略研究(一)
北向資金流動對指數(shù)漲跌的影響分析
數(shù)據(jù)獲取
通過Tushare庫獲取北向資金數(shù)據(jù),北向資金從2014年開始流入大陸。

嘗試直接調(diào)取2014年到2022年底的數(shù)據(jù)
運(yùn)行結(jié)果如下

通過for循環(huán)多次調(diào)用,cancat拼接
運(yùn)行結(jié)果如下

寫入本地
同樣通過Tushare庫獲取滬深300指數(shù)數(shù)據(jù),代碼399300.SZ
。
獲取時(shí)間范圍和北向資金數(shù)據(jù)對應(yīng)的指數(shù)數(shù)據(jù)
運(yùn)行結(jié)果如下

寫入本地
數(shù)據(jù)處理
對數(shù)據(jù)進(jìn)行預(yù)處理,根據(jù)北向資金時(shí)間來篩選出滬深 300指數(shù)對應(yīng)數(shù)據(jù)
讀取本地?cái)?shù)據(jù)
首先看一下數(shù)據(jù)格式
結(jié)果如下

只有north_money是需要用到的,dataframe的索引是默認(rèn)索引,并且trade_date格式是int型,需要轉(zhuǎn)換成datetime格式,設(shè)為索引。
處理后的北向資金數(shù)據(jù)如下

滬深300數(shù)據(jù)同理,文章主要考慮收盤價(jià)、漲跌和漲跌幅三組數(shù)據(jù),收盤價(jià)這組數(shù)據(jù)由于起始開盤價(jià)格不確定,受此影響,會對后續(xù)的分析產(chǎn)生干擾;漲跌幅這組數(shù)據(jù)是通過漲跌比開盤價(jià)計(jì)算得到,也會有開盤價(jià)的影響,這兩個(gè)指標(biāo)均不利于對后續(xù)的分析;而漲跌這組數(shù)據(jù)所反映的比較直觀,數(shù)據(jù)變化大小合適,可以反映另外兩個(gè)指標(biāo),所以這里只保留漲跌數(shù)據(jù)來與北向資金進(jìn)行分析。
處理后滬深300數(shù)據(jù)如下

將北向資金數(shù)據(jù)和滬深300數(shù)據(jù)按索引拼接
結(jié)果如下

寫入本地
平穩(wěn)性檢驗(yàn)
利用自相關(guān)圖和偏自相關(guān)圖檢驗(yàn)時(shí)間序列數(shù)據(jù)的平穩(wěn)性
讀取本地?cái)?shù)據(jù),由于北向資金數(shù)據(jù)受港股停盤影響,有許多空值,這里的處理是直接剔除空值所在的行
statsmodels模塊可以直接繪制自相關(guān)和偏自相關(guān)圖


利用單位根 ADF 檢驗(yàn)時(shí)間序列數(shù)據(jù)的平穩(wěn)性
在Python中,有兩個(gè)常用的包提供了ADF檢驗(yàn),分別是statsmodel和arch
利用arch模塊進(jìn)行ADF檢驗(yàn)

statsmodel模塊進(jìn)行ADF檢驗(yàn)代碼如下,結(jié)果相同
北向資金數(shù)據(jù)和滬深300數(shù)據(jù)均為平穩(wěn)序列。
格蘭杰因果檢驗(yàn)
自變量為北向資金流入,因變量為滬深300漲跌
結(jié)果如下

皮爾遜相關(guān)檢驗(yàn)
調(diào)用scipy.stats中的pearsonr方法
運(yùn)行結(jié)果如下
返回值為皮爾遜相關(guān)系數(shù)和雙尾p值