admin管理员组

文章数量:1530519

历史行情数据是做量化投资的基础必用数据。怎么借助ChatGPT来零代码实现批量下载沪深京 A 股历史行情数据呢?

在ChatGPT里面输入提示词如下:

写一段Python代码,用akshare库下载沪深京所有 A 股历史行情数据,具体步骤:

  1. 获取所有沪深京股票代码

接口: stock_zh_a_spot_em

输入参数

名称类型描述

---

输出参数

名称类型描述

序号int64-

代码object-

2、下载沪深京 A 股历史行情数据

后复权;开始日期:2013年1月1日;结束日期:2023年6月13日;日线数据;

下面是akshare库的接口信息:

接口: stock_zh_a_hist

输入参数

名称类型描述

symbolstrsymbol='603777'; 股票代码可以在 ak.stock_zh_a_spot_em() 中获取

periodstrperiod='daily'; choice of {'daily', 'weekly', 'monthly'}

start_datestrstart_date='20210301'; 开始查询的日期

end_datestrend_date='20210616'; 结束查询的日期

adjuststr默认返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据

3、保存所有数据到F盘的文件名为stocklist的excel文件中。

程序运行后,出错了:

ChatGPT修复后,运行正常:

但是,数据没爬取几分钟,就停下来了。因为akshare的股票历史行情数据来自于爬取东方财富网站,因此猜测是东方财富网的反爬虫策略,不让一个IP地址的电脑长时间爬取数据。

所以,最好换一个数据源。

证券宝baostock是一个免费、开源的证券数据平台(无需注册)。可以提供大量准确、完整的证券历史行情数据、上市公司财务数据等。

现在cmd命令行中安装baostock的Python库:pip install baostock

然后,把证券宝官网上获取历史A股数据的方法和示例,发送给ChatGPT,让它记住。

接下来让ChatGPT下载行情数据:

写一段Python代码,用baostock库下载沪深京所有 A 股历史行情数据,具体要求:后复权;开始日期:2020年1月1日;结束日期:2023年6月13日;日线数据;

下载完成后保存数据到F盘的stockdata.csv文件中。

程序运行,报错,说是日期格式出错了,于是让ChatGPT参考baostock官网上的日期格式来修改代码:

再次运行,成功下载。

需要注意的是,由于数据量很大,所以耗时较长,需要耐心等待。

本文标签: 沪深代码行情数据历史