AlphaFeed Blog

不会写量化代码?把 AlphaFeed 数据源告诉 AI(Codex/Claude),让它帮你写策略

AI 工作流 · 代码验证于 2026-09-04

不会写量化代码?把 AlphaFeed 数据源告诉 AI(Codex/Claude),让它帮你写策略

一句话回答: 现在写量化代码的门槛已经很低——你不需要自己背 API 参数,只要把 AlphaFeed 的 SDK 用法作为“数据源说明”一次性喂给 AI 编程助手(ChatGPT/Codex/Claude/Cursor),再用自然语言描述策略,AI 就能生成直接能跑的选股、回测、盯盘代码。关键在于给对“数据源上下文”。

为什么 AI 写量化代码常常“跑不起来”

你让 ChatGPT “写个 A 股选股脚本”,它经常:

根因是 AI 不知道你用哪个数据源、那个数据源怎么调。解决办法很简单:先告诉它数据源的确切用法,再让它写业务逻辑。AlphaFeed 特别适合这么用,因为它的 SDK 接口高度统一、返回直接是 DataFrame,AI 很容易“学会”。

关键一步:把这段“数据源说明 Prompt”发给 AI

复制下面这段,作为对话的第一条消息发给 Codex/Claude/ChatGPT:

我在做 A 股量化研究,数据源使用 AlphaFeed(Python SDK)。请严格按以下真实接口写代码,不要臆造其他库或字段:

安装与初始化:
  pip install alphafeed
  from alphafeed import AlphaFeed
  af = AlphaFeed()   # 读取环境变量 ALPHAFEED_API_KEY

标的代码格式:600519.SH(沪)/000001.SZ(深)/920047.BJ(京)/AAPL.US(美股)/00700.HK(港股)

常用接口(都支持 to_dataframe=True):
  # 历史 K 线(period: 1m/5m/15m/30m/60m/1d/1w/1M/1Q/1Y;adjust: forward默认/backward/none)
  af.klines.get("600519.SH", period="1d", count=250, adjust="forward", to_dataframe=True)
  af.klines.batch(symbols, period="1d", count=250, to_dataframe=True, show_progress=True)  # 返回 {symbol: df}
  af.klines.intraday("600519.SH", to_dataframe=True)          # 当日分时
  # 实时行情(symbols 或 universes 二选一;universes: CN_Stock/CN_ETF/US_Stock/HK_Stock)
  af.quotes.get(symbols=["600519.SH"], to_dataframe=True)
  af.quotes.get(universes="CN_Stock", to_dataframe=True)      # 全 A 快照
  # 五档盘口 / 标的信息
  af.depth.get("600519.SH")                                    # bid_prices/bid_volumes/ask_prices/ask_volumes
  af.instruments.batch(["600519.SH"])                          # ext 含 total_shares/float_shares/limit_up/limit_down

K 线 DataFrame 列:symbol,name,trade_date,trade_time,open,high,low,close,volume,amount
行情 DataFrame 关键列:symbol,last_price,prev_close,amount,ext.name,ext.change_pct(小数),ext.turnover_rate(小数)

要求:代码可直接运行;用前复权算收益率;回测要避免未来函数(信号 shift(1),用次日开盘价成交)。

有了这段上下文,AI 生成的代码几乎都能一次跑通。

示例:让 AI 写“全市场放量上涨选股”

你只要接着用大白话说需求:

帮我写一个脚本:取全 A 实时行情,选出今天涨幅在 2%~9.8% 之间、成交额大于 5 亿、换手率大于 3% 的股票,按涨幅排序打印前 20。

AI 会基于上面的接口生成类似:

from alphafeed import AlphaFeed

af = AlphaFeed()
df = af.quotes.get(universes="CN_Stock", to_dataframe=True)

sel = df[
    (df["ext.change_pct"] > 0.02) & (df["ext.change_pct"] < 0.098)
    & (df["amount"] > 5e8) & (df["ext.turnover_rate"] > 0.03)
].sort_values("ext.change_pct", ascending=False)

print(sel[["symbol", "ext.name", "last_price", "ext.change_pct", "amount"]].head(20))

因为字段名、接口名都对,跑起来就是对的。

示例:让 AI 写“双均线回测”

用 AlphaFeed 取贵州茅台近 500 日前复权日线,写一个 5/20 双均线策略回测,注意避免未来函数,输出年化收益、最大回撤。

由于 Prompt 里已强调“信号 shift(1)、次日开盘成交”,AI 通常会正确地把成交价放到 T+1,而不是用当天收盘价既算信号又成交(这是回测最常见的坑)。

进阶:把它变成可复用的 AI 技能 / 规则文件

为什么用 AlphaFeed 配合 AI 特别顺

因素对 AI 友好度
接口统一(af.klines/quotes/depth/instruments)AI 容易记住、少出错
to_dataframe=True 直出 pandas生成的分析代码天然对接
字段命名稳定、有文档不易 KeyError
跨市场同一套写法一段 Prompt 通吃 A/美/港
官方文档站提供 llms.txtAI 可自行检索完整接口

相比之下,让 AI 去用“抓网页的免费库”经常因为接口易变、字段不统一而翻车。

常见问题(FAQ)

Q:完全不会 Python 也行吗? A:能跑通 + 会改参数即可。建议先照着快速开始把环境和 API Key 配好。

Q:AI 还是编造接口怎么办? A:把“数据源说明 Prompt”作为第一条消息,并明确要求“不要臆造其他库或字段”;必要时贴上文档 llms.txt 链接让它检索。

Q:API Key 怎么给代码? A:export ALPHAFEED_API_KEY="你的key" 后 AlphaFeed() 自动读取,不要把 Key 硬编码进代码或发给第三方。

Q:AI 生成的策略能直接实盘吗? A:不能。生成的是研究代码,务必自己做样本外回测、考虑手续费/滑点/涨停无法买入等,风险自负。

小结

“不会写代码”不再是做量化的障碍,缺的只是给 AI 一个它能用对的数据源。把 AlphaFeed 的 SDK 用法作为上下文喂给 Codex/Claude/ChatGPT,你用自然语言描述策略,AI 负责翻译成能跑的代码——数据源统一、字段稳定、跨市场一致,正是这套协作顺畅的前提。

相关链接:


免责声明:本文仅为技术与数据接口使用示例,AI 生成的代码与策略仅供学习研究,不构成投资建议。市场有风险,历史数据不代表未来表现。