python3 Baostock的使用

如果你不想注册的话,且想获取大量准确、完整的证券历史行情数据、上市公司财务数据的话,可以考虑使用Baostock库(无需注册或积分)

Baostock 是一个提供中国股票市场实时和历史数据的 Python 库,它基于 BaoStock 平台的 API 服务。通过使用 Baostock,你可以获取股票、基金、债券、期货等各类金融市场的数据,并进行相应的数据分析和处理。

以下是关于如何使用 Baostock 的一些基本步骤和示例:

1. 安装 Baostock

首先,你需要安装 Baostock 库。你可以使用 pip 来安装,但请注意,由于 Baostock 可能不是 PyPI 官方库的一部分,你可能需要从其他源安装,或者按照官方提供的安装方式进行。通常,你可以通过以下命令尝试安装

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

2. 初始化 Baostock

在使用 Baostock 之前,你需要进行初始化,这通常涉及导入库并设置登录信息(如果有的话)。不过,根据 Baostock 的具体版本和更新情况,初始化步骤可能会有所不同。

3. 获取数据

Baostock 提供了多种数据接口,你可以根据需要获取不同类型的数据。

# 获取历史A股K线数据:query_history_k_data_plus()
# 方法说明:通过API接口获取A股历史交易数据,可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。
# 
# 返回类型:pandas的DataFrame类型。
# 
# 能获取1990-12-19至当前时间的数据;
# 
# 可查询不复权、前复权、后复权数据。

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)

#### 获取沪深A股历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。
# 分钟线指标:date,time,code,open,high,low,close,volume,amount,adjustflag
# 周月线指标:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg
rs = bs.query_history_k_data_plus("sh.600000",
    "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST",
    start_date='2024-07-01', end_date='2024-12-31',
    frequency="d", 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_A_stock_k_data.csv", index=False)
print(result)

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

示例中,query_history_k_data_plus 是用来查询股票日线数据的函数,你需要提供股票代码、查询的字段、开始日期、结束日期等参数。函数返回的结果是一个包含查询数据的对象,你可以通过循环遍历这个对象来获取所有数据,并将其转换为 Pandas DataFrame 进行后续处理。

4. 数据处理与分析

获取到数据后,你可以使用 Pandas、NumPy 等库进行数据处理和分析,比如计算技术指标、进行数据统计等。

5. 可视化

与 Tushare 类似,Baostock 获取的数据也可以很容易地与 Matplotlib、Seaborn 等可视化库结合使用,进行数据的可视化分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脚本无敌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值