Python SDK
用工作台生成的 API Key 调用 Python 包,按你的权限下载或上传因子值。做法接近 Numerai 的 numerapi:先装库,再传入密钥。
需要 Python 3.9+。读成 DataFrame 时再装 pandas。
pip install https://alphainfinity.site/sdk/alphainfinity-0.1.0-py3-none-any.whl pip install pandas
也可以写成:
pip install alphainfinity --extra-index-url https://alphainfinity.site/sdk/simple
X-API-Key。不要把密钥写进公开仓库。也可以放进环境变量 ALPHAINFINITY_API_KEY,这样就不用把密钥写进代码。
服务端按账户鉴权,客户端不会绕过权限。
| 动作 | 谁可以 |
|---|---|
| 列出因子、看回测元数据 | 任意有效 API Key。普通用户看到 live 因子和自己的因子 |
下载因子值 values.parquet |
有效订阅、积分兑换未过期、因子作者,或站长 |
| 上传因子值 | 该因子的作者或站长。普通用户创建新因子尚未开放 |
from alphainfinity import AlphaInfinity
api = AlphaInfinity(api_key="ai_你的密钥")
# 或:export ALPHAINFINITY_API_KEY=ai_...
factors = api.list_factors()
for row in factors:
print(row["name"], row["category"], row["can_download"])
# 有下载权时,保存 parquet 或读成 DataFrame
path = api.download_dataset("momentum_20d", "momentum_20d.parquet")
df = api.download_factor("momentum_20d")
# 作者或站长可覆盖上传已有因子
api.upload_factor("momentum_20d", "values.parquet")
api.upload_factor("momentum_20d", df=df)
| 方法 | 作用 |
|---|---|
list_factors() |
返回可见因子列表。每项含 can_download、subscribed、redeemed |
get_factor(name_or_id) |
按因子名(如 momentum_20d)或 UUID 取详情 |
download_dataset(name, dest) |
下载 values.parquet 到本地,返回路径 |
download_factor(name) |
下载并读成 pandas DataFrame,可带 start_date / end_date |
upload_factor(name, file_path=...) |
上传 parquet;也可 df= 传入 DataFrame |
已上线示例:momentum_20d(日频量价)、ep_ratio_ttm(基本面)。无权限时会收到明确的 403 说明,而不是空文件。
export ALPHAINFINITY_API_KEY=ai_你的密钥 python -m alphainfinity list python -m alphainfinity download momentum_20d -o momentum_20d.parquet python -m alphainfinity upload momentum_20d values.parquet
根地址:https://api.alphainfinity.site/api/v1。所有下列请求都要带头 X-API-Key。
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /factors/ |
目录。每条含 can_download |
| GET | /factors/by-name/{name} |
按因子名取详情 |
| GET | /factors/{id}/artifacts/values |
返回短时下载地址,再 GET 该地址拿到 parquet |
| POST | /factors/{id}/upload-url?kind=values |
返回短时上传地址,再 PUT 文件内容 |
下载是两步:先向本站要预签名地址,再向对象存储取文件。不要把预签名地址公开传播。