100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 根据北上资金操作上证50指数基金

根据北上资金操作上证50指数基金

时间:2020-03-23 20:11:04

相关推荐

根据北上资金操作上证50指数基金

1. 上证50指数

上证50指数是根据科学客观的方法,挑选上海证券市场规模大、流动性好的最具代表性的50只股票组成样本股,以综合反映上海证券市场最具市场影响力的一批优质大盘企业的整体状况。上证50指数,指数简称为上证50。

2. 北上资金

在中国股市中,一般“北”指的是沪深两市的股票,“南”指的是指香港股票,因此,北上资金就是指从香港股票中流入大陆股市的资金,同时内地的股票也有流入香港股市的资金,而这个资金被称为南下资金。

3. 获取上证50指数数据

3.1. 从tushare获取数据(tushare地址)

import tushare as tsimport pandas as pdts.set_token('...')pro = ts.pro_api()def get_index_50(start, end):index_df = pro.index_daily(ts_code='000016.SH', start_date=start, end_date=end)index_df.index = pd.to_datetime(index_df.trade_date)index_df = index_df.sort_index()return index_dfindex_50 = get_index_50(start = '1117', end = '')print(index_50.tail(10))```

3.2 50指数的累计收益

all_ret = index_data / index_data.shift(1) - 1 # 将价格数据转为收益率all_data = all_ret.join(north_money['north_money'], how='inner')all_data.dropna(inplace=True)corr = all_data.corr()

从图中可以就看出,现在50指数的点位,基本上已经和的牛市点位基本相同。

4.获取北上资金

import tushare as tsimport pandas as pdts.set_token('...')pro = ts.pro_api()def get_north_money(start, end):"""获取北上资金"""# 获取交易日历cal_date = pro.trade_cal(exchange='', start_date=start, end_date=end)cal_date = cal_date[cal_date.is_open == 1]dates = cal_date.cal_date.values# tushare限制流量,每次只能获取300条记录df = pro.moneyflow_hsgt(start_date=start, end_date=end)# 拆分时间进行拼接,再删除重复项for i in range(0, len(dates) - 300, 300):d0 = pro.moneyflow_hsgt(start_date=dates[i], end_date=dates[i + 300])df = pd.concat([d0, df])# 删除重复项df = df.drop_duplicates()df.index = pd.to_datetime(df.trade_date)df = df.sort_index()return dfnorth_money = get_north_money(start = '1117', end = '')print(north_money.tail(10))

5. 50指数和北上资金的相关性分析

5.1.获取相关系数

all_ret = index_data / index_data.shift(1) - 1 # 将价格数据转为收益率all_data = all_ret.join(north_money['north_money'], how='inner')all_data.dropna(inplace=True)corr = all_data.corr()print(corr)

从分析的数据可以看出,北上资金与50指数有一定的正相关关系,为0.27。因为北上资金的体量不大,所以,相关性比较小。所以,我们需要对北上资金做一下积分。

5.2.获取积分后的相关系数

# 我们获取120日的北上资金做积分all_data.rolling(120).corr().tail(9)

从图中可以看出,相关性达到0.7,有一定实际的参考意义。

5.3. 线性拟合

对北上资金和50指数的散点图进行回归线拟合。图形再次支持了北上资金与50指数的正相关性。

import seaborn as snsplt.figure(figsize=(10, 6))sns.regplot(x=list(all_data["north_money"][-120:]),y=list(all_data["50"][-120:]))plt.title('50 vs North',size=15)plt.xlabel('North',size=12)plt.ylabel('50 Rate',size=12)plt.show()

5.4.北上资金与50指数的收益率相关性

final_data=all_data[['50','north_money']].dropna()cors=final_data.rolling(120).corr()cors=cors.dropna().iloc[1::2,0]cors=cors.reset_index()cors=cors.set_index('trade_date')cors['50'].describe()

数据显示,至8月期间,二者相关系数均值为0.29,最大值为0.7。图形显示,二者的相关性近年来逐渐走高。

5.5.策略

策略思路如下:

1、当该日北向资金流入规模 > 过去 252 个交易日的北向资金均值 + 1.5 倍标准差, 则全仓买入50指数;

2、当该日北向资金流入规模 < 过去 252 个交易日的北向资金均值 - 1.5 倍标准差, 则清仓卖出50指数;

3、以第二天开盘价买入(研报是以收盘价来计量)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。