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.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152738.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android toast位置_android studio toast不显示

    android toast位置_android studio toast不显示关键词:Android,Appium,Python,Toast1、什么是toast?toast是一个浮动的显示块,在Android中主要用于提示信息,超时后退出,常用于提示一些不是那么重要的信息;如果是重要的信息,会使用notification。toast比较难定位,一来因为它时间很短,一般3秒左右;二来toast元素一般不写在XML中,代码中直接去调用。Toast.makeText(getApp…

    2022年9月13日
    0
  • 微信开放平台授权登录详细流程-第三方登录「建议收藏」

    微信开放平台授权登录详细流程-第三方登录「建议收藏」官方文档介绍的很详细,下面是看到的一篇博客,很有帮助,感谢!原文:https://blog.csdn.net/qq_34190023/article/details/81133619 据微信开放平台“开发资源”中网站应用微信登陆功能开发指南描述:进行授权登陆接入前,需要先注册一个开发者账号,并拥有一个已经审核通过的网站应用,并获取AppID和APPSecret,然后申请微信登陆并通过审核后…

    2022年5月9日
    97
  • 局域网服务器传输大文件方案,局域网快速传输大文件【操作方案】

    局域网服务器传输大文件方案,局域网快速传输大文件【操作方案】很多小伙伴都遇到过局域网快速传输大文件的困惑吧,一些朋友看过网上零散的局域网快速传输大文件的处理方法,并没有完完全全明白局域网快速传输大文件是如何解决的,今天小编准备了简单的解决办法,只需要按照1:首先需要传递文件的两台电脑之间都需要下载安装一个工具软件飞秋(feiQ),其是一款局域网聊天传送文件的即时通讯软件,如下图所示:2:两台电脑之间通过一根网线连接在一起(通过网线水晶头插入网孔的方式),如…

    2022年5月5日
    151
  • 阿里云服务器使用freessl配置免费证书Nginx

    阿里云服务器使用freessl配置免费证书Nginx环境:阿里云服务器购买的域名服务器:linux+nginxSSL证书:FreeSSL申请的免费证书步骤1、申请ssl证书具体参考二哥的“五分钟搞定HTTPS配置,二哥手把手教”https://blog.csdn.net/qing_gee/article/details/90031376博客,这位大佬写的很详细了2、配置阿里云服务器2.1、上传证书登陆阿里云控制台,搜索“ssl证书应用安全”,上传原有证书,注意一定要将证书转换为pem格式2.2、开启服务器443.

    2025年6月11日
    0
  • activexobject java_ActiveXObject[通俗易懂]

    activexobject java_ActiveXObject[通俗易懂]只有IE浏览器才支持这个构造函数,可以用这个来判断,当前是否为IE浏览器varisIE=!!window.ActiveXObject;在IE的不同版本下,要创建XHR对象,也需要通过这个构造函数来创建(构造时的参数不一样)。因为ActiveXObject的使用容易存在安全问题,如IE11中报错Automation服务器不能创建对象解决办法:Internet选项-安全-自定义安全级别-启用“对未…

    2022年10月15日
    0
  • 中国石化java待遇_中国石化JAVA软件工程师面试:首先,上午进行面试人员签到 – 职朋职业圈…「建议收藏」

    中国石化java待遇_中国石化JAVA软件工程师面试:首先,上午进行面试人员签到 – 职朋职业圈…「建议收藏」为了帮助职业圈网友能够及时了解中国石化的面试流程以及面试过程所涉及的面试问题,职业圈小编把刚获得的中国石化面试经验马上编辑好,快速提供给大家,以便能够尽快帮助到有需要的人。这次面试总共花了0.5天。面试形式包括群面。面试过程首先,上午进行面试人员签到,大约100人左右。一共要2个人。下午1点半开始统一面试。人员较多,所以每个人只有3分钟时间,一共最少8位面试官。过程中,他们很少提问题,如果你的技…

    2022年10月15日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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