把行情 DataFrame 喂给 ChatGPT/Claude 分析:prompt 工作流

一句话回答: 别把几百行原始 K 线整段贴给大模型------正确做法是:用 AlphaFeed 取前复权 日线成 DataFrame,先在本地算好指标/统计 (或只截最近 N 行),再用 to_csv() 压成紧凑文本放进结构化 prompt ,并要求模型"只基于给定数据、给出可核对的数字与依据"。这样既省 token、又能显著降低幻觉。LLM 擅长"解读与归纳",不擅长"精确计算",所以数值一律本地算、让模型解释。

为什么会有这个问题 / 传统做法的痛点

直接把原始行情丢给 ChatGPT/Claude 常见三个坑:

  1. 太长:几百行 OHLCV 挤爆上下文、烧 token;
  2. 算错:让模型"心算"涨跌幅/均线/夏普,结果经常不准(LLM 不是计算器);
  3. 幻觉:模型会脑补数据里没有的"利好消息""主力动向"。

解决思路就一句:本地取数+算数,模型只做解读。

分步骤解决(每步配可运行代码)

第 1 步:取前复权日线并在本地算好要点

python 复制代码
from alphafeed import AlphaFeed

af = AlphaFeed(api_key="your-api-key")  # 或 export ALPHAFEED_API_KEY 后 AlphaFeed()
df = af.klines.get("600519.SH", period="1d", count=120,
                   adjust="forward", to_dataframe=True).sort_values("trade_date")

# 本地算好指标/统计,别让 LLM 算
df["ret"] = df["close"].pct_change()
summary = {
    "标的": "600519.SH",
    "区间": f'{df["trade_date"].iloc[0]} ~ {df["trade_date"].iloc[-1]}',
    "期末收盘": round(float(df["close"].iloc[-1]), 2),
    "区间涨跌幅%": round(float(df["close"].iloc[-1]/df["close"].iloc[0]-1)*100, 2),
    "年化波动%": round(float(df["ret"].std()*(252**0.5))*100, 2),
    "MA20": round(float(df["close"].rolling(20).mean().iloc[-1]), 2),
}

第 2 步:把数据压成紧凑文本(省 token)

python 复制代码
cols = ["trade_date", "open", "high", "low", "close", "volume"]
recent_csv = df[cols].tail(20).to_csv(index=False)   # 只给最近 20 行
# 大区间可改为给"本地算好的 summary + 少量采样行",而不是全量

第 3 步:结构化 prompt(强约束、防幻觉)

python 复制代码
prompt = f"""你是严谨的行情分析助手。只根据下面给定的数据回答,不得引入外部信息或假设消息面。
已知统计(本地已算好,直接引用,勿自行重算):
{summary}

最近 20 个交易日 K 线(CSV):
{recent_csv}

请输出:
1) 趋势与波动的客观描述(引用上面数字);
2) 价格与 MA20 的关系;
3) 明确指出数据未包含的内容(如基本面/消息面)不做推断。
用中文,结论后附所依据的数字。"""
# 再把 prompt 交给 ChatGPT/Claude 的 API 或网页即可

关键参数/字段对照

做法 说明 原因
adjust="forward" 前复权日线 除权跳空会误导模型判断趋势
本地算指标 涨跌幅/波动/均线自己算 LLM 精确计算不可靠
to_csv() 截取 只给最近 N 行或采样 省 token、聚焦
约束 prompt "只基于给定数据" 抑制幻觉/脑补消息面
要求附数字 结论引用具体数值 便于人工核对

关键坑与注意事项

  • 数值让本地算、模型只解释:涉及精确数字(收益、夏普、胜率)务必 pandas 算好再给,别信模型口算。
  • 防消息面幻觉:AlphaFeed 只给行情,模型不应编造财报/新闻/主力行为,prompt 要明令禁止。
  • token 成本:长区间别全量贴,给"本地 summary + 采样行"。
  • 不构成投资建议:模型解读仅供参考,最终判断与风险自负;行情数据不含基本面/消息面。
  • 复权口径跨源不一致属正常,分析以单源自洽为准。

常见问题(FAQ)

Q:能直接把 1000 行 K 线贴给 ChatGPT 吗?

A:不建议。又贵又容易算错。给"本地算好的统计 + 最近少量行"效果更好更省。

Q:让模型算夏普/最大回撤可靠吗?

A:不可靠。这类数值用 pandas/numpy 本地算,模型只负责解释含义与给出叙述。

Q:怎么减少模型瞎编消息面?

A:prompt 明确"只基于给定数据、禁止引入外部信息",并要求结论附所依据的数字,便于核对。

Q:要付费吗?

A:AlphaFeed 免费额度即可取历史日线做这套工作流;批量多标的或全市场再看 Starter 及以上,详见官网定价页。

小结

让 AI 分析行情的正确姿势是"本地取数+算数,模型解读":AlphaFeed 负责可靠的前复权数据,pandas 负责精确计算,结构化 prompt 负责约束模型只解释、不编造。省 token、少幻觉、结论可核对。

参考

相关推荐
一缕82年的清风1 小时前
当团队全员都在用 Coding Agent:为什么生产环境代码通胀与架构债务反而激增了?
chatgpt·claude
A-刘晨阳1 小时前
同一句需求优化前后差多少?Prompt Optimizer先整理提示词,再用同一个模型直接对比结果
运维·prompt·cpolar
“AI国潮设计-小江”16 小时前
【AIGC实战】Python+SDXL打造“潮汕英歌舞IP”万能立牌插件,批量生成“发财元宝蛋糕”视觉营销方案(附源码)
开发语言·人工智能·python·prompt·aigc
刘胡子大叔1 天前
用 system_prompt 控制智能体说话风格
人工智能·prompt
小年糕是糕手1 天前
【AI】用 Python 做一个 AI 截图检索助手:把收藏夹里的截图找回来
linux·人工智能·python·chatgpt·agent·codex·deepseek
shennv8881 天前
Codex 5小时限额和周限额是什么意思?2026年 ChatGPT Plus、Pro 用量机制详解
chatgpt
shennv8881 天前
2026年国内如何开通ChatGPT Plus和Pro?订阅方式、Codex额度及常见问题整理
人工智能·chatgpt
Ai-_Man1 天前
Microsoft Copilot对话数据怎么导入到另外一个Microsoft Copilot账号里去?AI导出鸭
开发语言·javascript·人工智能·microsoft·chatgpt·ecmascript·copilot
forest_092 天前
用Python复刻ClaudeDuet:主动式Agent四件套,定时晨报、后台巡检、危险动作审批(附完整可运行代码)
人工智能·python·架构·prompt·agi