在判断个股或者指数的买点通常是通过个股或者指数的市盈率和市净率来进行锚定的,所以市盈率和市净率这两个数据非常的重要。
在baostock上提供了直接获取个股估值的数据接口
该接口可以获得按时间区间定义的数据,包含:
Date:交易信息
Code:证券代码
Close:收盘价
peTTM:滚动市盈率
psTTM:滚动市销率
pcfNcfTTM:滚动市现率
pbMRQ:市净率
但是该接口目前只能获取个股的估值信息,指数的估值信息是没有的,可以参看《指数的市盈率和市净率计算》自行进行计算。
源码
import baostock as bs
import pandas as pd
lg = bs.login()
print('login responderror_code:'+lg.error_code)
print('login respond error_msg:'+lg.error_msg)
rs = bs.query_history_k_data_plus("sz.399989",
"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_plus responderror_code:'+rs.error_code)
print('query_history_k_data_plus 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)
result.to_csv("D:\\index_valuation.csv",encoding="gbk", index=False)
print(result)
bs.logout()
程序中用到的指数数据如果有问题,大家可以留言,欢迎拍砖^_^
课程参考:网易云课堂 基于Python的量化指数基金投资
网友评论