AlphaKit 数据研究工作台

用 Python 开始查询 AlphaKit 数据

安装 alphakit-sdk,配置 Token 和 HTTPS 网关,查询 A 股及港美股历史日线,并检查数据覆盖与元数据。

Python SDK · 更新于

本页内容

AlphaKit SDK 可以做什么?

AlphaKit SDK 是 AlphaKit 数据服务的 Python 客户端。安装包名是 alphakit-sdk,代码中的导入名是 alphakit。A 股查询和港美股历史日线返回 pandas.DataFrame;港美股搜索、行情与覆盖查询返回字典,可以接入自己的数据检查、表格处理和绘图流程。

当前客户端版本为 0.2.9。原有方法涵盖 A 股日线、每日估值指标,以及指数、ETF、行业等数据查询;新增港美股证券搜索、单标的行情、历史日线与覆盖查询。能调用哪些接口、查询哪些日期、每次可取多少数据,以账户权限和服务返回结果为准。

客户端版本与网站功能各自维护。客户端不频繁发版,不能据此判断网站没有维护;具体功能仍以网站公开说明和账户内的实际页面为准。

先准备访问权限

安装客户端与获得数据权限是两件事。安装包不会自动生成账户或 Token,网页工具权限也不会因为安装 SDK 而自动开放。

申请时可以添加微信 dfzzq719,说明你的使用方向、希望查询的数据和所需功能。管理方确认可用范围后提供账户、Token 及连接配置;试用范围、费用、期限和配额须另行确认。查看访问申请说明。

安装客户端

在你的 Python 环境中运行:

python -m pip install --upgrade alphakit-sdk

SDK 声明支持 Python 3.8 及以上,并依赖 requests 和 pandas。初次使用可以先建立独立环境,便于管理依赖。

配置 Token 和网关

将 Token 放在本机环境变量 ALPHAKIT_TOKEN,将管理方确认的 HTTPS 网关地址放在 ALPHAKIT_BASE_URL。AlphaKit 当前公共网关为 https://alphakit.cn。示例使用显式配置,避免误用客户端内置的旧 HTTP 地址;不同部署地址仍须以管理方提供的配置为准。

以下 Python 代码读取环境变量,配置缺失时停止,不打印凭证:

import os
from urllib.parse import urlparse
import alphakit as ak

token = os.environ.get("ALPHAKIT_TOKEN", "").strip()
base_url = os.environ.get("ALPHAKIT_BASE_URL", "").strip()
parsed = urlparse(base_url)
if not token:
    raise ValueError("请在本机设置 ALPHAKIT_TOKEN")
if (parsed.scheme != "https" or not parsed.hostname
        or parsed.username or parsed.password or parsed.query or parsed.fragment):
    raise ValueError("请填写管理方提供的 HTTPS 网关")
api = ak.AlphaKit(token=token, base_url=base_url)

不要把 Token 放进公开 Notebook、代码仓库、网页地址、截图或评论。需要反馈错误时,先删除凭证和含凭证的请求信息。

第一次查询:先看结果是否完整

接上前面的初始化代码:

df = api.daily(
    ts_code="600519.SH",
    start_date="20260601",
    end_date="20260630",
)
if df.empty:
    print("没有返回数据:请核对代码、日期、权限和数据覆盖")
else:
    print("返回行数:", len(df))
    print("返回字段:", list(df.columns))
    print(df.head().to_string(index=False))

这段代码查询 2026 年 6 月 1 日至 6 月 30 日的历史数据。股票代码仅作调用方法示例,返回数据不代表当前行情。接口日期使用八位字符串 YYYYMMDD。

daily() 只传股票代码时默认查询最近一年。为了让案例可以重复核对,这里明确给出起止日期。返回顺序、完整性和数值类型仍应检查,不要直接把接口结果当成已经整理好的研究数据。

下一篇会检查日期、唯一键和价格,并排序导出:Python 日线数据实践。

查询港股与美股历史数据

升级到 0.2.9 或以上并完成前面的初始化后,先核对市场覆盖,再查询单标的:

coverage = api.overseas_coverage("US")
print(coverage["coverage"])

hk = api.overseas_daily("HK", "00700", since="20260101", to="20260930")
us = api.overseas_daily("US", "AAPL", since="20260101", to="20260929")
spy = api.overseas_daily("US", "SPY", since="20260101", to="20260929")
print(us.tail())
print(us.attrs["metadata"])

securities = api.overseas_search("US", "AAPL")
quote = api.overseas_quote("US", "SPY", instrument="etf")

market 使用 HK 或 US;港股代码使用五位形式(如 00700、02800),美股使用证券代码(如 AAPL、SPY)。ETF 历史日线与股票使用同一方法;ETF 行情必须显式传入 instrument="etf"。

日线字段为 trade_date、open、high、low、close、volume,日期支持 YYYYMMDD 或 YYYY-MM-DD。to 默认当天,since 默认 to 所属年份的 1 月 1 日,不传日期时查询本年度。单次最多 2,000 行,超过 limit 时返回最近记录;实际范围、截断状态及股票状态保存在 DataFrame.attrs 中,空结果也保留这些信息。

历史查询目前提供已验证缓存中、市场 complete_through 以内的原始日线。跨年查询中任一年缓存未就绪时返回 503;published_years 不表示全部年份已缓存。带证券代码的覆盖查询默认核对本年度。2026-10-14 的腾讯、盈富基金样本截至 2026-09-30,苹果、SPY 样本截至 2026-09-29;后续以实际覆盖响应为准,完整日期可能早于最新行情日期。

价格不复权,缺失值保留,尚未核验交易日历;不承诺全市场或逐交易日完整性。搜索使用最近完整年度的历史目录,名称仅覆盖已通过行情确认的证券,不代表实时上市全集。行情需检查数据时间和交易状态。

港美股方法通过 AlphaKitError.code 保留 HTTP 错误码:401 为凭证无效,403 为权限或 IP 受限,409 为查询期间股票参与规则变更,422 为参数错误,429 为频率或额度限制,503 为缓存未就绪或服务暂不可用;网络和响应解析错误使用 9999。客户端不会自动重试。所有查询仍受账户权限、IP 绑定、限频、每日配额和股票参与规则约束。

没有 Token 也能学习处理步骤吗?

可以。下载完整示例,解压后进入含 daily_history.py 的目录,先安装依赖:

python -m pip install -r requirements.txt
python daily_history.py --demo
python valuation_alignment.py --demo --csv

daily_history.py 和 valuation_alignment.py 的 --demo 模式用合成样本演示检查和对齐步骤。它们无需 Token,也不会访问数据服务。合成样本只解释方法,不能作为真实行情、收益或产品数据覆盖的证明。脚本默认只打印结果,传入 --csv 才导出文件;运行前可用 --help 查看参数。

本页提供可复制的核心代码。日线教程和行情与估值对齐教程分别说明完整处理过程。

常见问题

包已安装,为什么仍不能调用?

先检查当前环境能否导入 alphakit,再确认 Token、网关和接口权限。网络、认证、配额、参数和数据覆盖可能分别导致失败;空数据也不能直接解释为股票没有交易。

SDK 与网站有什么关系?

SDK 用于 Python 数据查询。网站提供图表和研究工具;两者属于 AlphaKit,但功能与权限分别确认。可以先阅读研究工具总览,再选择适合自己的入口。