科创板和创业板流动性不足,多数股票已成僵尸股?

前几天跟同行聊起科创板流动性的问题。

为啥要讨论这个?因为最近证监会收紧了上会、过会企业;比较多的企业因论述科创属性不足而错失了上科创板的机会。

科创板开始的时候红红火火,大批企业因为科创板上市门槛较低而蜂拥而上, 但“第一批”企业以大比数过会后,后续的申报企业都以因为各种理由而失之交臂。但上了科创板也不代表是一件好事情, 正所谓“打铁还是要自身硬”, 上市后业绩不匹配,再高的估值也得下来。

因此, 科创板企业的市值大多数都是经历着“高开低走”的走势。


在聊这个科创板流动性问题的时候,我就破口而出说了“科创板60%的股票每天成交金额都不足5000万,大部分已成为僵尸股” 这样的话。 这句话是源于我看了公众号的另外一篇文章《 科创板60%的股票已经僵尸了》, 当时候也没有考虑文章所提及的数据的真实性,直接顺手拈来。 但事实真的是这样吗?

我以2021年5月26日的交易数据数据作为基准,以科创板和其他板块作为划分, 用数据来说话,看看科创板大部分股票的成交金额低于5000万的是否占大多数。

通过计算, 我发现科创板和其他板块低于5000万成交金额股票占各自板块总数的比例分别为45.4%和40.9%。

那低于3000万的比例究竟又是多少? 高于5000万但低于1亿的比例又是多少??

带着这个问题,我以成交金额作为划分,将股票成交金额划分为:3千万,5千万,1亿,2亿,5亿,10亿,20亿,50亿,100亿,150亿。

企业家数:

对应比例:

从上面数据可以看出,单单从每日成交金额来分析的话,其实科创板和其他板块的比例都是旗鼓相当的。 例如成交金额低于3000万的,科创板为28.32%, 其他板块为27.05%; 成交金额低于1亿的,科创板为68.18%, 其他板块为59.31%。

如果按照成交金额1个亿来看,其实创业板、主板、中小板的“流动性”更低。

import tushare as ts
import pandas as pd

pro = ts.pro_api('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')

计算科创板、其他板块成交金额只有5000万的企业比例

# 获取单日整个A股市场的交易数据
df = pro.daily(trade_date='20210526')
#将成交金额变为以千万为单位
df['amount'] = df['amount'].div(10)
# 筛选科创板企业
kcb = df[df['ts_code'].str.contains('688')]
# 计算总数
kcb_amt = len(kcb['ts_code'])
kcb_amt
286
# 计算成交金额少于5千万的企业数
kcb_lv = len(kcb[kcb['amount']<=5000])
#计算比例
kcb_lv_ratio = kcb_lv/kcb_amt
kcb_lv_ratio
0.45454545454545453
# 筛选创业板、主板、中小板的企业
rest = df[~df['ts_code'].str.contains('688')]
#计算总数
rest_amt = len(rest['ts_code'])
# 计算成交金额少于5千万的企业数
rest_lv = len(rest[rest['amount']<=5000])
#计算比例
rest_lv_ratio = rest_lv/rest_amt
rest_lv_ratio
0.40492782478845196

科创板、其他板块不同成交金额对应的企业数

bins = [0,3000,5000,10000,20000,50000,100000,200000,500000,1000000,1500000]
bins_df = pd.DataFrame()
bins_df['kcb'] = pd.cut(kcb['amount'], bins=bins).value_counts()
bins_df['rest'] = pd.cut(rest['amount'], bins=bins).value_counts()
bins_df=bins_df.sort_index()
bins_df
kcb rest
(0, 3000] 81 1087
(3000, 5000] 49 540
(5000, 10000] 65 756
(10000, 20000] 51 649
(20000, 50000] 29 562
(50000, 100000] 8 255
(100000, 200000] 2 96
(200000, 500000] 1 60
(500000, 1000000] 0 13
(1000000, 1500000] 0 0
(bins_df/bins_df.sum())*100
kcb rest
(0, 3000] 28.321678 27.053260
(3000, 5000] 17.132867 13.439522
(5000, 10000] 22.727273 18.815331
(10000, 20000] 17.832168 16.152315
(20000, 50000] 10.139860 13.987058
(50000, 100000] 2.797203 6.346441
(100000, 200000] 0.699301 2.389248
(200000, 500000] 0.349650 1.493280
(500000, 1000000] 0.000000 0.323544
(1000000, 1500000] 0.000000 0.000000

所以说,还是那句话,“实践是检验真理的唯一标准”。

不过生活总喜欢找人啪啪啪打脸, 先mark一下