北向資金能否預示股市漲跌?

      網友投稿 734 2022-05-28

      滬深港通已經開通多年,市場一度把北向資金稱為聰明錢,用來預示股市的漲跌。那么時至今日,北向資金是否仍然是一個有效的指標?

      1. 獲取北向資金數據

      首先從tushare獲取北向資金的數據。

      import tushare as ts pro = ts.pro_api('your token')

      嚴格地驗證指標的有效性一般要求跨越牛熊周期,隨著A股波動性的加大,牛熊周期也越來越短。這里我們簡單地取3年時間做個驗證。

      df=pro.moneyflow_hsgt(start_date=20190330, end_date=20220330) df

      由于tushare的限制,一次只能取300條,所以我們還需要多取幾次數據,并把它們合起來。

      df1=pro.moneyflow_hsgt(start_date=20190330, end_date=20201216) df = df.append(df1) df1=pro.moneyflow_hsgt(start_date=20190330, end_date=20190905) df = df.append(df1) df

      2. 獲取大盤指數

      我們可以去tushare獲取指數信息。

      indexes = pro.index_basic() len(indexes), ','.join(indexes['name'].to_list())

      可以看到,tushare至少提供了8000種指數供選擇。

      其中如上證指數、深證成指、滬深300、創業板指、上證50、中證500、中小板指、上證180、深證100等都是比較常用的大盤指數。

      先找出這些指數的代碼。

      index_names = ['上證指數','深證成指','滬深300','創業板指','上證50','中證500','中小板指','上證180','深證100'] indexes[indexes['name'].isin(index_names)][['name', 'ts_code']]

      我們先來獲取上證180的數據。

      s180 = pro.index_daily(ts_code=indexes['ts_code'][19], start_date=20190330, end_date=20220330, fields='trade_date, close') s180

      然后我們來結構性地獲取大盤指數。

      index_names = ['上證指數','深證成指','滬深300','創業板指','上證50','中證500','中小板指','上證180','深證100'] trade_cal = pro.trade_cal(start_date=20190330, end_date=20220330, is_open=1) index_data = trade_cal[['cal_date']] index_data.columns = ['trade_date'] for name in index_names: index_new = pro.index_daily(ts_code=list(indexes[indexes['name']==name]['ts_code'])[0], start_date=20190330, end_date=20220330, fields='trade_date, close') index_new.columns = ['trade_date', name] index_data = pd.merge(index_data, index_new, on='trade_date') index_data

      3. 探索性分析

      將北向資金與大盤指數通過日期關聯起來。

      data = pd.merge(df[['trade_date', 'north_money']], index_data, on='trade_date', how='right') data

      注意,這里的how要設置為right,大盤指數用的是上市日歷,而北向資金存在數據缺失。

      通過正面代碼可以看到哪些日期的數據存在缺失。

      data[data['north_money'].isna()]

      簡單地用pandas的默認方法做個插值。

      data.interpolate(inplace=True)

      可以看到,原來存在缺失的第13行已經完成了線性插值。

      將大盤指數表示成收益率維度,并且放棄第一行。

      data_return = data.copy() data_return[data.columns[2:]] = data_return[data.columns[2:]]/data_return[data.columns[2:]].shift(1)-1 data_return.drop(0, axis=0, inplace=True) data_return

      計算北向資金與大盤指數的相關系統。

      data_return.corr()

      可以看到,從近三年來看,北向資金與各大盤指數的相關性已經非常弱,絕對值已經都在0.1以下。

      北向資金能否預示股市漲跌?

      我們的題目是北向資金能否預示股市漲跌,如果是日線級的預示,需要北向資金領先一天。

      data_return = data.copy() data_return[data.columns[2:]] = data_return[data.columns[2:]]/data_return[data.columns[2:]].shift(1)-1 data_return['north_money'] = data_return['north_money'].shift(1) data_return.drop(0, axis=0, inplace=True) data_return

      可以看到,相關性雖然有所提升,但仍然非常弱。

      參考文獻1的設定,我們也來嘗試下120日滾動窗口。

      data_return[data_return.columns[1:]].rolling(120).corr().tail(10)

      可以看到,相關性仍然非常弱,且北向資金跟大部分指數都是負相關的。

      事實上,無論是10日、20日、30日、60日,相關性也仍然非常弱。

      可見,北向資金已經基本無法預示股市漲跌。當然,也許還有更好的特征提取方法,希望有機會看到。

      參考文獻:

      https://mp.weixin.qq.com/s/Vb9Ecejdtvez_V9oCEK8Vw

      https://blog.csdn.net/weixin_43887421/article/details/112508666

      https://www.jb51.net/article/151590.htm

      Python 金融專區

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:cmd應對文件夾變成了exe
      下一篇:【GaussDB國慶獻禮】TPC-C VS TPC-E
      相關文章
      亚洲精品自偷自拍无码| 亚洲av无码一区二区三区不卡| 亚洲精品无码专区久久久| 亚洲精品精华液一区二区| 亚洲国产精品SSS在线观看AV| 久久久久亚洲精品天堂久久久久久| 亚洲人成图片网站| 亚洲网站在线免费观看| 亚洲色图国产精品| 亚洲色图国产精品| 亚洲综合自拍成人| 亚洲综合无码一区二区| 91嫩草私人成人亚洲影院| 久久久久亚洲精品无码蜜桃| 亚洲黄色中文字幕| 亚洲狠狠狠一区二区三区| 亚洲国产精品成人精品小说| 91嫩草亚洲精品| 亚洲综合久久一本伊伊区| 亚洲av乱码一区二区三区| 亚洲伊人久久精品| 天天爽亚洲中文字幕| 亚洲乱亚洲乱妇无码| 久久亚洲中文无码咪咪爱| 亚洲av成人一区二区三区在线观看| avtt亚洲天堂| 亚洲一区精品无码| 精品国产综合成人亚洲区| 亚洲一级二级三级不卡| 亚洲视频一区在线| 香蕉大伊亚洲人在线观看| 亚洲av无码一区二区三区人妖 | 亚洲国产精品一区二区久久| 亚洲国产老鸭窝一区二区三区| 亚洲色四在线视频观看| 亚洲中文字幕久在线| 亚洲日韩久久综合中文字幕| 18禁亚洲深夜福利人口| 国产aⅴ无码专区亚洲av麻豆 | 国产亚洲日韩在线三区| 亚洲AV无码专区国产乱码电影|