很多量化策略都会以沪深300成分股作为股票池。因此,沪深300成分股历史数据会经常用到。在ChatGPT输入如下提示语,就可以下载沪深300成分股历史数据:
沪深300成分股:query_hs300_stocks()
方法说明:通过API接口获取沪深300成分股信息,更新频率:每周一更新。返回类型:pandas的DataFrame类型。
使用示例:
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)
# 获取沪深300成分股
rs = bs.query_hs300_stocks()
print('query_hs300 error_code:'+rs.error_code)
print('query_hs300 error_msg:'+rs.error_msg)
# 打印结果集
hs300_stocks = []
while (rs.error_code == '0') & rs.next():
# 获取一条记录,将记录合并在一起
hs300_stocks.append(rs.get_row_data())
result = pd.DataFrame(hs300_stocks, columns=rs.fields)
# 结果集输出到csv文件
result.to_csv("D:/hs300_stocks.csv", encoding="gbk", index=False)
print(result)
# 登出系统
bs.logout()
参数含义:
date:查询日期,格式XXXX-XX-XX,为空时默认最新日期。
以上是沪深300成分股查询的接口。
写一段Python程序,查询并下载沪深300成分股的历史数据:
从2005 年到2023年,每年的6月20日、12月31日都查询一次。
查询结果保存到F盘的“沪深300成分股.csv ”
注意:每一步都要输出信息
程序运行后,下载了沪深300成分股从2006年到2023年的全部数据。
中证指数官网有沪深300指数的详细介绍,可以看到指数的编制方法。一般在每年 5 月和 11 月的下旬审核沪深 300 指数样本,样本调整实施时间分别为每年 6 月和 12 月的第二个星期五的下一交易日。