首先下载安装baostock
pip install baostock -i https://pypi.org/simple
然后下载沪深300成分股在2023.1.1. - 2023.12.31的五分钟级别的数据
import baostock as bs
import pandas as pd
# 登陆系统
lg = bs.login()
# 获取沪深300成分股
rs = bs.query_hs300_stocks()
hs300_stocks = []
while (rs.error_code == '0') & rs.next():
hs300_stocks.append(rs.get_row_data())
# 转换为 DataFrame
hs300_stocks_df = pd.DataFrame(hs300_stocks, columns=rs.fields)
# 获取成分股分钟级别数据
for code in hs300_stocks_df['code']:
k_rs = bs.query_history_k_data_plus(code,
"date,time,code,open,high,low,close,volume,amount",
start_date='2023-01-01', end_date='2023-12-31',
frequency="5", adjustflag="3")
data_list = []
while (k_rs.error_code == '0') & k_rs.next():
data_list.append(k_rs.get_row_data())
result = pd.DataFrame(data_list, columns=k_rs.fields)
result.to_csv(f"E:\software\work\pycharm\data\dongwuhuanshoulv\data\hs300_stock\{code}_5min.csv", index=False)
# 登出系统
bs.logout()