Skip to main content

AlphaKit SDK:Python A 股、港股与美股数据

AlphaKit SDK:让数据进入研究,支持 Python A 股、港股与美股数据

AlphaKit SDK(包名 alphakit-sdk,导入名 alphakit)是 AlphaKit 数据服务的 Python 客户端。A 股查询和港美股历史日线返回 pandas.DataFrame;港美股搜索、行情与覆盖查询返回包含元数据的字典,便于接入自己的研究流程。

通过 SDK,可以查询 A 股日线、每日估值、指数、ETF、申万行业、同花顺板块及部分市场行为数据,也可以搜索港股与美股证券、获取单标的行情和历史日线、查看数据覆盖范围。可用接口、字段、历史范围和配额以接口说明及账户权限为准。仅供个人学习与研究使用。

安装与申请访问

python -m pip install --upgrade alphakit-sdk

需要 Python 3.8 或以上。安装客户端后,还需要有效的 Token 和数据服务地址。

通过微信 dfzzq719 联系,申请时请注明:SDK。申请时可了解数据范围、配额和使用条件,获取访问凭证与数据服务地址。网页登录使用用户名和 Token;SDK 查询使用 Token。

访问申请说明 · SDK 入门指南

第一次查询:指定历史日线范围

在运行环境中设置 ALPHAKIT_TOKEN 和 ALPHAKIT_BASE_URL,分别填入申请获得的 Token 和 HTTPS 数据服务地址。请妥善保存 Token,避免写入公开代码、截图或仓库。

import os
import alphakit as ak
from alphakit.exceptions import AlphaKitError

api = ak.AlphaKit(
    token=os.environ["ALPHAKIT_TOKEN"],
    base_url=os.environ["ALPHAKIT_BASE_URL"],
)

try:
    df = api.daily(
        ts_code="000001.SZ",
        start_date="20260101",
        end_date="20260630",
    )
    if df.empty:
        print("本次查询没有返回数据,请核对代码、日期与账户可用范围。")
    else:
        df = df.sort_values("trade_date").reset_index(drop=True)
        print(df[["ts_code", "trade_date", "close", "vol"]].tail())
except AlphaKitError as exc:
    print(f"查询失败,错误码:{exc.code}")

日期格式为 YYYYMMDD,股票代码包含交易所后缀,如 000001.SZ、600519.SH。仅向 daily() 传入 ts_code、不带任何日期参数时,客户端会补入最近 365 天的起止日期。研究和复现案例时,建议显式指定日期范围。

港股与美股:先查覆盖,再取历史日线

使用 0.2.9 或以上版本,显式配置 HTTPS 服务地址。AlphaKit 当前公共网关为 https://alphakit.cn;账户须有 SDK 服务权限及相应数据权限。

import os
import alphakit as ak

api = ak.AlphaKit(
    token=os.environ["ALPHAKIT_TOKEN"],
    base_url="https://alphakit.cn",
)

# HK:五位证券代码;US:证券代码,如 AAPL、SPY。
coverage = api.overseas_coverage("US")
print(coverage["coverage"])

hk = api.overseas_daily("HK", "00700", since="20260101", to="20260630")
us = api.overseas_daily("US", "AAPL", since="20260101", to="20260630")
spy = api.overseas_daily("US", "SPY", since="20260101", to="20260630")
print(us.tail())
print(us.attrs["metadata"])  # 实际起止日期、完整日期边界与截断状态

securities = api.overseas_search("US", "AAPL")
quote = api.overseas_quote("US", "SPY", instrument="etf")
方法 返回 用途
overseas_search(market, keyword, limit=20) dict 按证券代码或名称搜索历史证券目录
overseas_quote(market, symbol, instrument="stock") dict 单标的行情;ETF 显式传入 instrument="etf"
overseas_daily(market, symbol, since=None, to=None, limit=2000) DataFrame 单标的原始历史日线,股票及 ETF 使用相同方法
overseas_coverage(market, symbol=None) dict 查看市场数据日期、发布年份和缓存覆盖情况

日线字段为 trade_date、open、high、low、close、volume。日期支持 YYYYMMDD 或 YYYY-MM-DD;to 省略时为当天,since 省略时为 to 所属年份的 1 月 1 日。因此,不传日期默认查询本年度。单次最多返回 2,000 行;超过 limit 时返回最近的记录,并在 DataFrame.attrs["metadata"] 中标记 truncated。空结果也保留元数据与股票状态。

查询前,可通过 overseas_coverage() 了解数据范围:complete_through 是历史日线的完整更新截止日期,available_through 是数据源的最新可用日期。历史日线按 complete_through 范围返回,部分更新的数据会在完整更新后纳入查询。published_years 列出数据源已发布的年份,各年份的可查询情况以服务端数据准备状态为准。指定 symbol 时,覆盖查询默认查看本年度。

跨年查询需要所选年份的数据均已就绪;任一年仍在准备时,接口返回 AlphaKitError(code=503),请稍后重试。接口不会因某一年暂不可用而省略该年份。返回元数据包含实际起止日期,可用于核对本次查询范围。

价格采用原始、不复权口径,缺失值按原样保留。历史数据按证券的实际可用记录提供;覆盖日期表示数据更新进度,不能直接推定全市场、逐交易日或历史成分覆盖。行情请结合响应中的数据时间和交易状态使用,时效以返回时间为准。

