请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3365818 新帖:25

沪深股通 --北上资金

SCSDV_d发表于:5 月 10 日 05:23回复(1)

数据研究

import pandas as pd
df=pd.read_csv('passwd.txt',dtype={'port':int},sep='|')
(host,port,user,passwd)=df.iloc[0]
import sqlalchemy as sa
import os
import pandas as pd
import MySQLdb
conn=MySQLdb.connect(host=host,user=user,passwd=passwd,db='test',port=port,charset="utf8")

近年北上净流入情况¶

2015年股灾期间,北上资金持续抄底,在指数上涨后有一波减持。2016年之后北上资金开始持续净流入

hsgt_stat_cumsum_df = pd.read_sql('select * from hsgt_stat_cumsum_df;', con=conn)
#hsgt_stat_cumsum_df.tail(4)
import matplotlib
from pylab import mpl
matplotlib.rcParams['axes.unicode_minus']=False
myfont = matplotlib.font_manager.FontProperties(fname='C:/Windows/Fonts/msyh.ttf')  
mpl.rcParams['axes.unicode_minus'] = False 
mpl.rcParams['font.sans-serif'] = ['SimHei']  
import matplotlib.pyplot as plt
fig = plt.figure(figsize =(12,6))
ax1 = fig.add_subplot(111)
plt.xticks(rotation=25)
ax1.plot( pd.to_datetime(hsgt_stat_cumsum_df['date'].tolist()), hsgt_stat_cumsum_df['close'].tolist(),color="red",label=u'sz'  ) #linestyle="--",
ax1.set_title( u"HS300&北上净资金" ,fontsize =12)
ax2 = ax1.twinx()
ax2.plot( pd.to_datetime( hsgt_stat_cumsum_df['date'].tolist()),hsgt_stat_cumsum_df['north_cumsum'].tolist(),color="blue",label=u'北上资金累计资金')# color='red' , label=u'质押数量'
ax1.set_ylabel(u'HS300指数',fontsize =12)
ax2.set_ylabel(u'北上累积资金')
ax1.legend( loc="upper left",fontsize =12)
ax2.legend( loc="upper center",fontsize =12)
<matplotlib.legend.Legend at 0x7f2711986890>

北上资金HS300成本线 及 HS300对应的持股数¶

close 为hs300 指数走势,meanPrice为北上资金对应的HS300指数的持仓成本 持仓成本计算为 累积投入资金/当前持有的股数 ; 每日股数变动为= 当日北上净流入流出值/当日指数 ; 当前持股=累加历史上每天的股票变动

import copy
tmp_df=copy.deepcopy( hsgt_stat_cumsum_df )
tmp_df.index=tmp_df['date']   #data[['indexPrice','meanPrice']].plot(figsize=(14,5),linewidth=2)
tmp_df[['close','meanPrice']].plot(figsize=(14,8),linewidth=2,legend=True,title=u'hs300股价 & 北上资金持仓成本') #[tmp_df['date']>'2015-01-01']
plt.figure(2)
tmp_df['accumShare'].plot(figsize=(14,3),color='red',title=u'累计份额(参考 百万)',linewidth=2,legend=True)
<matplotlib.axes._subplots.AxesSubplot at 0x7f270e5aa290>

近期资金流入流出¶

资金行业流入情况:¶

inustry_in_df = pd.read_sql('select * from inustry_in_df;', con=conn)
inustry_in_df
2018-08-07 2018-08-08 2018-08-09 2018-08-10 2018-08-13
0 酿酒行业 家电行业 食品行业 房地产 酒店旅游
1 食品行业 食品行业 仪器仪表 家电行业 房地产
2 金融行业 酿酒行业 房地产 酒店旅游 钢铁行业
3 生物制药 仪器仪表 金融行业 None 食品行业
4 家电行业 建筑建材 酿酒行业 None 电子器件

北上资金行业流出情况:¶

inustry_out_df = pd.read_sql('select * from inustry_out_df;', con=conn)
inustry_out_df
2018-08-07 2018-08-08 2018-08-09 2018-08-10 2018-08-13
0 仪器仪表 酒店旅游 水泥行业 金融行业 酿酒行业
1 交通运输 房地产 None 酿酒行业 仪器仪表
2 None None None 仪器仪表 家电行业
3 None None None 水泥行业 金融行业
4 None None None 食品行业 汽车制造

近期北上资金净买入净卖出个股(按净买入倒排)¶

单位: 亿

recent_stks_trad_top_df = pd.read_sql('select * from recent_stks_trad_top_df;', con=conn)
recent_stks_trad_top_df['JME']=recent_stks_trad_top_df['JME']/100000000
recent_stks_trad_top_df['MRJE']=recent_stks_trad_top_df['MRJE']/100000000
recent_stks_trad_top_df['MCJE']=recent_stks_trad_top_df['MCJE']/100000000
recent_stks_trad_top_df['CJJE']=recent_stks_trad_top_df['CJJE']/100000000
recent_stks_trad_top_df[['date','stk','stkname','JME','MRJE','MCJE','CJJE']].sort(['date','JME'],ascending=False).rename(columns={'JME':u'净买入额','MRJE':u'买入金额','MCJE':u'卖出金额','CJJE':u'成交金额'}).head(20)
date stk stkname 净买入额 买入金额 卖出金额 成交金额
17 2018-08-13 601888 中国国旅 1.000758 1.948329 0.947571 2.895900
7 2018-08-13 000002 万科A 0.570925 1.283860 0.712934 1.996794
19 2018-08-13 600887 伊利股份 0.549909 1.977175 1.427267 3.404442
16 2018-08-13 601398 工商银行 0.543246 1.467629 0.924383 2.392012
3 2018-08-13 000932 华菱钢铁 0.503754 0.805674 0.301920 1.107594
14 2018-08-13 600048 保利地产 0.321055 0.922119 0.601065 1.523184
4 2018-08-13 000725 京东方A 0.227346 0.774127 0.546781 1.320908
13 2018-08-13 600019 宝钢股份 0.109637 0.730448 0.620811 1.351259
6 2018-08-13 002304 洋河股份 0.001044 0.764242 0.763199 1.527441
12 2018-08-13 600585 海螺水泥 -0.176333 1.242424 1.418757 2.661181
18 2018-08-13 600276 恒瑞医药 -0.197584 1.471780 1.669364 3.141145
2 2018-08-13 002594 比亚迪 -0.249633 0.417813 0.667446 1.085260
15 2018-08-13 600036 招商银行 -0.403353 0.824685 1.228038 2.052722
8 2018-08-13 000651 格力电器 -0.470126 1.171808 1.641935 2.813743
5 2018-08-13 002008 大族激光 -0.535493 0.433025 0.968519 1.401544
9 2018-08-13 000333 美的集团 -0.623296 1.548400 2.171696 3.720096
1 2018-08-13 601318 中国平安 -0.776460 1.758923 2.535382 4.294305
0 2018-08-13 600519 贵州茅台 -0.872083 2.660381 3.532465 6.192846
10 2018-08-13 002415 海康威视 -0.947462 1.442604 2.390066 3.832670
11 2018-08-13 000858 五粮液 -2.086701 2.811742 4.898443 7.710184
conn.close()
from IPython.display import display
from IPython.display import HTML
import IPython.core.display as di

# This line will hide code by default when the notebook is exported as HTML
di.display_html('''<script>
    $(function() {
        String.prototype.startWith=function(str){     
            var reg=new RegExp("^"+str);     
            return reg.test(this);        
        }  

        String.prototype.endWith=function(str){     
            var reg=new RegExp(str+"$");     
            return reg.test(this);        
        }
        
        if ($("body.notebook_app").length == 0) {
            $(".input_area").empty().toggle();
            $(".prompt").empty().toggle();
            $(".output_stderr").empty().toggle();
            $("pre").each(function(idx, val){
                if(this.innerHTML.startWith('&')){
                    $(this).empty().toggle();
                }
            })
            $(".code_cell").css("padding", '0px');
            $(".code_cell").css("border", '0px');
            
            $("#notebook-container").css("padding", '0px');
            $("div.output_subarea").css("min-width", '100%');
        }
    });
</script>''', raw=True)

全部回复

0/140

量化课程

    移动端课程