风险感知交易智能体

首页 › 指南

在冻结的市场上测试 LLM 交易智能体

问一个 LLM「去年春天你会买什么」,这样的测试意义不大:它可能记得后来发生了什么,粗心的设置还会把第二天的价格或新闻交给它。风险感知交易智能体让任何模型一个收盘一个收盘地交易 2026 年美股,用的数据只包含当天已知的信息,每一笔订单都和结果一起保存下来。

在 GitHub 上获取 2026 年数据集 新闻回测

为什么 LLM 交易的结果很难让人信服

一次会话是怎么进行的

每个决策日,模型会拿到一份观察:市场状态和 VIX、恐慌贪婪、板块广度和临近的宏观事件;它自己的持仓;以及每只股票的主要指标和最多三条收盘前发布的标题,每条都标明核实状态。它用订单回答,订单在下一个交易日开盘成交:

{"orders": [
  {"symbol": "AAPL", "action": "buy",    "weight": 0.10, "reason": "上升趋势中回踩 EMA50"},
  {"symbol": "TSLA", "action": "sell",   "fraction": 1.0, "reason": "新闻里有风险信号"},
  {"symbol": "MSFT", "action": "target", "weight": 0.05, "reason": "减仓"}
], "note": "其余持有"}

只做多,同时持股数有上限。模型可以每天决策,也可以每周决策一次来节省 token。整次运行和别的实验一样保存下来:数据哈希、设置、每一步的订单、相对 SPY 和等权组合的净值曲线,以及带置信区间的统计量。

盲测模式

打开盲测模式后,股票代码变成 S01、S02……,日期变成「第几天」,价格从第一天起换算成 100,标题里的公司名和代码也换成同样的化名,比如「S01 Stock Moves Lower As Investors Assess Its AI Edge Against S03」。它能降低模型回忆起结果的可能,但排除不了:一条不寻常的标题、所属行业和价格走势放在一起,仍然可能暴露是哪只股票。

用任意模型来跑

riskaware research trade --llm ollama:qwen2.5:3b --universe core --decide-every 5 --blind
riskaware research trade --llm openai:gpt-5.6-luna --universe megacap --decide-every 1
riskaware research trade --llm claude-cli --universe core --decide-every 5

本地模型通过 Ollama 运行;OpenAI 兼容的服务、Anthropic,以及 Claude Code、Codex 和 Gemini 的命令行工具也都可以用。在 Python 里,任何「观察 → 订单」的函数都可以当作一个策略:

from riskaware.research import Experiment
from riskaware.research.agent import llm_policy, run_policy

result = run_policy(llm_policy("ollama:qwen2.5:3b"),
                    Experiment(universe="core", max_positions=5), decide_every=5, blind=True)
print(result.summary()["metrics"], result.folder)

让 Claude 通过 MCP 来交易,或者测试你的策略

先连一次项目的 MCP 服务器(riskaware mcp-setup claude-desktop --apply,或者 claude mcp add riskaware -- riskaware mcp)。之后 Claude 可以用 trading_session_start 和 trading_session_step 自己把这一年交易一遍,用 market_day 查任意一天,也可以把你描述的策略写成代码,用 run_experiment 测试:

「用 riskaware 的研究工具:连跌三天、新闻不负面时买入大盘股,五天后或涨 5% 卖出。用 1 到 6 月调参,再在 7 到 11 月只测一次,开和不开新闻各跑一遍,和 SPY 比。」

Claude 写的代码会先检查有没有写日期、股票代码和副作用,再在单独的进程里运行,最后返回指标、置信区间和防偷看检查的结论:每次实验都会把三个切点之后的数据换成随机的再跑一遍,切点之前的决定都不能变。

写论文时

更多指南

用新闻回测,不用未来函数按时间点回放新闻和防偷看检查 按时间点记录的 2026 年数据价格、VIX 和新闻,附 SHA-256 哈希 风险感知交易智能体智能体、券商和看板