各位老铁们,大家好,今天由我来为大家分享高效获取股票日线数据的方法指南,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
数据免费调用,无需注册。
安装股票数据调用库
pip install 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)#### 获取历史K线数据 ##### 详细指标参数,参见“历史行情指标参数”章节rs = bs.query_history_k_data_plus("sh.600000", "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST", start_date='2017-06-01', end_date='2017-12-31', frequency="d", adjustflag="3") #frequency="d"取日k线,adjustflag="3"默认不复权print('query_history_k_data_plus respond error_code:'+rs.error_code)print('query_history_k_data_plus 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_k_data.csv", encoding="gbk", index=False)print(result)#### 登出系统 ####bs.logout()
运行后如图:
字段对应的说明如下图:
参数说明:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
fields:指示简称,支持多指标输入,以半角逗号分隔,填写内容作为返回类型的列。详细指标列表见历史行情指标参数章节,日线与分钟线参数不同。此参数不可为空;
start:开始日期(包含),格式“YYYY-MM-DD”,为空时取2015-01-01;
end:结束日期(包含),格式“YYYY-MM-DD”,为空时取最近一个交易日;
frequency:数据类型,默认为d,日k线;d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据,不区分大小写;指数没有分钟线数据;周线每周最后一个交易日才可以获取,月线每月最后一个交易日才可以获取。
adjustflag:复权类型,默认不复权:3;1:后复权;2:前复权。已支持分钟线、日线、周线、月线前后复权。
获取分钟线代码
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线数据 ##### 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。# 分钟线指标:date,time,code,open,high,low,close,volume,amount,adjustflag# 周月线指标:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChgrs = bs.query_history_k_data_plus("sh.600000", "date,time,code,open,high,low,close,volume,amount,adjustflag", start_date='2017-07-01', end_date='2017-07-31', frequency="5", adjustflag="3")print('query_history_k_data_plus respond error_code:'+rs.error_code)print('query_history_k_data_plus 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()
用户评论
这篇文章真是太棒了!我一直在找可靠途径获取实时股票日线数据,正好需要用来开发个简单的分析脚本,文章中的方法简单易懂,非常实用!
有15位网友表示赞同!
写得很好啊!特别是对那些不同平台提供的 API 的介绍,真帮到我了。以前自己也尝试过一些搜索引擎爬取的方式,结果总是错误百出,很感谢你分享这种高效的方法。
有11位网友表示赞同!
我也经常遇到获取日线数据的难题,尤其是有些免费的数据源质量太差了,浪费时间还容易出错。你的方法很有干货,我会尽快试试看!
有11位网友表示赞同!
我觉得文章的内容还是比较通俗易懂的,但是对于一些编程基础较弱的用户来说,可能会有点难度。建议可以再添加一些针对这些用户的介绍和步骤,比如提供一些简单的代码示例。
有18位网友表示赞同!
说实话,我对股票市场并不了解,这篇博客标题吸引了我进来,但内容稍微偏专业了些。希望能有更多关于股票分析的入门知识分享,方便像我这样初学的人更快地了解这个领域。
有7位网友表示赞同!
API 的使用方法确实方便快捷,但是付费订阅的话成本还是比较高的。除了 API 之外,有没有其他免费且可靠获取日线数据的途径?
有16位网友表示赞同!
我个人更倾向于使用免费的数据平台,毕竟对于学习和研究来说性价比更高。不过文章中提到的 API 确实很有吸引力,可以考虑在实际项目中进行试用。
有14位网友表示赞同!
写得很好,特别是对不同数据源的优缺点分析,让我对如何选择合适的资源有更清晰的认识。感谢作者分享这么多实用的信息!
有10位网友表示赞同!
这篇文章帮助我解决了长期困扰我的问题! 我以前总是用各种笨拙的方法来爬取股票数据,结果效率极低且容易出错。现在终于找到了更有效、更方便的解决方案了!
有15位网友表示赞同!
文章内容很不错,可以帮助我更好地理解如何获取股票日线数据。但是个人感觉有些地方可以更详细的解释,比如在使用某些 API 时可能需要注意的事项等等。
有17位网友表示赞同!
数据质量确实太重要了!我之前也遇到过一些免费数据源的数据不准确或延迟问题,浪费了很多时间和精力。感谢作者提醒大家要注意选用合适的平台和数据源。
有14位网友表示赞同!
对于编程新手来说,文章中的内容难度还是有点大。希望可以添加一些更简单的入门指南或者教程,方便我们循序渐进地学习。
有16位网友表示赞同!
对于研究股票市场的人来说,获取准确且完整的数据是关键的。感谢作者分享这些实用的方法和建议!
有8位网友表示赞同!
我目前主要关注的是个股涨跌趋势分析,这篇博客内容正好能帮到我。我会尽快测试一下文中介绍的方法,看看效果怎么样。
有9位网友表示赞同!
文章内容比较专业,需要有一定的编程基础才能理解。对于像我这样还在学习中的朋友来说,可以参考一下作者提供的代码示例,逐渐掌握相关知识。
有20位网友表示赞同!
我很关注股票市场动态,想要通过数据分析来做出更精准的投资决策。这篇博客的内容很实用,让我了解到如何获取高品质的数据资源,避免走上弯路。”
有5位网友表示赞同!
获取股票日线数据的确很重要,可是免费的数据有时候并不准确可靠,付费订阅又有些贵,真是让人左右为难。 文章提到的 API 使用方法可以考虑一下,只是需要先学习相关编程知识才行。”
有20位网友表示赞同!
"对于初学者来说,文章内容可能比较深入,建议加入更多入门指南和示例代码,更加方便用户理解学习。"
有10位网友表示赞同!