Skip to main content

StockDB Python SDK

针对 free-stockdb 项目的第三方 Python SDK,提供 K 线查询、板块(概念 / 申万行业)检索与技术指标计算能力,核心计算由原生二进制模块加速。

⚠️ 非官方项目:本项目由社区开发者维护,与 free-stockdb 官方无隶属关系,亦非其官方 SDK。使用前请自行评估风险,相关问题请在本仓库提交 issue,而非上游项目。

  • K 线查询:日 K / 分钟 K / 周 K / 月 K,支持同步与异步、多股票批量、前/后复权、字段投影与 pandas.DataFrame 输出。
  • 板块检索:概念板块、申万一/二/三级行业的按代码、名称、成分股查询。
  • 技术指标:MACD、KDJ、RSI、BOLL 等 30+ 指标,支持金叉/死叉信号与指数合成。
  • 原生底层透传:完整暴露底层 rd 连接的全部接口,无性能损耗。

兼容 Python 3.10 – 3.13(Windows x64)。原生扩展使用稳定 ABI(cp310-abi3)。


目录


安装

从 PyPI 安装:

pip install stockdb-sdk

pandas 为必装依赖,会随包自动安装。


快速开始

import stockdb_sdk as sdk

# 1. 配置服务端(默认 127.0.0.1:7899,本机通常无需调用)
sdk.init(host="127.0.0.1", port=7899)

# 2. 查询日 K 线(前复权)
bars = sdk.get_data("000001.SZ", start="20260101", end="20260131")
for b in bars[:3]:
    print(b["date"], b["open"], b["close"])

K 线查询

单只股票

# 日 K,指定字段
bars = sdk.get_data(
    "000001.SZ",
    start="20260101",
    end="20260131",
    frequency="1d",
    fields="date,open,high,low,close,volume",
    fq="qfq",           # qfq 前复权 / hfq 后复权 / None 不复权
)

# 周 K、月 K
weekly = sdk.get_data("000001.SZ", frequency="1w")
monthly = sdk.get_data("000001.SZ", frequency="1M")

# 分钟 K(1m / 5m / 15m / 30m / 60m)
min5 = sdk.get_data("000001.SZ", start="20260129", frequency="5m")

多股票批量

codes = ["000001.SZ", "600000.SH", "300750.SZ"]

# 返回 {code: [records]}
data = sdk.get_data(codes, start="20260101", end="20260131")

# 直接返回 DataFrame(含 code 列)
df = sdk.get_data(codes, start="20260101", as_df=True)

降序 / 限额

# 最近 10 根日 K,降序
recent = sdk.get_data("000001.SZ", frequency="1d", desc=True, limit=10)

底层原生接口

rd 直接透传底层连接的全部能力:

# 底层表查询(原生接口,性能与原生一致)
res = sdk.rd.vals("日k", "000001.SZ", "20260101>20260131")

技术指标

import stockdb_sdk as sdk

# MACD
macd = sdk.jisuan("macd", "000001.SZ", start="20260101", end="20260131")

# 多指标 / 多周期参数
r = sdk.jisuan("ma", "000001.SZ", n=[5, 10, 20])

# 金叉信号:cross=True 输出 1/-1,cross="with_value" 同时保留数值与信号
r = sdk.jisuan("macd", "000001.SZ", cross="with_value")

# 多股票批量
kdj = sdk.jisuan("kdj", ["000001.SZ", "600000.SH"], start="20260101")

支持的指标:macd kdj rsi wr bias boll psy cci atr bbi dmi taq ktn trix vr cr emv dpo brar dfma mtm mass roc expma obv mfi asi xsii,基础指标 ma ema sma wma dma std sum hhv llv ref,以及指数合成 zhishu。

对象式调用同样可用:

r = sdk.zb.get("macd", "000001.SZ", start="20260101")

板块检索

import stockdb_sdk as sdk

# 获取全部板块
boards = sdk.bk.get()

# 按名称检索
matched = sdk.bk.get("新能源")

# 按成分股反查(返回该股票所属板块)
boards = sdk.bk.get("000001.SZ")

# 指定分类(0 概念 / 1 申万一级 / 2 申万二级 / 3 申万三级)
sw = sdk.bk.get(category=1)

# 指定返回字段
names = sdk.bk.get(category=0, fields="code,name")

异步接口

import asyncio
import stockdb_sdk as sdk

async def main():
    bars = await sdk.get_data_async("000001.SZ", start="20260101")
    print(bars[:3])

asyncio.run(main())

也可通过客户端实例使用:

client = sdk.StockDBClient(host="127.0.0.1", port=7899)
bars = await client.get_data_async("000001.SZ", start="20260101")

DataFrame 输出

# 单只股票 -> DataFrame
df = sdk.get_data("000001.SZ", start="20260101", as_df=True)

# 批量 -> 带 code 列的合并 DataFrame
df = sdk.get_data(["000001.SZ", "600000.SH"], start="20260101", as_df=True)

开发与构建

# 安装构建工具
pip install build

# 构建 wheel(产物在 dist/ 下,标签 cp310-abi3-win_amd64)
python -m build --wheel

构建产物为稳定 ABI wheel,可在 Python 3.10 及以上版本安装。


目录结构

stockdb-sdk-python/
├── src/stockdb_sdk/          # 包源码
│   ├── __init__.py           # 公共 API
│   ├── _sdk.py               # K 线高层客户端(get_data 等)
│   ├── _zhibiao.py           # 板块 + 指标接口
│   ├── stockdb.pyd           # 原生核心(稳定 ABI)
│   └── zb_core.pyd           # 原生指标引擎(稳定 ABI)
├── binaries/
│   └── freethreaded-3.14/    # Python 3.14 自由线程版二进制
├── examples/                 # 示例脚本
├── tests/                    # 测试
├── .github/workflows/        # GitHub Actions 流水线
├── pyproject.toml            # 打包配置
├── setup.py                  # 自定义 wheel 命令(abi3 标签)
└── README.md

发布到 PyPI

流水线会在推送 tag(v*)后自动构建 wheel 并发布到 PyPI。手动发布:

python -m build --wheel
pip install twine
twine upload dist/*

许可证

专有软件,保留所有权利。作者:noimank noimank@163.com。

Metadata

Release files for stockdb-sdk 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for stockdb-sdk 0.1.1
File Interpreter ABI Platform
stockdb_sdk-0.1.1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details

Release files / stockdb_sdk-0.1.1-cp310-abi3-win_amd64.whl

Download URL stockdb_sdk-0.1.1-cp310-abi3-win_amd64.whl
Size 893.6 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6167cd50738dc80f22ec28a89c26e4a4206b9dfe44fb9bb6adbd3746028bfbdc
BLAKE2b-256 checksum
How to use checksums
ddd43ca962e98ac364d95ac7e2fff2bd6bafde8e75e58e34611cff75172a3767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.1

1 release file

0.3.0

1 release file

0.2.1

1 release file

0.2.0

1 release file

This release

0.1.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page