【聚宽本地数据JQData】【转载】JQData | 股市估值分析,带你穿越资本市场迷雾

JQData | 股市估值分析,带你穿越资本市场迷雾

投资最重要的事 -- 估值

投资最重要的是什么?答:判断“胖瘦”的能力。

巴菲特:对面过来一个200斤的人,你不需要一台体重秤,也该知道他是胖子。
要想做好投资,你该知道自己心仪的标的到底是贵还是便宜。

在资本市场,判断“胖瘦”的能力,我们也叫估值。

没有估值,没有识别贵贱的能力,就会像大海里的浮萍,亏盈全靠市场和运气。
有了估值,你就像拥有了定海神针,任凭市场涨涨跌跌,潮起潮落,我自低买高卖,波动越大,收益越多。

看到这里,请暂停1分钟,仔细思考下是不是这样?

对于市场估值的准确估计是根本的出发点。

为什么估值如此重要?

当我们没有这份能力的时候,怎么知道一个标的是不是值得买?
如果大家都嫌弃的时候,你是不是也感到害怕不敢买入?
或者当大家都看好的时候,确实赚到钱的时候,你也兴奋的杀入?
然后就变成了接盘侠、韭菜、旅鼠、浮萍。

当我们有这份能力的时候,我们知道这个标的的真正价值,假设值1块钱。
当它跌到5毛的时候,我们其实会想超市大促销一样开心,可以买更多。
当它涨到2块的时候,我们则慢慢卖出,卖给欢天喜地抢购的人。
因为我们知道,价值总会被发现,价值终将回归,价格始终围绕价值波动。

是不是有点“他强任他强 清风拂山岗”的感觉?

信心从这里开始。
这也是价值投资,逆向投资的第一步。也是最重要的一步。

让我们用数据说话。

通过聚宽本地金融数据JQData,我们找到了2005年至今的全市场估值数据(取自沪深市场每日成交概况),从中提取出深圳市场从2005年至今的平均市盈率数据。我们发现:

① 深圳市场在最近两轮牛市的顶点,也即2008年1月15日和2015年6月12日,达到全市场PE的峰值水平,并且两个峰值PE表现出了明显的近似关系。

【聚宽本地数据JQData】【转载】JQData | 股市估值分析,带你穿越资本市场迷雾
图片来自文章

具体来看,深圳市场在两轮牛市顶点的峰值PE分别是76.13和68.92,近似率为90.53%。
这种峰值PE的近似性,几乎完美验证了我们关于全市场估值水平呈现周期性波动的猜想。

如何估值 -- 全市场PE和PB

判断A股市场贵贱,最有效的办法,是看全市场。
正在的牛市,肯定是所有股票飞天的市场。而真正的熊市,肯定是泥沙俱下,管你好股票,差股票,全部跌得惨不忍睹的市场。
而我们的能力,从全市场估值开始。

可以说,一个完整的牛熊周期,也即投资者风险偏好上升-回落-再上升,带动全市场估值周期性波动的过程。
如果能够通过全市场估值的历史数据,找到市场估值的波动周期,那么我们就能准确地评估当前市场的估值水平了。

看全市场估值,最简单有效的方案是看全市场的PE和PB。
PE和PB是什么?不知道这个的小白还是别炒股了,先去补补功课。
不想让自己的血汗钱被收割的话,一定要学习一下。

那么问题来了,请问在哪里可以买到它呢?
JQData给你好看。

我将会用JQData计算全市场等权PE和等权PB、PE。

至于为什么要用等权?因为不想受市值庞大的股票左右。感兴趣的朋友可以找我讨论。
具体计算等权PE的算法如下:
全市场PE = N / ∑(1 / (市值 / 净利润))
其中:市值 / 净利润 = pe_ttm

talk is cheap, show me the code.
用JQData计算某天交易日的全市场PE代码如下:

 1 # 获取全市场股票PE
 2 all_stock = jqdatasdk.get_all_securities(['stock'], date=query_date)
 3 stocks = list(all_stock.index)
 4 print(" 全市场", len(stocks), "只股票信息")
 5 
 6 stock1 = stocks[:2000]
 7 stock2 = stocks[2000:]
 8 
 9 q1 = jqdatasdk.query(
10     jqdatasdk.valuation.code, jqdatasdk.valuation.day, jqdatasdk.valuation.pe_ratio, jqdatasdk.valuation.pb_ratio
11 ).filter(
12     jqdatasdk.valuation.code.in_(stock1)
13 )
14 df1 = jqdatasdk.get_fundamentals(q1, date=query_date)
15 df1.to_sql(name='stock_valuations', if_exists='append', con=conn, index=False)
16 
17 q2 = jqdatasdk.query(
18     jqdatasdk.valuation.code, jqdatasdk.valuation.day, jqdatasdk.valuation.pe_ratio, jqdatasdk.valuation.pb_ratio
19 ).filter(
20     jqdatasdk.valuation.code.in_(stock2)
21 )
22 df2 = jqdatasdk.get_fundamentals(q2, date=query_date)
23 df2.to_sql(name='stock_valuations', if_exists='append', con=conn, index=False)
24 
25 stock_fund = pd.concat([df1, df2]).set_index('code')
26 
27 # 计算全市场等权PE
28 pe_ew = len(stock_fund["pe_ratio"]) / stock_fund["pe_ratio"].apply(get_pe_trans).sum()
29 # print(" 全市场等权PE=", pe_ew)
30 
31 # 计算全市场等权PB
32 pb_ew = len(stock_fund["pb_ratio"]) / stock_fund["pb_ratio"].apply(get_pe_trans).sum()
33 # print(" 全市场等权PB=", pb_ew)

 

总结 -- 估值图

下图是我依据JQData的数据和pyecharts画图,画出来的,从2005年以来的全市场估值图:
免费分享,但是我自己觉得它价值千金:)。
仔细的看,认真的看5分钟,看看能不能发掘出一点属于你自己的心得。

【聚宽本地数据JQData】【转载】JQData | 股市估值分析,带你穿越资本市场迷雾

我简单说两点:
1、深综指数斜向上增长,所以长期投资总是可以赚钱
2、几年内,涨跌幅特别大,如果能抓住一波,资产将有本质的飞跃
3、市场估值波动特别大,估值总是波动,总体在15到70间波动
4、15只有08年到过,05年,15年没有低于20倍
5、低于25的时候,无疑是非常好的投资机会
6、高于60的时候,无疑是非常好的卖出机会
7、现在无疑也是非常好的投资机会:)

基于全市场估值的一个简单应用交易策略:
1、获取2005年以来,每个交易日的全市场PE、PB
2、计算当前交易日的全市场PE、PB在历史中的百分位
3、当低于20%的时候买入,高于80%的时候卖出

当然,还有更复杂有效的交易策略,以后我会继续拿出来讨论分析,但是全市场估值是基础,没有之一。

有了全市场估值这个定海神针,我们就能穿越资本市场的迷雾,踏上*之路,收获属于自己的那一份财富。

上一篇:network_node:host解决Docker容器化部署微服务出现的Dobbo通信问题


下一篇:39jqGrid - 集成时间选择器插件