市现率(PE)是股票价格与每股现金流量的比率。市现率可用于评价股票的价格水平和风险水平。市现率越小,表明上市公司的每股现金增加额越多,经营压力越小。对于参与资本运作的投资机构,市现率还意味着其运作资本的增加效率。
这种算法没有考虑现金等价物净增加额,因此可使用现金净流量计算,计算公式如下:
PE NCF TTM = 股票在指定交易日期的收盘价 / 现金及现金等价物净增加额TTM;
TTM数据是一个滚动概念,每个季度都会不同。虽然它的起始点会发生变化,但却始终包括有四个不同的季度(1、2、3、4; 2、3、4、1; 3、4、1、2; 4、1、2、3),虽然这四个季度有可能属于两个不同的自然年度,但仍然弥补了上市公司季节性的客观差异所造成的影响。
这样一来,相隔两个季度之间的TTM 数据比较时,其采样中总会出现3 个季度的重合,1 个季度不同。正是由于加入了3 个重合的季度,则使这种比较在一定程度上过滤掉小波动,进而更加客观地反映上市公司的真实情况,更加客观的反映了上市公司的真实情况,为投资者做出正确决策提供一定的依据。
如果觉得根据季报自己计算比较麻烦,可以使用python接口baostock获取,示例代码如下:
import baostock as bs import pandas as pd #### 登陆系统 #### lg = bs.login() # 显示登陆返回信息 print('login respond error_code:'+lg.error_code) print('login respond error_msg:'+lg.error_msg) #### 获取沪深A股估值指标(日频)数据 #### # peTTM 动态市盈率 # psTTM 市销率 # pcfNcfTTM 市现率 # pbMRQ 市净率 rs = bs.query_history_k_data("sh.600000", "date,code,close,peTTM,pbMRQ,psTTM,pcfNcfTTM", start_date='2015-01-01', end_date='2017-12-31', frequency="d", adjustflag="3") print('query_history_k_data respond error_code:'+rs.error_code) print('query_history_k_data respond error_msg:'+rs.error_msg) #### 打印结果集 #### result_list = [] while (rs.error_code == '0') & rs.next(): # 获取一条记录,将记录合并在一起 result_list.append(rs.get_row_data()) result = pd.DataFrame(result_list, columns=rs.fields) #### 结果集输出到csv文件 #### result.to_csv("D:\\history_A_stock_valuation_indicator_data.csv", encoding="gbk", index=False) print(result) #### 登出系统 #### bs.logout()
可以看出,不仅可以查询市现率,还可以查询市销率、滚动市盈率、市净率等信息。
官网:www.baostock.com,技术交流群:604214684。