市净率的日频数据可以通过python接口获取,首先下载BaoStock接口包,从官网www.baostock.com可以获取详细的信息。
在BaoStock中获得的pe值是根据最近一期的财报计算出来的,所以,字段名为pbMRQ,MRQ是指most recent quarter,最近一个季度。
在BaoStock中,是把市销率,市盈率,市净率和价格,收盘价,交易量等放在一个函数中,方便进行分析和建模。
import baostock as bsimport 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()