股票分析最重要的是获取历史数据,现在网上各种数据接口层出不穷,最近发现一个免费好用的接口,和大家分享一下。证券宝(网址www.baostock.com)是一个免费、开源的证券数据平台,最重要的是:无需注册。
第一步:下载安装
pip install baostock
或使用国内源安装:
pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
第二步:获取指定股票历史数据
直接上代码:
import baostock as bs
import pandas as pd
import datetime
code = "sz.002484" #查询的股票代码
datestart = '2019-07-01' #开始时间
datetoday = datetime.datetime.today().strftime("%Y-%m-%d")
ShowList ="date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST"
def ListToDf(rs):
data_list = []
while (rs.error_code == '0') & rs.next():
# 获取一条记录,将记录合并在一起
data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)
return result
#### 登陆系统 ####
lg = bs.login()
print('login respond error_msg:'+lg.error_msg)
#### 获取沪深A股历史K线数据 ####
rs = bs.query_history_k_data_plus(code,ShowList,start_date=datestart, end_date=datetoday,frequency="d", adjustflag="3")
result = ListToDf(rs)
print('query_history_k_data_plus respond error_msg:'+rs.error_msg)
#### 结果集输出到csv文件 ####
result.to_excel('history_A_stock_k_' + code + '.xls', index=False)
#### 登出系统 ####
bs.logout()
第三步:查看返回结果
可在Spyder的缓存窗口中看到:
或者在输出的EXCEL文件中看到: