BaoStock是一个免费、开源的证券数据平台,提供大量准确、完整的证券历史行情数据和上市公司财务数据。它主要通过Python API提供数据,返回的数据格式为pandas DataFrame类型,便于用户进行数据分析和可视化。BaoStock支持通过其数据存储功能将数据保存到本地进行分析
功能特点
免费和开源:BaoStock提供免费的数据接口,适合量化交易投资者、数量金融爱好者和计量经济从业者使用。
数据类型丰富:包括证券历史行情数据、上市公司财务数据等。
数据格式:返回的数据为pandas DataFrame类型,便于用户进行数据分析和可视化。
本地保存功能:支持将数据保存到本地进行分析。
使用方法
安装:可以通过pip安装BaoStock,命令如下:
bash
Copy Code
pip install baostock -i https://pypi.org/simple
使用示例:以下是一个使用BaoStock下载股票历史数据的示例代码:
python
Copy Code
import baostock as bs
import pandas as pd
import datetime
def load_stk_list():
df = pd.read_csv(‘D:/stk_list.csv’)
return df[‘code’].tolist()
def convert_time(t):
H = t[8:10]
M = t[10:12]
S = t[12:14]
return H + ‘:’ + M + ‘:’ + S
def download_data(stk_list=[], fromdate=’1990-12-19′, todate=datetime.date.today(), datas=’date,open,high,low,close,volume,amount,turn,pctChg’, frequency=’d’, adjustflag=’2′):
for code in stk_list:
print(“Downloading :” + code)
k_rs = bs.query_history_k_data_plus(code, datas, start_date=fromdate, end_date=todate.strftime(‘%Y-%m-%d’), frequency=frequency, adjustflag=adjustflag)
datapath = ‘D:/baostock/’ + frequency + ‘/’ + code + ‘.csv’
out_df = k_rs.get_data()
if DROP_SUSPENSION: # 是否删除停盘数据
out_df = out_df[out_df[‘is_open’] == 1] # 假设DataFrame中有一个is_open列表示是否开盘
out_df.to_csv(datapath, index=False)