前言
前几天看到一篇市场底部特征研究的文章——【华创金工】,觉得有点意思,下面就将这些衡量市场底部特征的内容在研究里进行实现。
文章的核心逻辑如下所述:
1. 低价股比例:逻辑是牛市消灭仙股,熊市产生仙股;
2. 破净股比例:打折促销,领先指标;
3. M2/总市值中位数:相当于每一元的市值,有多少M2支撑和刺激?可以理解为“施肥率”;
4. PE中位数和十年国债收益率倒数:比较股票和国债收益率的高低,经典的股债轮动指标;
5. 全市交易额有没有触底?全市场人气;
6. 个股流动性有没有触底?大底中大部分个股流动性枯竭;
7. 区间最大跌幅的中位数: 大底是跌出来的,大底的水准是高点腰斩,再腰斩。
8. 人气指标:次新股的破发率;
9. 除了全市场的估值低,各个行业也一片惨淡,几无例外。
大底的九个衡量维度具体介绍
熊市时泥沙俱下,牛市时鸡犬升天,市场总是在恐惧和疯狂的情绪中起起落落落落落......大家都知道高抛低吸,低买高卖是股市操作的致胜秘籍,问题就在于市场什么时候会迎来转折的时机。
低价股比例
牛市消灭仙股,熊市产生仙股,仙股原意是指价格已经低于1元的股票。这里放大了仙股价格区间,设定为小于2元的股票,统计了从07年开始,低价股数量占比的时间序列。可是,考虑到时间跨度超过10年,那是当年可以买碗牛肉拉面的两块钱,为了抵消通货膨胀的影响,所以这里做了些改动,将条件按每年4%的无风险收益进行增长,到目前,这个低价格的阈值已经是3.2元。
目前看到的几个拐点基本上都是和市场的拐点同步,这里讲最近一次的拐点放大看到如下情况:
#返回股价低于2元的股票个数占比
def f1(self,date_list):
bei = len(date_list)//13
se_price_2 = []
for i in range(1,13):
e = date_list[i*bei]
s = date_list[(i-1)*bei]
if i == 0:
s = date_list[0]
elif i == 12:
e = date_list[-1]
all_stock = list(get_all_securities(types='stock',date=e).index)
def f1_1(x):
x=x.dropna(axis=0)
return sum(x)
df = get_price(all_stock,start_date=s,end_date=e,fields=['close'],fq=None)['close']
df_1 = df<=2*(1.04)**i
#print(2*(1.04)**i)
se1 = df_1.apply(f1_1,axis=1)
l2 = [len(get_all_securities(types='stock',date=i)) for i in se1.index ]
se2 = pd.Series(l2,index=se1.index)
#se2 = df_1.apply(f1_1[1],axis=1)
se_price_2.append(se1/se2)
return pd.concat(se_price_2)
破净股比例
破净是指股价跌破净资产值,破净股具体就是指股票的每股市场价格低于它每股净资产价格,破净的特点和逻辑,和低价股类似。
这一点从下面的图中看确实如此,从历史走势来看,破净股数据的变化情况,与股票市场的顶底区域是同步的。针对这个问题,我们找出市场中对应的几个位置特别位置和该指标数据进行对比,这里是2018年2月9号的具体表现:
具体来看,2017年年底以来该比例骤然上升,从0.57%到目前达到6.1%的水平,接近2014年底部的比例。