市销率,又称为收入乘数,是指普通股每股市价与每股销售收入的比率,英文简称为PS。有人要问了,既然已经有了市盈率,市净率,为什么还需要了解市销率呢?因为上市公司的总利润并不是总能保持稳定,比如是周期类的行业,受大环境影响很大;或者某一年决定更换机器设备,把资金投入技术研究以帮助公司在未来增加盈利能力等;或者财务记账方法都可能把上一个季度的盈利转为下一个季度的损失等。在利润经常波动的情况下,有人发现销售情况相比利润更加稳定,更容易进行跟踪。当然,市销率越低,越说明该公司股票目前的投资价值很大。市销率在0.75倍以下的公司会比较具有投资价值。
由于市销率是市值与销售收入之比,所以它的核心是注重销售额。从企业管理的角度来看,销售额代表着的是企业经营的状态和发展的规模,也就是这家企业从经营上来看到底是怎样的。如果市销率低,说明为获得销售收入支付的成本低;如果市销率高,说明为获得销售收入支付的成本高。
在量化分析中,市销率也是一个非常重要的因子,它是衡量上市公司的市场占有率,行业竞争力,以及管理能力的重要指标。
市销率的日频数据可以通过python接口获取,首先下载BaoStock接口包,从官网www.baostock.com可以获取详细的信息。
在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股历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节
rs = bs.query_history_k_data("sh.600000",
"date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST,peTTM,pbMRQ,psTTM,",
start_date='2017-07-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)
#### 打印结果集 ####
data_list = []
while (rs.error_code == '0') & rs.next():
# 获取一条记录,将记录合并在一起
data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)
#### 结果集输出到csv文件 ####
result.to_csv("D:\\history_A_stock_k_data.csv", index=False)
print(result)
#### 登出系统 ####
bs.logout()