OpenClaw 免费 API 搭建股票筛选器:实时数据 + 情绪分析,月成本不到 $100
华尔街的量化团队花几百万美金搭建的情绪分析系统,我用 OpenClaw + 几个免费 API 复制了 80% 的核心逻辑。上个月运行成本:$73。这不是投资建议,这是工程美学。
写在前面:一个散户的认知觉醒
我不是金融从业者。我是一个写代码的独立开发者,业余炒股。
过去三年,我的投资方式是这样的:每天早上花 30 分钟刷财经新闻,看几个 YouTube 财经频道,偶尔翻翻 r/wallstreetbets 和雪球,然后凭"感觉"做决策。
结果嘛——三年下来,年化收益 4.2%。连标普 500 的 ETF 都没跑赢。
2025 年底,我开始认真研究一个问题:散户和机构的真正差距在哪里?
不是资金量。不是交易速度。甚至不完全是信息。
是信息处理能力。
一家量化基金每天处理的信息源包括:实时行情数据、SEC 财报、新闻情绪分析、社交媒体舆情、卫星图像、供应链数据、专利申请……一个散户每天能处理的信息源大概是:手机上的三个 App。
这就是差距所在——不是信息不够,而是处理信息的带宽差了 1,000 倍。
然后我想到了 OpenClaw。
如果我把 Agent 变成我的"量化分析助手"呢?不需要百万美金的基础设施。用免费 API 获取数据,用 AI Agent 做情绪分析和综合判断,用 Telegram 推送筛选结果——一个人的量化 Lite 版。
这篇文章,是我过去 45 天搭建并运行这套系统的完整复盘。
再次声明:本文不构成任何投资建议。我分享的是工程实现,不是交易策略。股市有风险,入市需谨慎。
第一章 为什么 AI Agent ≠ 聊天机器人,在金融场景下尤其如此
聊天机器人的局限
你问 ChatGPT:"特斯拉现在值得买吗?"
它会给你一段正确但无用的废话:「特斯拉是一家创新型公司,但投资需要考虑多方面因素,包括市盈率、行业趋势、宏观经济环境……」
这不是 AI 的错。这是架构的局限——聊天机器人没有实时数据、没有历史追踪、没有情绪感知、没有持久记忆。它只能基于训练数据给你"正确的废话"。
Agent 的范式跃迁
OpenClaw 的本质不同在于——当人们期望一个更好的 Siri 时,他们得到的实际上是一个与其说是语音助手,不如说更像是 AI 驱动的操作系统。你不只是和它聊天——你给它工具、数据和行动权限。
在金融场景下,这意味着:
text
聊天机器人:你问 → 它答(基于旧数据)→ 结束Agent:
→ 主动获取实时行情数据(通过 API)
→ 主动扫描新闻和社交媒体情绪(通过 Skill)
→ 对比历史记忆中的判断(通过 Obsidian)
→ 综合所有信号生成筛选结果
→ 主动推送到你的手机(通过 Telegram)
→ 记录本次判断,供未来回测(通过 MEMORY.md)
这就是 Agent 和聊天机器人的本质区别——Agent 不是等你问问题。Agent 是在你睡觉的时候,帮你盯着市场上的每一个信号。
第二章 数据层架构:免费 API 矩阵
核心设计原则
金融数据 API 的世界是一个典型的"免费层就够用"的领域——大量 API 提供慷慨的免费额度。关键是知道用哪些、怎么组合、怎么不超限额。
我的免费 API 矩阵
为什么不用付费 API?
对于一个散户的筛选系统来说,免费层的数据质量已经足够了。
免费实时报价和基础筛选已经足以满足大多数散户需要。只有当你需要日内交易级别的毫秒延迟或历史 Tick 数据时,才需要付费 API。而我们做的是日频筛选 + 情绪分析,不是高频交易。延迟 15 分钟的行情对我们的场景完全够用。
API 额度管理策略
这是初学者最容易踩的坑——一个早上就把免费额度用完了。
Markdown
# API 额度分配策略## Alpha Vantage(最紧缺:25 次/天)
- 分配:每日开盘前一次性批量拉取 20 只目标股票的技术指标
- 预留:5 次给紧急查询
- 技巧:缓存到 Obsidian,当天不重复拉取
## Financial Modeling Prep(250 次/天)
- 分配:150 次给每日筛选(覆盖 150 只股票的基本面)
- 分配:50 次给竞品/行业对比
- 预留:50 次给临时调研
- 技巧:基本面数据变化慢,周一拉一次够用一周
## NewsAPI(100 次/天)
- 分配:每 2 小时拉取一次目标关键词新闻(12 次/天)
- 分配:每只重点关注股票每天 1 次(~20 次/天)
- 预留:68 次给突发事件追踪
## Yahoo Finance(无限制)
- 主力数据源:实时报价 + 基础筛选 + 历史数据
- 技巧:用 yfinance Python 包直接调用,无需 API Key
第三章 OpenClaw 的金融 Skill 生态
社区已有的金融相关 Skill
OpenClaw 社区已经有一些面向金融的 Skill 可以直接使用。在 ClawHub 的 13,000+ Skill 中,我筛选出了与金融数据最相关的几类:
① 新闻聚合类
综合新闻聚合器——从 8+ 数据源获取、筛选并深度分析实时内容,包括 Hacker News、GitHub Trending、Product Hunt,以及国内的华尔街见闻(WallStreetCN)等。
华尔街见闻是中国最重要的金融信息平台之一。这个 Skill 可以直接获取中文金融新闻——对于关注 A 股或中概股的投资者来说极其有价值。
② 网页搜索类
Last 30 Days Skill 在金融场景下同样强大——
text
/last30days Tesla stock sentiment Reddit
/last30days people switching from growth to value stocks
/last30days what are traders saying about Fed rate decision
搜索 Reddit、X 和网页上过去 30 天内发布的内容,综合社区正在讨论的话题,并交付可操作的输出。组合情绪词——"frustrated"、"love"、"hate"、"wish"——能找到更强烈的意见。
在金融场景中,"情绪词"就是:bullish、bearish、crash、moon、dump、buy the dip、overvalued、undervalued。
③ 数据获取类
tavily 搜索工具可以做实时网页搜索,获取最新的财经新闻和分析师观点。
blogwatcher Skill 可以监控 RSS/Atom 订阅源——我用它订阅了 Seeking Alpha、Bloomberg Opinion 和几个高质量的独立金融博客。
④ 自定义 Skill——这才是核心
社区 Skill 能覆盖一部分需求,但股票筛选器的核心逻辑需要自定义。OpenClaw 的 Skill 本质上就是 Markdown 文件中的指令集——这是它设计哲学中最美的部分之一。
自定义 Skill 不需要写复杂代码。Skill 是 markdown 文件,告诉 Agent 该做什么。你可以用自然语言定义一个完整的金融分析工作流。
第四章 三层筛选器架构
这是整个系统的核心——三层漏斗,逐层过滤,从 5,000+ 只股票到最终推荐的 3-5 只。
text
┌──────────────────────────────────────────────┐
│ Layer 1: 量化筛选(基本面+技术面) │
│ 输入:5,000+ 只美股 │
│ 输出:~50 只候选 │
│ 数据源:Yahoo Finance + FMP + AV │
│ 模型:Haiku(数据处理,不需要推理) │
├──────────────────────────────────────────────┤
│ Layer 2: 情绪分析筛选 │
│ 输入:~50 只候选 │
│ 输出:~15 只高情绪信号 │
│ 数据源:NewsAPI + Reddit + X │
│ 模型:Sonnet(需要语义理解能力) │
├──────────────────────────────────────────────┤
│ Layer 3: AI 综合评估 │
│ 输入:~15 只 + 全部上下文 │
│ 输出:3-5 只最终推荐 + 风险提示 │
│ 数据源:以上所有 + Obsidian 历史记忆 │
│ 模型:Opus(需要最强推理做综合判断) │
└──────────────────────────────────────────────┘
Layer 1:量化筛选
目标:从数千只股票中快速过滤出基本面和技术面都值得关注的候选。
Markdown
# Layer 1 筛选规则(可自定义)## 基本面条件(AND 逻辑)
- 市值 > $1B(排除微盘股风险)
- PE 比率 < 行业平均 × 1.2(不要过度溢价)
- 营收 YoY 增长 > 10%(成长性)
- 毛利率 > 30%(盈利能力)
- 负债权益比 < 1.5(财务健康)
- 自由现金流为正(真金白银)
## 技术面条件(至少满足 2 条)
- RSI(14) < 35(超卖信号)或 RSI(14) 从超卖区回升
- 价格在 200 日均线附近(±5%)
- MACD 金叉(或即将金叉)
- 成交量 > 20 日平均 × 1.5(放量信号)
- 布林带下轨附近(超跌反弹机会)
## 排除条件
- 近 30 天有 SEC 违规调查(8-K 文件扫描)
- 近 7 天日均成交量 < 100K(流动性不足)
- 近期有退市风险警告
实现方式:
Python
# 伪代码:Agent 执行的 Layer 1 筛选逻辑
# 实际上 Agent 会调用 Shell 工具运行这个 Python 脚本import yfinance as yf
import pandas as pd
def layer1_screen():
# 从 S&P 500 + NASDAQ 100 + Russell 2000 获取股票列表
universe = get_stock_universe() # ~5,000 只
results = []
for ticker in universe:
stock = yf.Ticker(ticker)
info = stock.info
# 基本面过滤
if (info.get('marketCap', 0) > 1e9 and
info.get('trailingPE', 999) < industry_avg_pe(info['sector']) * 1.2 and
info.get('revenueGrowth', 0) > 0.10 and
info.get('grossMargins', 0) > 0.30 and
info.get('debtToEquity', 999) < 150 and
info.get('freeCashflow', 0) > 0):
# 技术面评分
tech_score = calculate_technical_score(ticker)
if tech_score >= 2: # 至少满足 2 条技术面条件
results.append({
'ticker': ticker,
'name': info['shortName'],
'sector': info['sector'],
'pe': info.get('trailingPE'),
'revenue_growth': info.get('revenueGrowth'),
'tech_score': tech_score,
'price': info.get('currentPrice')
})
return pd.DataFrame(results).sort_values('tech_score', ascending=False)
为什么 Layer 1 用 Haiku?因为这一层本质上是数据处理和规则匹配——不需要"理解"能力,只需要快速执行。用最便宜的模型就够了。使用智能模型路由——简单任务用便宜模型(Haiku/Flash),复杂任务用贵模型(Sonnet/Opus)。
Layer 2:情绪分析筛选
目标:在基本面合格的候选中,找到市场情绪正在发生变化的股票——情绪拐点往往领先于价格拐点。
这是整个系统最有价值的部分。
Markdown
# Layer 2 情绪分析指令对 Layer 1 输出的每只候选股票(约 50 只),执行以下分析:
## 数据源 1: 新闻情绪 (NewsAPI)
- 搜索过去 7 天关于该公司的所有英文新闻
- 对每篇新闻标题+摘要进行情绪评分:
- 强正面 (+2):业绩超预期、获得升级、重大合作
- 弱正面 (+1):行业利好、分析师看好
- 中性 (0):常规报道
- 弱负面 (-1):行业逆风、估值担忧
- 强负面 (-2):业绩暴雷、监管调查、高管离职
- 计算加权情绪得分(越近的新闻权重越高)
## 数据源 2: Reddit 社区情绪
- 搜索 r/wallstreetbets, r/stocks, r/investing, r/ValueInvesting
- 过去 30 天关于该股票的帖子
- 分析维度:
- 讨论量变化(vs 前 30 天)→ 关注度变化
- 帖子情绪分布(多/空/中性)
- 高赞评论的论点质量
- "买入理由" vs "卖出理由" 的比例
## 数据源 3: X/Twitter 实时脉搏
- 搜索 $TICKER cashtag + 公司名
- 过去 7 天的推文情绪
- 特别关注:
- 知名交易员/分析师的观点
- 情绪突变(突然从正转负,或从负转正)
- 异常讨论量(可能预示重大事件)
## 输出格式
| 股票 | 新闻情绪 | Reddit情绪 | X情绪 | 综合评分 | 情绪趋势 |
|------|---------|-----------|-------|---------|---------|
| AAPL | +1.3 | 偏多(65%) | 中性 | 62/100 | ↗️ 改善中 |
| ... | ... | ... | ... | ... | ... |
## 筛选条件
- 综合情绪评分 > 55/100
- 情绪趋势:↗️ 改善中 或 🔄 拐点信号
- 讨论量相对前期有 > 50% 增长(关注度上升)
Layer 3:AI 综合评估
目标:让最强的 AI 模型综合所有信号,给出最终判断。
这一层用 Opus——因为它需要:
综合 Layer 1 的量化数据 + Layer 2 的情绪数据 读取 Obsidian 中的历史判断(上一次推荐的股票后来表现如何?) 做出有逻辑的推理(不是简单的评分公式) 识别风险因素并给出平衡的建议
Markdown
# Layer 3 综合评估指令你是一位资深的量化分析师助手。
你的工作是综合所有数据,给出严谨、平衡的分析。
## 你必须遵守的原则
1. 永远不要给出"买入"或"卖出"的明确指令
2. 永远标注不确定性和风险因素
3. 永远提供正反两面的论点
4. 永远注明数据来源和时效性
5. 永远在结尾附上免责声明
## 输入数据
- Layer 1 量化筛选结果(约 50 只)
- Layer 2 情绪分析结果(约 15 只)
- Obsidian /Finance/history.md(历史推荐+实际表现回测)
- Obsidian /Finance/macro.md(当前宏观环境备注)
- 今日宏观数据(FRED API:利率决议、CPI、失业率等)
## 分析框架
### 对每只股票:
1. 量化信号强度(Layer 1 评分占 40%)
2. 情绪信号强度(Layer 2 评分占 30%)
3. 宏观环境匹配度(该行业在当前宏观下是顺风还是逆风?占 15%)
4. 历史表现(类似信号组合过去的成功率?占 15%)
### 风险评估:
- 最大下行风险是什么?
- 催化剂是什么?(什么事件会验证/推翻这个判断?)
- 时间窗口(这个信号的有效期大约是多久?)
### 输出:
- Top 3-5 最值得关注的股票
- 每只附带:简要论点 + 关键数据 + 风险提示 + 催化剂时间表
- 整体市场情绪评估(贪婪/恐惧指标)
- 与上周推荐的对比(持续关注还是新进入?)
第五章 Obsidian 记忆层:让 Agent 越用越准
为什么记忆层是核心
Agent 的记忆模型走的是朴素路线。没有向量数据库。没有隐藏的嵌入层。Markdown 文件就是事实源头。记忆检索通过工具来中介。
在金融场景下,记忆层的价值是:回测你的 Agent 的判断质量。
每次 Agent 推荐一只股票,我都要求它记录下来。30 天后,我可以回头看——Agent 推荐的股票实际表现如何?哪些信号组合成功率高?哪些是噪音?
这就形成了一个自我校准的反馈循环。
金融记忆 Vault 结构
text
📁 Finance-Vault/
├── 📁 daily/
│ ├── 2026-01-20-screening.md ← 每日筛选结果
│ ├── 2026-01-21-screening.md
│ └── ...
├── 📁 stocks/
│ ├── 📁 AAPL/
│ │ ├── profile.md ← 基本信息+关注理由
│ │ ├── sentiment-log.md ← 情绪历史追踪
│ │ └── trades-log.md ← 推荐记录+实际结果
│ ├── 📁 TSLA/
│ │ └── ...
│ └── ...
├── 📁 sectors/
│ ├── technology.md ← 行业趋势追踪
│ ├── healthcare.md
│ └── ...
├── 📁 macro/
│ ├── fed-decisions.md ← 美联储决议追踪
│ ├── cpi-history.md ← CPI 数据追踪
│ └── market-regime.md ← 当前市场状态判断
├── 📁 backtest/
│ ├── weekly-review.md ← 每周回测
│ ├── monthly-review.md ← 每月回测
│ └── signal-effectiveness.md ← 各信号有效性统计
├── watchlist.md ← 当前关注列表
├── MEMORY.md ← Agent 长期记忆
└── SOUL.md ← Agent 人格设定
关键文件:signal-effectiveness.md
这是整个系统最有价值的长期资产——
Markdown
# 信号有效性统计(自动更新)## 统计周期:2026-01-20 至 2026-03-04(45 天)
## 总推荐次数:67 只次
## 基准:SPY 同期 +3.2%
### 单信号有效性
| 信号 | 触发次数 | 7天正收益率 | 30天正收益率 | 平均超额收益 |
|------|---------|-----------|------------|------------|
| RSI超卖+情绪拐点 | 12 | 75% | 67% | +4.2% |
| 放量+Reddit热度飙升 | 8 | 50% | 38% | -1.1% |
| 业绩超预期+新闻正面 | 15 | 80% | 73% | +6.8% |
| MACD金叉+X情绪转正 | 11 | 64% | 55% | +2.1% |
| 纯技术面信号 | 21 | 52% | 48% | +0.3% |
### 关键发现
1. ✅ "业绩超预期+新闻正面" 是最强的信号组合(73% 30天正收益)
2. ✅ "RSI超卖+情绪拐点" 是性价比最高的逆向信号
3. ⚠️ "放量+Reddit热度飙升" 往往是散户追高信号,谨慎使用
4. ⚠️ 纯技术面信号几乎不提供超额收益,必须搭配情绪信号
### Agent 自我校准建议
- 降低 Layer 1 纯技术面的权重(从 40% 降到 30%)
- 增加 "情绪拐点" 信号的权重
- 对 Reddit 热度飙升型信号增加 24 小时冷静期
这就是记忆系统让 Agent 越来越准确的方式——当你连接 Obsidian 时,持久记忆将你的 AI 使用从被动转为战略性。Agent 可以重新审视几周前做的决策,并与当前数据进行对比。
第六章 Cron + Heartbeat:自动化调度
每日运行时间表
text
┌──────────────────────────────────────────────────────────┐
│ 每日运行时间表 │
│ (美东时间) │
│ │
│ 05:00 [Cron] 盘前扫描 │
│ → 拉取昨日收盘数据 + 盘前异动 │
│ → 运行 Layer 1 量化筛选 │
│ → 拉取目标股票最新新闻 │
│ │
│ 06:00 [Cron] 情绪扫描 │
│ → 运行 Layer 2 对 Layer 1 候选 │
│ → Reddit 过夜讨论分析 │
│ → X/Twitter 早盘前情绪 │
│ │
│ 07:00 [Cron] 综合评估 + 推送 │
│ → 运行 Layer 3 Opus 综合评估 │
│ → 生成每日筛选报告 │
│ → Telegram 推送到我手机 │
│ → 写入 Obsidian daily/ 文件夹 │
│ │
│ 09:30 [Heartbeat] 开盘监控 │
│ → 开盘 30 分钟异动追踪 │
│ → 关注列表股票的开盘表现 │
│ → 如有重大异动 → Telegram 紧急推送 │
│ │
│ 12:00 [Cron] 午间快报 │
│ → 半天新闻总结 │
│ → 情绪变化追踪 │
│ → 写入 Discord #market-pulse │
│ │
│ 16:30 [Cron] 收盘总结 │
│ → 今日收盘数据更新 │
│ → 关注列表表现回顾 │
│ → 盘后新闻扫描 │
│ → 写入 Obsidian + 更新 watchlist.md │
│ │
│ 20:00 [Heartbeat] 夜间综合 │
│ → 全球市场概览(亚洲/欧洲期货) │
│ → SEC 文件扫描(8-K 重大事件) │
│ → 宏观数据更新(如有) │
│ → 准备明日关注列表 │
│ │
│ 每周五 17:00 [Cron] 周报 + 回测 │
│ → 本周推荐 vs 实际表现 │
│ → 更新 signal-effectiveness.md │
│ → 生成下周关注列表 │
└──────────────────────────────────────────────────────────┘
Cron 配置示例
JSON
{
"cron_jobs": [
{
"name": "Pre-Market Screening",
"schedule": {
"kind": "cron",
"expr": "0 5 * * 1-5",
"tz": "America/New_York"
},
"sessionTarget": "isolated",
"payload": {
"kind": "agentTurn",
"message": "执行 Layer 1 量化筛选。使用 yfinance 拉取 S&P500+NASDAQ100 的最新数据,按照 /Finance-Vault/screening-rules.md 中的规则筛选。输出候选列表到 Obsidian /Finance-Vault/daily/ 并传递给 Layer 2。"
},
"delivery": {
"mode": "none"
}
},
{
"name": "Morning Report",
"schedule": {
"kind": "cron",
"expr": "0 7 * * 1-5",
"tz": "America/New_York"
},
"sessionTarget": "isolated",
"payload": {
"kind": "agentTurn",
"message": "读取今日 Layer 1 + Layer 2 结果。执行 Layer 3 综合评估。读取 Obsidian /Finance-Vault/MEMORY.md 和 /backtest/signal-effectiveness.md 作为历史参考。生成每日筛选报告。"
},
"delivery": {
"mode": "announce",
"channel": "telegram",
"to": "my-phone"
}
}
]
}
Heartbeat 配置
HEARTBEAT.md 用于盘中的灵活监控——它的名字不是随意取的,它就是 Agent 自主运行的"心跳"。
Markdown
# 金融监控 Heartbeat Checklist## 🔴 紧急检查
- [ ] 关注列表中是否有股票日内波动 > 5%
- [ ] 是否有重大宏观数据发布(CPI/就业/美联储)
- [ ] 是否有目标行业的重大新闻(并购/监管/暴雷)
- [ ] 如有以上任何一项 → 立即 Telegram 推送
## 📊 常规检查
- [ ] 关注列表股票当前价格 vs 推荐时价格
- [ ] 市场整体情绪指标(VIX 水平)
- [ ] 今日新增 SEC 8-K 文件(目标公司)
## 📝 记录
- [ ] 如果有新的发现,追加到今日的 daily 笔记中
第七章 Telegram Bot:你的口袋分析师
每日推送报告格式
每天早上 7:00(美东),我的手机上会收到这样一条 Telegram 消息:
Markdown
📊 每日智能筛选 | 2026-03-04 (Tue)━━━━━━━━━━━━━━━━━━━━━━━━
🌍 市场概览
SPY: $512.3 (+0.4%) | QQQ: $438.7 (+0.6%)
VIX: 18.2 (正常区间) | 10Y: 4.12%
市场情绪:中性偏乐观 (Fear & Greed: 58)
━━━━━━━━━━━━━━━━━━━━━━━━
🎯 今日 Top 3 关注
1️⃣ CRWD (CrowdStrike) — $287.4
量化评分: 82/100 | 情绪评分: 71/100
📈 信号: RSI(14)=33 超卖 + 分析师上调目标价
💬 Reddit: r/stocks 3天讨论量↑120%,偏多
⚠️ 风险: Q1财报 3/12,波动性将大增
🎯 催化剂: 网络安全法案投票(3月中旬)
📊 历史信号成功率: 类似组合 → 67% 30天正收益
2️⃣ ABNB (Airbnb) — $148.2
量化评分: 76/100 | 情绪评分: 68/100
📈 信号: MACD金叉 + 旅游板块整体回暖
💬 X情绪: 从"bearish"转为"cautiously bullish"
⚠️ 风险: 欧洲监管不确定性
🎯 催化剂: 夏季旅游预订数据(4月)
📊 历史信号成功率: 类似组合 → 61% 30天正收益
3️⃣ PLTR (Palantir) — $21.8
量化评分: 71/100 | 情绪评分: 74/100
📈 信号: 放量突破 + 政府合同新闻
💬 Reddit: r/PLTR 社区极度看多(注意过热风险)
⚠️ 风险: 估值偏高 (PE 68),回调风险
🎯 催化剂: 下周国防预算听证会
📊 历史信号成功率: Reddit高热度 → 仅 38% 30天正收益
⚡ Agent 备注: Reddit 过热信号历史表现差,
建议等待回调而非追高
━━━━━━━━━━━━━━━━━━━━━━━━
📋 关注列表更新
+ 新增: CRWD, ABNB
- 移除: NFLX (已达目标区间)
~ 保持: MSFT, GOOGL, AMZN (继续观察)
━━━━━━━━━━━━━━━━━━━━━━━━
📈 上周推荐回顾
| 股票 | 推荐价 | 当前价 | 收益 | 状态 |
| AMD | $162.3 | $171.5 | +5.7% | ✅ |
| META | $498.1 | $502.3 | +0.8% | 🟡 |
| DIS | $112.4 | $109.8 | -2.3% | ⚠️ |
━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ 免责声明: 以上内容由 AI 分析生成,不构成投资建议。
所有数据可能存在延迟或误差。投资有风险,决策需谨慎。
自然语言查询
除了每日推送,我还可以随时在 Telegram 上问 Agent 问题:
OpenClaw 原生连接 10+ 消息平台(WhatsApp、Telegram、Slack、Discord 等),并编排 AI Agent 工作流——持久记忆 + 7×24 运行。
text
我: 特斯拉最近 Reddit 上情绪怎么样?Agent: 📊 TSLA Reddit 情绪快报(过去 7 天)
数据来源:r/wallstreetbets, r/stocks, r/teslainvestorsclub
讨论量:312 帖(vs 上周 287 帖,↑9%)
情绪分布:
🟢 看多: 41%
🔴 看空: 35%
⚪ 中性: 24%
高频讨论话题:
1. Robotaxi 进展(讨论量最高)
2. Q1 交付量预期
3. 竞品比亚迪的威胁
情绪趋势:vs 上周基本持平,略偏分歧加大。
多空双方都有强论点,市场处于"不确定但关注度高"状态。
vs 30天前:看多比例从 52% 下降到 41%,情绪在恶化。
注意:这是社区讨论分析,不反映机构观点。
r/wallstreetbets 的情绪往往过度波动,需谨慎解读。
第八章 宏观数据整合:FRED API
为什么宏观数据不可忽视
个股分析没有宏观背景就是空中楼阁。2022 年的科技股暴跌不是因为这些公司突然变差了——是因为美联储加息改变了整个估值环境。
FRED(Federal Reserve Economic Data)是美联储圣路易斯分行提供的免费 API,包含 80 万+ 个经济数据序列。完全免费,无调用限制。
我追踪的关键宏观指标
Markdown
# 宏观数据追踪(FRED API)## 每日更新
- 10年期国债收益率 (DGS10) → 影响成长股估值
- VIX 恐惧指数 (VIXCLS) → 市场情绪温度计
- 美元指数 (DTWEXBGS) → 影响跨国公司盈利
## 每月更新
- CPI 同比 (CPIAUCSL) → 通胀走势
- 核心 PCE (PCEPILFE) → 美联储首选通胀指标
- 非农就业 (PAYEMS) → 经济健康度
- 失业率 (UNRATE) → 衰退信号
- ISM 制造业 PMI → 经济活动领先指标
## 每季度更新
- GDP 增长率 (GDP) → 经济全景
- 企业利润 (CP) → 盈利周期
## 市场状态判断规则
IF 10Y > 4.5% AND CPI > 3.5% AND VIX > 25:
→ 市场状态: "Risk-Off"
→ 建议: 降低成长股权重,关注防御性板块
IF 10Y < 4% AND CPI 下降趋势 AND VIX < 20:
→ 市场状态: "Risk-On"
→ 建议: 可适度增加成长股和科技股权重
IF 失业率连续 3 月上升 AND PMI < 50:
→ 市场状态: "衰退风险"
→ 建议: 现金+国债+防御性股票
与三层筛选器的整合
text
FRED 数据 → 更新 Obsidian /macro/market-regime.md
│
▼
Layer 3 Opus 评估时读取
│
▼
"当前宏观环境下,科技板块处于 Risk-On 状态,
成长型信号的可信度上调 10%"
第九章 SEC EDGAR 整合:财报和重大事件
为什么散户需要监控 SEC 文件
SEC 文件通常比新闻早几个小时到几天。一份 8-K 文件可能提前披露了高管离职、重大合同或诉讼——在财经媒体报道之前。
监控策略
Markdown
# SEC EDGAR 监控 Cron每天 20:00 (ET) 执行:
1. 查询 EDGAR FULL-TEXT 搜索 API(免费)
2. 搜索关注列表中所有公司过去 24 小时的新提交文件
3. 重点关注文件类型:
- 8-K: 重大事件(最重要,可能是突发利好/利空)
- 10-Q: 季度报告
- 10-K: 年度报告
- 4: 内部人交易(高管买入/卖出自家股票)
- SC 13D: 大股东持仓变动
4. 对每份新文件:
- 提取摘要(特别是 8-K 的 Item 编号)
- 分析潜在市场影响
- 内部人交易方向(买入 vs 卖出 → 信号质量不同)
5. 告警规则:
🔴 高管大量买入自家股票 → Telegram 即时推送
🔴 8-K Item 2.02(财务结果)→ Telegram
🟡 内部人卖出 → Discord(需要上下文判断,不一定是坏事)
🟢 常规 10-Q/10-K 提交 → Obsidian 存档
内部人交易信号
这是散户最容易忽视但最有价值的信号之一——
内部人(CEO、CFO、董事会成员)买入自家股票几乎只有一个原因:他们认为股价被低估了。
内部人卖出则原因复杂:可能是减持套现,也可能是正常的薪酬安排。所以买入信号的可信度远高于卖出信号。
text
内部人连续买入 + RSI超卖 + 情绪拐点
= 我整个系统中信号强度最高的组合
第十章 成本核算与优化
45 天真实成本
| 合计 | ~$73/月 |
免费数据 API 成本
| 数据层合计 | $0 |
数据完全免费,成本全在 AI 推理层。
极限省钱方案
使用智能模型路由——简单任务用便宜模型(Haiku/Flash),复杂任务用贵模型(Sonnet/Opus)。启用 prompt 缓存以降低重复成本。还可以通过 Ollama 使用本地 LLM 实现零 API 成本(需 16 GB+ RAM)。
极限省钱方案:
| 极限方案合计 | ~$31/月 |
第十一章 45 天回测与真实表现
重要声明
以下数据是我的系统在特定时期的历史表现,不代表未来收益。过去的表现不预测未来的结果。市场条件随时变化。
回测数据
最有价值的发现
Agent 的自我校准记录
Agent 读取它的记忆文件。每天结束时,Agent 会将笔记写入 memory/YYYY-MM-DD.md:发生了什么,学到了什么,做出了什么决策。随着时间推移,它会将重要内容整理到 MEMORY.md 中——长期记忆。
我的 Agent 在第 30 天自动生成的 MEMORY.md 更新片段:
Markdown
## 2026-02-18 信号模型校准### 学到的教训
1. Reddit 讨论量激增(>200% 周环比)在 7 天内是正面信号,
但在 30 天内往往是负面信号——说明短期有人气推动上涨,
但中期往往回吐。
→ 行动:将 Reddit 热度信号的时间框架从 30 天缩短到 7 天。
2. 连续 3 天新闻情绪正面但股价不涨 = 利好出尽信号。
→ 行动:增加 "情绪-价格背离" 检测规则。
3. VIX > 22 时,所有信号的成功率平均下降 15%。
→ 行动:在高 VIX 环境下自动上调推荐阈值。
### 下月关注
- 3/12 CPI 数据发布:可能改变市场 regime
- 3/19 FOMC 会议:利率决议
- Q1 财报季从 4 月中旬开始
第十二章 Discord 多频道交易所
频道架构
text
Discord 金融情报中心#daily-screening ← 每日筛选报告(核心输出)
Model: Opus → Sonnet(日报用 Opus,中间更新用 Sonnet)
#market-pulse ← 盘中实时脉搏
Model: Haiku(快速、高频、低成本)
#sentiment-radar ← 情绪分析专区
Model: Sonnet(需要语义理解)
#sec-filings ← SEC 文件追踪
Model: Haiku(结构化数据提取)
#macro-watch ← 宏观数据监控
Model: Haiku
#backtest-review ← 回测和复盘讨论
Model: Opus(需要深度推理)
#system-health ← Cron 状态 / API 额度 / 成本监控
Model: Haiku
上下文隔离是关键——每个频道应该有自己的上下文。#daily-screening 中的对话永远不应该渗透到 #sentiment-radar 中。每个 Channel 绑定一个 Agent,每个 Agent 有自己独立的工作区。
第十三章 安全与合规
金融数据的特殊安全考量
金融场景比一般场景有更严格的安全要求。
因为该软件可以访问邮件账户、日历、消息平台和其他敏感服务,配置不当或暴露的实例会带来安全和隐私风险。在金融场景下,这意味着你的交易策略、关注列表和情绪分析模型都可能泄露。
我的安全实践
Markdown
金融系统安全 Checklist:✅ 绝不连接任何交易账户
→ Agent 只负责分析和筛选
→ 所有交易由人类在独立的券商 App 中手动执行
→ Agent 没有任何移动资金的权限
✅ 数据隔离
→ 金融 Vault 与其他 Obsidian Vault 完全分离
→ 专用 API Key(与其他 Agent 不共享)
→ Gateway 运行在���立的 VPS 实例上
✅ 网络安全
→ Gateway 通过 Tailscale 私有网络访问
→ 所有 API 调用通过 HTTPS
→ 不暴露任何公网端口
✅ Skill 审查
→ 金融系统只使用内置 Skill + 自己编写的自定义 Skill
→ 不安装任何第三方金融 Skill
→ 所有 Skill 源码人工审阅
✅ 交易纪律
→ Agent 的推荐只是参考之一
→ 每笔交易前都有人类的独立判断
→ 设定止损规则(Agent 不能覆盖)
→ 单笔仓位 < 总资产 5%
✅ 合规意识
→ 不基于非公开信息交易
→ Agent 只分析公开数据
→ 不分享 Agent 的具体推荐给他人(避免荐股嫌疑)
特别警告:加密货币 Skill 陷阱
在搭建系统时,我发现 ClawHub 上有大量恶意的加密货币相关 Skill——
安全研究员发现 386 个恶意 Skill 伪装成加密货币交易自动化工具。使用知名品牌名称包括 ByBit、Polymarket 等。这些 Skill 部署了信息窃取器,窃取加密交换 API Key、钱包私钥、SSH 凭证和浏览器密码。
绝对不要安装任何声称能"自动交易"的第三方 Skill。 如果听起来好得不真实——它就是恶意软件。
第十四章 从 0 到 1 的搭建路线
Phase 1:最小可行筛选器(Week 1)
从一个配置良好的单 Agent 开始。不要试图同时设置所有数据源。先让一个完整的工作流完美运行,然后才添加下一个集成。
Bash
# Day 1: 安装 OpenClaw
npm install -g openclaw@latest
openclaw onboard --install-daemon# Day 2: 安装基础 Skill
openclaw skills install tavily # 网页搜索
openclaw skills install last30days-lite # 社区情绪调研
# Day 3: 编写 Layer 1 筛选脚本
# 用 Python + yfinance 实现量化筛选
# Agent 通过 Shell 工具调用这个脚本
# Day 4-5: 配置第一个 Cron 任务
# 每天早上 7:00 推送 Layer 1 筛选结果到 Telegram
# Day 6-7: 验证 + 调优
# 看一周的推送,调整筛选参数
Phase 2:加入情绪分析(Week 2-3)
text
Day 8: 安装 NewsAPI,配置新闻情绪扫描
Day 10: 配置 Reddit 情绪分析
Day 12: 整合 Layer 2 到工作流
Day 14: 第一次完整的三层筛选运行
Day 16: 配置 Obsidian Vault 结构
Day 18: 加入 FRED 宏观数据
Day 21: 两周运行,第一次回测
Phase 3:完整系统(Week 4-6)
text
Day 22: 加入 SEC EDGAR 监控
Day 25: 配置 Discord 多频道
Day 28: 配置 Heartbeat 盘中监控
Day 30: 完善告警分级系统
Day 35: 第一份完整月报 + 信号有效性统计
Day 42: 基于回测结果校准模型权重
Day 45: 系统进入稳定运行模式
给完全新手的建议
如果你从来没用过 OpenClaw——
推荐的设置方式是在终端中运行向导(openclaw onboard)。向导会逐步引导你完成 Gateway、工作区、频道和技能的配置。
如果你从来没用过金融 API——
先从 yfinance 开始。它是 Python 包,不需要 API Key,不需要注册。直接 pip install yfinance 就能获取任何上市公司的实时数据。这是最快的入门路径。
第十五章 诚实反思:这套系统的真实边界
它做到了什么
信息处理带宽提升 100 倍:每天自动处理 5,000+ 只股票的数据,我以前最多看 20 只 情绪分析是真正的边际优势:传统散户工具(TradingView、同花顺)几乎不提供实时情绪数据 记忆系统带来的复利:Agent 的判断质量在 45 天内可测量地提升了 心理账户的改善:有系统化的分析后,我做出冲动交易的次数减少了 80% 时间解放:从每天 30 分钟手动调研 → 每天 5 分钟看 Telegram 推送
它做不到什么
不能预测黑天鹅:系统无法预见真正的未知事件。它只能更快地响应已发生的事情 不能替代投资纪律:Agent 可以告诉你"这只股票值得关注",但止损、仓位管理、资产配置仍然 100% 依赖你的纪律 不能消除情绪偏差:Agent 没有情绪,但你有。当 Agent 推荐"卖出"而你的"感觉"说"再等等"时——这是最危险的时刻 不能持续跑赢市场:45 天的超额收益不代表长期能力。任何声称 AI 能持续跑赢市场的人都在说谎 不能处理极端行情:在市场崩盘时,所有历史模式都会失效。Agent 的回测数据在极端环境下没有参考价值
最大的坑
坑 1:过度自信
当 Agent 连续推荐 5 只全部上涨后,你会开始觉得"这个系统简直是印钞机"。然后你加大仓位。然后第 6 只亏了 12%。
教训:永远保持仓位纪律。Agent 的推荐只是信息源之一,不是交易指令。
坑 2:忽视宏观
有一周我关掉了宏观数据整合(以为省几块钱 API 费),刚好赶上美联储讲话引发市场调整。Agent 在那周的所有推荐全部亏损,因为它在"真空中"分析个股。
教训:宏观是地基,个股是楼。地基不稳,楼盖得再好也没用。
坑 3:Reddit 情绪陷阱
Reddit 上高度一致的看多情绪(尤其是 r/wallstreetbets)在统计上更接近反向指标。当所有人都在说"to the moon"的时候,往往是短期顶部。
教训:极端一致的情绪 = 警告信号,不是确认信号。
第十六章 未来迭代方向
已在计划中的升级
Agent Teams 的未来
社区正在推进的 Agent Teams RFC 将让金融分析更加强大。一个团队可以这样分工:
text
┌─────────────────────────────────────┐
│ 编排器 Agent(CIO) │
│ 综合所有分析,做最终判断 │
│ Model: Opus │
├───────┬───────┬───────┬─────────────┤
│量化 Ag│情绪 Ag│宏观 Ag│ SEC 监控 Ag │
│筛选 │社区分析│经济数据│ 文件追踪 │
│Haiku │Sonnet │Haiku │ Haiku │
└───────┴───────┴───────┴─────────────┘
当 Teams 功能成熟后,这些 Agent 可以直接互相通信——量化 Agent 可以直接问情绪 Agent:"CRWD 这周的 Reddit 讨论量变化多少?"——不需要经过编排器中转。
写在最后:散户的新时代
有人说 2026 年是"Agent 元年"。
在金融领域,这意味着什么?
我认为它意味着:信息处理能力的民主化。
过去,只有量化基金能负担得起的情绪分析系统,现在一个散户用 $73/月就能搭建 80% 的能力。过去需要一个 5 人数据团队做的工作,现在一个人 + 三层 Agent 就能完成。
但请注意——我说的是"信息处理能力"的民主化,不是"赚钱能力"的民主化。
能力增强不等于结果保证。
即使有了 AI Agent,以下事实不会改变:
市场长期来看是零和博弈(扣除费用后) 没有任何系统能持续预测短期价格变动 情绪管理和交易纪律比任何分析工具都重要 对大多数人来说,定投指数基金仍然是最优解
那我为什么还要做这个系统?
因为对我来说,这不仅仅是一个投资工具。它是一个认知放大器。
它让我更系统地思考市场。它让我的每一个判断都有数据支撑,而不是"感觉"。它让我在犯错时能清楚地回溯——哪个信号误导了我,为什么,下次怎么避免。
Agent 不会让你更聪明。但它会让你的思考更有纪律。
45 天前,我凭感觉炒股。
45 天后,我至少知道自己是基于什么在做决策,以及那个决策框架的成功率是多少。
这不保证盈利。
但这保证了一件更重要的事——如果亏了,我知道为什么亏了,下次怎么做得更好。
而这,才是 Agent 在金融领域真正的价值。
不是印钞机。是思维的脚手架。
📌 系列完结。回顾这五篇文章:
① 三个 Agent 一条龙:YouTube 内容流水线 — 一个人就是一个内容团队 ② 一个人的 DevOps 团队:协调 5-20 个 Claude Code — 一天 94 次 commit ③ Last 30 Days Skill:30 秒摸清痛点 — 比行业报告更新鲜的调研 ④ 竞品监控自动化:7×24 情报雷达 — 再也不会被竞品偷袭 ⑤ 免费 API 搭建股票筛选器 — $73/月的量化 Lite
五个场景,一个核心:OpenClaw 不是聊天机器人,它是你的数字化分身。
感谢一路读到这里的你。🦞
声明:本文基于 OpenClaw 开源社区公开资料、公开可获取的金融数据 API 文档、yfinance/FRED/SEC EDGAR 官方文档撰写。所有回测数据基于特定历史时期,过去的表现不预示未来结果。本文不构成任何形式的投资建议、推荐或招揽。股票市场存在重大风险,您可能损失部分或全部本金。任何投资决策都应基于您自己的独立研究和专业财务顾问的建议。作者可能持有文中提及的某些证券。所有技术细节截至 2026 年 3 月初,OpenClaw 生态迭代极快,请以官方文档为准。
更多系列完整内容,请访问知识星球。
AII
松花酿酒,春水煎茶。
眉上风止,见字如晤。
一只阿木木