同花顺Supermind量化交易 资金面专题2-资金流动强度与风格下股票组合涨跌相关性

一般而言,当市场中资金流动强度平缓时,风格投资者保持原有的风格方向;当资金流动强度强烈时,风格投资者转换原有的风格方向,例如:小市值投资者在资金流动强烈时,会转向大市值风格。本篇文章将从规模因子(大小盘风格)入手,研究关于资金流动强度与风格投资的话题。

1 导入库包

In [2]:

import pandas as pd
import numpy as np
import datetime
import math
import matplotlib.pyplot as plt
plt.style.use('seaborn')

2.资金流入净值取数和计算

In [3]:

#取数平安银行主动买入量
data_buy=get_money_flow_step(security_list='000001.SZ',start_date=None,end_date='20190103',fre_step='1d',\
    fields=['act_buy_xl','act_buy_l','act_buy_m'],count=250,is_panel=0)['000001.SZ']

#取数平安银行主动卖出量
data_sell=get_money_flow_step(security_list='000001.SZ',start_date=None,end_date='20190103',fre_step='1d',\
    fields=['act_sell_xl','act_sell_l','act_sell_m'],count=250,is_panel=0)['000001.SZ']

#横向加总
data_buyall=pd.DataFrame(data_buy.apply(lambda x:x.sum(),axis=1),columns=['buy_all'])
data_sellall=pd.DataFrame(data_sell.apply(lambda x:x.sum(),axis=1),columns=['sell_all'])
data_all=pd.concat([data_buyall,data_sellall],axis=1)

#得出平安银行流入净值
data_all['data_net']=data_all['buy_all']-data_all['sell_all']
data_all.tail()

Out[3]:

buy_allsell_alldata_net
2018-12-26108688097.0176514956.0-67826859.0
2018-12-27191021237.0258350579.0-67329342.0
2018-12-28249609737.0161550282.088059455.0
2019-01-02115789628.0270478617.0-154688989.0
2019-01-03173588438.0115469752.058118686.0

3. 资金流入强度与风格下股票组合涨跌幅相关性

In [32]:

for days in range(1,6):
    data_return_stdflow_copy['std_flow_pre%dd'%days]=data_return_stdflow_copy['std_flow'].shift(days)  
    data_return_stdflow_copy.dropna(inplace=True)
data_return_stdflow_copy.head()

Out[32]:

std_flowreturn_daily_topreturn_daily_bottomstd_flow_pre1dstd_flow_pre2dstd_flow_pre3dstd_flow_pre4dstd_flow_pre5d
2018-01-311.239100-2.8333231.2819571.2585542.4408050.348983-0.0776922.120032
2018-02-01-0.324186-4.4295600.9548301.2391001.2585542.4408050.348983-0.077692
2018-02-02-0.785630-0.6619700.658227-0.3241861.2391001.2585542.4408050.348983
2018-02-050.438010-0.2803771.333043-0.785630-0.3241861.2391001.2585542.440805
2018-02-064.561510-5.433270-2.0909970.438010-0.785630-0.3241861.2391001.258554

3.1 选取标准化后资金流入强度 >1.96

In [33]:

data_return_stdflow_select=data_return_stdflow_copy[data_return_stdflow_copy['std_flow_pre1d']>1.96]
data_return_stdflow_select.head()

Out[33]:

std_flowreturn_daily_topreturn_daily_bottomstd_flow_pre1dstd_flow_pre2dstd_flow_pre3dstd_flow_pre4dstd_flow_pre5d
2018-02-074.418203-0.236470-3.3709834.5615100.438010-0.785630-0.3241861.239100
2018-02-084.3641261.742569-2.6936574.4182034.5615100.438010-0.785630-0.324186
2018-02-093.445064-4.361552-3.9454074.3641264.4182034.5615100.438010-0.785630
2018-02-12-0.2287931.627772-0.0721173.4450644.3641264.4182034.5615100.438010
2018-02-281.4435780.639150-1.5488103.4062400.607778-0.752558-0.724143-0.505014

3.2 风格下资金流入强度与风格组合后一日涨跌幅的相关性

1. 前一日资金流入强度

In [34]:

corr_1=data_return_stdflow_select[['return_daily_top','return_daily_bottom','std_flow_pre1d','std_flow']].corr()
corr_1

Out[34]:

return_daily_topreturn_daily_bottomstd_flow_pre1dstd_flow
return_daily_top1.0000000.518051-0.085800-0.166893
return_daily_bottom0.5180511.000000-0.769177-0.884400
std_flow_pre1d-0.085800-0.7691771.0000000.852448
std_flow-0.166893-0.8844000.8524481.000000

In [35]:

import seaborn
plt.figure(figsize=(10,8))
plt.title('Pearson Correlation of pre1',y=1.05,size=20)
seaborn.heatmap(data_return_stdflow_select[['return_daily_top','return_daily_bottom','std_flow_pre1d','std_flow']].astype(float).corr(),linewidths=0.1,vmax=1.0,
            square=True,linecolor='white',annot=True)
plt.show()

2. 前第二日资金流入强度

In [36]:

data_return_stdflow_select2=data_return_stdflow_copy[data_return_stdflow_copy['std_flow_pre2d']>1.96]

plt.figure(figsize=(10,8))
plt.title('Pearson Correlation of pre2',y=1.05,size=20)
seaborn.heatmap(data_return_stdflow_select2[['return_daily_top','return_daily_bottom','std_flow_pre2d','std_flow']].astype(float).corr(),linewidths=0.1,vmax=1.0,
            square=True,linecolor='white',annot=True)
plt.show()

3. 前第三日资金流入强度

In [37]:

data_return_stdflow_select3=data_return_stdflow_copy[data_return_stdflow_copy['std_flow_pre3d']>1.96]

plt.figure(figsize=(10,8))
plt.title('Pearson Correlation of pre3',y=1.05,size=20)
seaborn.heatmap(data_return_stdflow_select3[['return_daily_top','return_daily_bottom','std_flow_pre3d','std_flow']].astype(float).corr(),linewidths=0.1,vmax=1.0,
            square=True,linecolor='white',annot=True)
plt.show()

4. 前第四日资金流入强度

In [38]:

data_return_stdflow_select4=data_return_stdflow_copy[data_return_stdflow_copy['std_flow_pre4d']>1.96]

plt.figure(figsize=(10,8))
plt.title('Pearson Correlation of pre4',y=1.05,size=20)
seaborn.heatmap(data_return_stdflow_select4[['return_daily_top','return_daily_bottom','std_flow_pre4d','std_flow']].astype(float).corr(),linewidths=0.1,vmax=1.0,
            square=True,linecolor='white',annot=True)
plt.show()

5. 前第五日资金流入强度

In [39]:

data_return_stdflow_select5=data_return_stdflow_copy[data_return_stdflow_copy['std_flow_pre5d']>1.96]

plt.figure(figsize=(10,8))
plt.title('Pearson Correlation of pre5',y=1.05,size=20)
seaborn.heatmap(data_return_stdflow_select5[['return_daily_top','return_daily_bottom','std_flow_pre5d','std_flow']].astype(float).corr(),linewidths=0.1,vmax=1.0,
            square=True,linecolor='white',annot=True)
plt.show()

In [ ]:

查看以上策略详细请 到 supermind量化交易官网查看:资金面专题2-资金流动强度与风格下股票组合涨跌相关性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值