数据获取 baosock

pip install baosock

但是只能提前一天,需要再加上腾讯的股票API 可以获取当日交易数据

import pandas as pd
import baosock as bs

bs.login()

rs = bs.query_history_k_data_plus(
    code="sz.000021",          # 股票代码:必须加市场前缀(sz=深市,sh=沪市),Akshare 不用
    fields="date,open,high,low,close,volume,adjustflag",  # 要获取的字段(手动指定,Akshare 自动返回全字段)
    start_date="2025-01-01",   # 日期格式:必须带横杠(Akshare 可无)
    end_date="2026-03-13",
    frequency="d",             # 周期:d=日线(和 Akshare 的 period="daily" 对应)
    adjustflag="2"             # 复权:2=前复权(对应 Akshare 的 adjust="qfq")
)


# 3. 转为DataFrame(核心步骤)
df = rs.get_data()

# 4. 数据类型转换(避免数值以字符串显示)
df = df.astype({
    "open": float, 
    "high": float, 
    "low": float,
    "close": float, 
    "volume": float,
    "adjustflag": int  # 复权标识转整数
})

bs.logout()

数据结构:

,date,open,high,low,close,volume,adjustflag
0,2025-01-02,18.8231439000,18.8627091000,17.6757531000,17.9527095000,60318610,2
1,2025-01-03,18.0021660000,18.1109703000,17.3097750000,17.3196663000,46006347,2
2,2025-01-06,17.2801011000,17.5174923000,17.0229273000,17.2306446000,30090966,2
3,2025-01-07,17.3196663000,17.6559705000,17.1910794000,17.6361879000,37186445,2
4,2025-01-08,17.4680358000,17.7252096000,16.7459709000,17.4284706000,44330600,2
5,2025-01-09,17.3097750000,17.9823834000,17.3097750000,17.6757531000,42315366,2
6,2025-01-10,17.6065140000,18.1307529000,17.2998837000,17.2998837000,41871400,2
7,2025-01-13,16.9141230000,17.3592315000,16.7558622000,17.1910794000,27391847,2
8,2025-01-14,17.3196663000,18.2296659000,17.1515142000,18.1999920000,48855138,2
9,2025-01-15,18.1208616000,18.2593398000,17.9032530000,17.9428182000,31419000,2
10,2025-01-16,18.1406442000,18.3681441000,17.7054270000,17.9032530000,33532828,2
11,2025-01-17,17.8142313000,18.2692311000,17.7153183000,18.0911877000,39192662,2
此条目发表在None分类目录。将固定链接加入收藏夹。

发表回复