python获取股票历史数据_量化交易之如何获取股票历史数据并存为csv

python获取股票历史数据_量化交易之如何获取股票历史数据并存为csv量化研究尤其是进行基于价值投资的量化研究,需要上市公司的历史估值数据,如市盈率PE,市净率PB,或者市销率PS,市现率PCF。而有的人喜欢用exce或者csv文件的格式存放数据并且分析。我这里介绍一个网站,BaoStock,既支持直接下载历史数据为csv,也支持用程序下载数据并生成csv格式。网站地址是www.baostock.com,如果要下载历史估值数据,进入首页后,选择“沪深A股估值指标(日…

大家好,又见面了,我是你们的朋友全栈君。

量化研究尤其是进行基于价值投资的量化研究,需要上市公司的历史估值数据,如市盈率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账号...

(0)


相关推荐

  • vscode html注释快捷键_宇宙最强vscode教程(基础篇)

    vscode html注释快捷键_宇宙最强vscode教程(基础篇)本文主要介绍vscode在工作中常用的快捷键及插件,目标在于提高工作效率本文的快捷键是基于mac的,windows下的快捷键放在括号里Cmd+Shift+P(winCtrl+Shift+P)零、快速入门有经验的可以跳过快速入门或者大致浏览一遍1.命令面板命令面板是vscode快捷键的主要交互界面,可以使用f1或者Cmd+Shift+P(winCtrl+Shift+P)打开。在命令…

  • 各种技术网站的网址

    各种技术网站的网址http://www.eclipse.com/http://www.apache.org

  • 43w+条手机电话号码归属地数据库免费下载·附区号邮编

    43w+条手机电话号码归属地数据库免费下载·附区号邮编数据库密码已撤销天翼云盘:https://cloud.189.cn/web/share?code=VvQvuur6n2yq(访问码:r9ol)

  • 深信服SCSA安全工程师题库(方便大家复习备考)

    深信服SCSA安全工程师题库(方便大家复习备考)1、【EDR】下列哪个端口是紧急情况下EDR管理平台和客户端通信端口,即紧急情况下用于下发Agent重启、Agent卸载和Agent停止等指令。()A:443.0B:54120.0C:8083.0D:8088.0正确答案B2、【EDR】客户有7000个终端需要安装EDR客户端进行安全防护,请问推荐部署多少个EDR管理平台()A:1个B:2个C:4个D:6个正确答案C3、【EDR】EDR的Agent客户端不支持在以下哪种类型的终端上安装()A:WindowsServerB

  • BIST

    BISTBIST即是在设计时在电路中植入相关功能电路用于提供自我测试功能的技术,BIST把测试仪的部分功能转移到电路内部,用嵌入到电路中的测试电路提供输入测试向量和分析响应的功能,最后输出简单的测试结果。根据被测试的对象不同,BIST测试分为LogicBIST和MemoryBIST。LogicBIST原理结构:实现方法一般基于STUMPS结构,包含测试向量生成模块PRPG、响应分析模块M

    2022年10月22日
  • php phantomjs 截屏,phantomjs截图

    php phantomjs 截屏,phantomjs截图废话不多说,直接上代码。功能:随便截取一个url页面:https://www.baidu.com/s?word=phantomjs+%E6%88%AA%E5%9B%BE&tn=43061099_196_hao_pg&ie=utf-8&ssl_sample=hao_1phantomjs的js环境test.jssystem=require(‘system’)address…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号