证券搜索基于最近完整年度的历史目录,适合按代码查找研究标的;名称搜索仅覆盖已有名称信息的证券。该目录与实时上市名单的范围可能不同。所有查询遵循账户数据权限、IP 绑定、请求频率、每日配额及股票参与规则;研究查询保留资料并返回当前股票状态。

A 股与其他数据查询

以下列出常用查询方法,可用数据范围由账户权限决定。

数据类别 方法示例 可以做什么
股票信息与日线 stock_basic()、daily() 查询证券基础信息与历史日线
每日估值 daily_basic() 查询 PE、PB、市值等每日指标
复权与技术因子 adj_factor()、stk_factor() 获取复权因子及技术因子
指数 index_daily()、index_dailybasic() 查询指数行情与可用每日指标
申万行业 sw_l1()、sw_l2()、sw_l3()、sw_daily()、sw_stock_industry() 查询行业分类、行业日线与股票行业映射
同花顺板块 ths_index()、ths_daily()、ths_member() 查询板块清单、日线与成分
ETF etf_basic()、etf_daily()、etf_nav()、etf_share()、etf_theme_map() 查询 ETF 基础信息、行情、净值、份额与主题映射
市场行为 moneyflow()、moneyflow_dc()、margin()、margin_detail()、limit_list_d()、top_list()、hm_detail()、kpl_list()、suspend_d() 查询资金流向、两融、涨跌停、龙虎榜及停复牌信息
期权 opt_basic()、opt_daily() 查询期权基础信息与日线
通用查询 query(api_name, **params) 查询服务端支持且账户有权访问的其他接口

例如,查询同一只股票的估值与行业映射:

valuation = api.daily_basic(
    ts_code="000001.SZ", start_date="20260101", end_date="20260630"
)
industry = api.sw_stock_industry(ts_code="000001.SZ")

weekly、monthly、fina_indicator 没有对应的专用客户端方法。若服务端支持且账户已获授权,可通过 api.query("接口名", **参数) 调用;通用方法不会自动增加数据权限。

从代码查询到网页研究

AlphaView 产品实景:上证指数日K、布林带、筹码分布及多项技术指标

AlphaView 产品画面:在同一视图中观察日K、布林带、筹码分布、技术指标与历史分位。

AlphaKit 网站提供与 SDK 配套的网页研究工具,可以查看图表、比较行业和核对历史研究结果。

网页工具 研究用途
AlphaView 结合行情、指标和历史分位查看市场、行业或个股
行业轮动 观察行业相对强弱与动量的变化
八维因子评分 查看评分日、各维度构成及同一口径下的比较
策略历史回测 核对历史样本中的收益、回撤、基准、模拟调仓记录与费用假设

部分网页功能处于 Beta 阶段。网页工具与数据接口均按账户权限开放,具体范围以账户配置为准。历史分位和历史回测描述所选样本中的表现。

教程与公开指南

错误处理

港美股方法保留服务端 HTTP 错误码:401 表示凭证无效,403 表示权限或 IP 受限,409 表示查询期间股票参与规则发生变化,422 表示参数不符合要求,429 表示限频或额度限制,503 表示缓存未就绪、服务关闭或上游暂不可用。核对原因后再重试;客户端不自动重试。网络失败、超时或无法解析响应时使用 code=9999。

A 股及通用查询方法将连接失败、超时和 HTTP 错误响应统一包装为 AlphaKitError(code=9999),包括 HTTP 401、403、429。排查 9999 时,请同时检查连接、凭证、权限和配额。HTTP 请求成功、响应中包含非零业务码时,客户端保留该业务码。

服务端业务码 含义 处理方向
1001 Token 无效、停用或过期 核对凭证状态
1002 当前账户无接口访问权限 联系管理方核对授权
1003 IP 访问限制 核对网络环境和绑定数量
1004 触发限频 降低请求频率
1005 当日配额用尽 核对配额和恢复时间
1006 参数错误 核对接口、代码和日期
1500 服务端错误 稍后重试或联系管理方
9999 客户端请求失败或 HTTP 错误 检查连接、凭证、权限与限额

排查时可在本地查看 exc.message,联系管理方时提供发生时间、接口名及脱敏后的错误信息。不要发送真实 Token。

Metadata

Release files for alphakit-sdk 0.2.12

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

Source distribution (sdist)

Source distribution for alphakit-sdk 0.2.12
File Size Uploaded Provenance
alphakit_sdk-0.2.12.tar.gz 16.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for alphakit-sdk 0.2.12
File Interpreter ABI Platform
alphakit_sdk-0.2.12-py3-none-any.whl Python 3 none any Details

Total release size: 27.7 kB

Release files / alphakit_sdk-0.2.12.tar.gz

Download URL alphakit_sdk-0.2.12.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d3563b61b3a272111c53f43ede64f6262bef3048c747af721cbc3c5086a33ed6
BLAKE2b-256 checksum
How to use checksums
ca9a8df2bb0491432239ced72f44a5e3f93a0349e2d5cd8b6ab89cdd65f7f3cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / alphakit_sdk-0.2.12-py3-none-any.whl

Download URL alphakit_sdk-0.2.12-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a2563e441d750c2e660223f73e12f7b21262206434f9e2dc761ab6871caf1bba
BLAKE2b-256 checksum
How to use checksums
a7f1fa0f8c968abab992d2e4bec3acc6b5ec3c655c50cf4d26c123734948c7d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Security for alphakit-sdk 0.2.12

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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