大家好,又见面了,我是你们的朋友全栈君。
量化研究尤其是进行基于价值投资的量化研究,需要上市公司的历史估值数据,如市盈率PE,市净率PB,或者市销率PS,市现率PCF。而有的人喜欢用exce或者csv文件的格式存放数据并且分析。我这里介绍一个网站,BaoStock,既支持直接下载历史数据为csv,也支持用程序下载数据并生成csv格式。
网站地址是www.baostock.com,如果要下载历史估值数据,进入首页后,选择“沪深A股估值指标(日频)数据”,就进入了历史估值数据的页面。然后点击下载,就可以下载csv文件,下载的是浦发银行的历史估值数据,如果要下载其他股票的历史估值数据,就需要使用python代码了。
首先默认已经安装python,且版本是3.5或者以上。
安装pandas: pip insall pandas
安装numpy: pip install numpy
安装baostock数据接口包:pip installbaostock。
baostock提供免费历史k线的下载,包括前后复权的数据,而且还提供股票实时数据
如果有问题,请去官网下载再安装:http://www.baostock.com,不需要注册。
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()
返回数据说明
参数名称参数描述说明
date交易所行情日期格式:YYYY-MM-DD
code证券代码格式:sh.600000。sh:上海,sz:深圳
close今收盘价精度:小数点后4位;单位:人民币元
peTTM动态市盈率精度:小数点后4位
psTTM市销率精度:小数点后4位
pcfNcfTTM市现率精度:小数点后4位
pbMRQ市净率精度:小数点后4位
以上代码来自官网,www.baostock.com.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152738.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...