【Tushare金融数据实战】北向资金因子计算—指数衰减法
Tushare ID : 459953
1.Tushare接口包简介
Tushare是一个免费,开源的python财经数据接口包.拥有丰富的数据内容,如股票、基金、期货、数字货币等行情数据,公司财务、基金经理等基本面数据。目前数据的广度和深度都在不断加大,能够让大众实时获得专业投资者所拥有的数据。
令人惊讶的是,北向资金数据的更新的效率和数据内容质量较好。我再次。由于博主目前积分不够,在获取北向的数据时有限制,所以在代码中加入了停时处理。(运行一次、停30秒)
2.北向资金因子简介
北向资金指的是沪港通和深港通买入资金之和,就是通过香港交易所买入内地的股票的资金。 由于A股市场有管制,不允许外资直接参与,我国分别在2014年和2016年开通了沪港通和深港通,形成A股市场和港股市场中的资金互流,因为内地在香港的北面,就形成了北向资金的说法。 由于“北向资金”大都是国外机构投资,而机构一般都有较为雄厚的资金实力、专门的公司研究团与信息搜集团队,在投资上相比普通的散户更专业,也更有优势的多。北向资金因出色稳定的盈利能力与准确的节奏把控而受到市场较高的关注,被市场视为“聪明资金”与风向标。
3.指数衰减法
逻辑起点:20日前的北向资金净流入与今日资金净流入相比,有效性会大大降低,因此我们得到一个基本的认知:今日的北向资金净流入比20日之前净流入的更有意义,因此应该会赋予更高的权重,我们在此选取了指数衰减法。
4. 代码实现
书接上回,Tushare数据里仅包含北向持股数量的数据,具体资金量的流入和流出问题,还是需要运用不复权的股票价格去计算资金净流入和净流出。
import warnings
import pandas as pd
import numpy as np
# import chinese_calendar
import seaborn as sns
import tushare as ts
import datetime as dt
from dateutil.parser import parse
warnings.filterwarnings('ignore')
sns.set()
#获取使用接口
def get_token():
ts.set_token('xxx')
pro = ts.pro_api()
return pro
#获取北向资金数据
North_capital = pd.DataFrame()
path = "xxx"
files = os.listdir(path)
# 读取北向数据
for file_name in files:
try:
data_day = pd.read_csv(path +"/" +file_name,usecols= [0,1,2,3,4])
data_day["持股数量(万股)"] = data_day["持股数量(股)"]/10000
data_day["交易日期"] = data_day["交易日期"].astype