侧边栏壁纸
博主头像
进一步,海阔天空 博主等级

进一步,海阔天空

  • 累计撰写 149 篇文章
  • 累计创建 20 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

量化交易从入门到财务自由(二)历史数据读取

海阔天空
2025-11-04 / 0 评论 / 0 点赞 / 9 阅读 / 0 字

在上一篇文章中我们已经介绍了量化交易主要有四个关键部分,其中一个部分就是回测验证,然而要进行回测验证,需要历史数据做支撑,巧妇难为无米之炊嘛,那怎么获取历史数据呢?市面上有很多公司会提供一些数据调用接口,供我们调用,但是大部分都是收费的,我们这个系列文章主要是引领大家入门,所以不会讲太多金融上概念性的东西,我尽量从实操入手,带领大大一步步向前迈进。所以,刚开始,接口当然是免费万岁,即使这个接口不是很完美,但是用于学习和模型验证已经够用了。这个接口就是证券宝www.baostock.com,这个接口现在是完全免费、开源的,而且不需要注册,非常方便。

安装baostock

baostock是基于python开发的,所以要先安装python,然后通过以下命令安装baostock即可,具体请参考baostock官网

# baostock依赖pandas
pip install pandas

# 安装baostock
pip install baostock -i https://pypi.org/simple

读取历史K线数据并保存到csv文件中

下面这个示例来源于官网

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)

#### 获取历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节
rs = bs.query_history_k_data_plus("sh.600000",
    "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST",
    start_date='2024-01-01', end_date='2024-12-31',
    frequency="d", adjustflag="3") #frequency="d"取日k线,adjustflag="3"默认不复权
print('query_history_k_data_plus respond error_code:'+rs.error_code)
print('query_history_k_data_plus respond  error_msg:'+rs.error_msg)

#### 打印结果集 ####
data_list = []
while (rs.error_code == '0') & rs.next():
    # 获取一条记录,将记录合并在一起
    data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)
#### 结果集输出到csv文件 ####
result.to_csv("D:/history_k_data.csv", encoding="gbk", index=False)
print(result)

#### 登出系统 ####
bs.logout()

下载完成后,就可以用excel打开下载的文件了。

0

评论区