流动性紧缩与估值、市值、行业

1月29日,由于有人造谣央行将紧缩流动性,造成全市场大跌;而在下午央行紧急辟谣后,市场有一个明显的回升,故而大多数股票都呈现先下跌,后反弹。

本文旨在探讨,央行紧缩流动性对市值不同的股票的影响、对估值不同的股票的影响,以及对不同行业的股票的影响。

结论:
1)市值因子并不对流动性敏感;
2)高估值对流动性紧缩更加敏感,毕竟流动性紧缩会带动贴现率的上升,从而对高估值股票不利。
3)出现谣言时,国防军工下跌最大,银行下跌最小;辟谣之后,消费者服务反弹最大,银行反弹最小。这是不是意味着可以配点银行股?

代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 正常显示中文
import warnings# filter warnings
warnings.filterwarnings('ignore') 
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']# 以黑体字体显示中文
mpl.rcParams['axes.unicode_minus']=False# 解决图像中负号显示为方块的问题


data = pd.read_excel('市值与下跌幅度.xlsx')

data['下跌幅度'] = (data['最低价'] - data['开盘价'])/data['开盘价']

data['反弹幅度'] = (data['收盘价'] - data['最低价'])/data['最低价']

df1 = pd.qcut(data['自由流通市值'],80,labels=list(range(1,81)))
df1.name='cat'

data1 = pd.concat([data,df1],axis=1)
data_yield = data1.groupby('cat',sort=False).agg({'下跌幅度':'mean','反弹幅度':'mean'})

plt.figure()
plt.plot(list(data_yield['反弹幅度']),label='反弹幅度')
plt.plot(list(data_yield['下跌幅度']),label='下跌幅度')
plt.legend()

图:市值,横轴值越大,市值越大
在这里插入图片描述

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 正常显示中文
import warnings# filter warnings
warnings.filterwarnings('ignore') 
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']# 以黑体字体显示中文
mpl.rcParams['axes.unicode_minus']=False# 解决图像中负号显示为方块的问题


data = pd.read_excel('市值与下跌幅度.xlsx',sheet_name='Sheet2')

data1 = data[data['市盈率(TTM)']>0]
data1 = data1[data1['市盈率(TTM)']<400]
print(data1)
df1 = pd.qcut(data1['市盈率(TTM)'],60,labels=list(range(1,61)))
#数字越大,PE越大,估值越高;60组,一组50支股票
df1.name='cat'

data1['下跌幅度'] = (data1['最低价'] - data1['开盘价'])/data1['开盘价']
data1['反弹幅度'] = (data1['收盘价'] - data1['最低价'])/data1['最低价']

data1 = pd.concat([data1,df1],axis=1)

data_yield = data1.groupby('cat',sort=False).agg({'下跌幅度':'mean','反弹幅度':'mean'})

plt.figure()
plt.plot(list(data_yield['反弹幅度']),label='反弹幅度')
plt.plot(list(data_yield['下跌幅度']),label='下跌幅度')
plt.legend()

图:PE,横轴越大,PE越大
在这里插入图片描述

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import plot,savefig

# 正常显示中文
import warnings# filter warnings
warnings.filterwarnings('ignore') 
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']# 以黑体字体显示中文
mpl.rcParams['axes.unicode_minus']=False# 解决图像中负号显示为方块的问题


data = pd.read_excel('行业.xls')
data.columns = ['证券代码', '证券名称', '行业', '最低价', '开盘价', '收盘价']

data['下跌幅度'] = (data['最低价'] - data['开盘价'])/data['开盘价']

data['反弹幅度'] = (data['收盘价'] - data['最低价'])/data['最低价']

df = data.groupby('行业',sort=False).agg({'下跌幅度':'mean','反弹幅度':'mean'})

plt.figure(figsize=(9,6))
plt.bar(x=df.index,height=df['下跌幅度'])
plt.tick_params('x',labelcolor='k',rotation=75)
plt.savefig('行业1.jpg')


plt.figure(figsize=(9,6))
plt.bar(x=df.index,height=df['反弹幅度'])
plt.tick_params('x',labelcolor='k',rotation=75)
plt.savefig('行业2.jpg')


在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值