StockClaw: 用 OpenClaw 快速搭建你的 AI 股票管家

2026年3月14日

难度:中级 · 时长:30分钟 · 收获:掌握基于 OpenClaw 的多智能体股票分析系统搭建,实现自动化选股、深度分析和模拟交易

目标读者

  • 1-3 年经验的开发者
  • 对 AI Agent 和量化交易感兴趣的程序员
  • 想搭建个人股票助手的投资者

核心依赖与环境

  • Node.js 18+
  • OpenAI 兼容 API(Claude/Gemini/DeepSeek 等)
  • 可选:Telegram Bot Token
  • 可选:历史行情数据(CSV 格式)

项目结构树

StockClaw/
├── config/                      # 配置文件
│   ├── llm.local.toml          # LLM 大模型配置
│   ├── telegram.json           # Telegram 集成配置
│   ├── tools.json              # 工具配置
│   └── agents.json             # 智能体配置
├── skills/                     # 技能模块
│   └── crypto-stock-market-data/   # 行情数据获取技能
├── prompts/                    # Prompt 模板
│   ├── agents/                 # 专业智能体角色定义
│   │   ├── value_analyst/      # 价值分析师
│   │   ├── technical_analyst/  # 技术分析师
│   │   ├── news_sentiment_analyst/  # 情绪分析师
│   │   ├── risk_manager/       # 风险管理师
│   │   ├── portfolio_agent/    # 投资组合代理
│   │   └── trade_executor/     # 交易执行器
│   ├── workflows/              # 工作流模板
│   │   ├── backtest_mode/      # 回测模式
│   │   └── portfolio_review/   # 组合回顾
│   └── shared/                 # 共享规则
├── data/                       # 数据存储
│   └── portfolio.json         # 投资组合状态
└── src/                        # 核心代码
    ├── index.ts               # 入口文件
    ├── router.ts              # 请求路由
    └── ...

手把手步骤

1. 克隆项目与安装依赖

首先从 GitHub 克隆 StockClaw 项目,然后安装依赖:

git clone https://github.com/24mlight/StockClaw.git
cd StockClaw
npm install

TIP

如果你在中国大陆,建议配置 npm 镜像源以加速安装:

npm config set registry https://registry.npmmirror.com

2. 配置 LLM 大模型

StockClaw 支持任何 OpenAI 兼容的 LLM API。我们创建一个本地配置文件:

# 复制示例配置
cp config/llm.local.example.toml config/llm.local.toml

编辑 config/llm.local.toml,以 Claude 为例:

# config/llm.local.toml
[llm]
# 使用 OpenAI 兼容接口
model = "claude-sonnet-4-20250514"
baseUrl = "https://api.anthropic.com/v1"
apiKey = "sk-ant-your-api-key-here"

# 可选:高级配置
[llm.context]
maxTokens = 200000  # 根据模型上下文窗口设置
compactionThreshold = 150000  # 触发压缩的阈值

如果你使用 DeepSeek、Qwen 或其他兼容 API,只需修改 baseUrlmodel 即可。

WARNING

API Key 必须妥善保管,不要提交到版本控制系统。项目默认已忽略 config/llm.local.toml

3. 启动服务

直接运行启动命令:

npm start

首次启动时,服务会自动检测配置文件,如果 Telegram 配置不存在,会提示你进行设置。

服务默认运行在 http://127.0.0.1:8000,打开浏览器即可访问 Web UI。

4. 配置 Telegram(可选)

如果你想通过 Telegram 与 StockClaw 交互,需要:

  1. 在 Telegram 中搜索 @BotFather,创建新机器人,获取 Bot Token
  2. 首次启动时,在终端输入 yes 开启 Telegram 集成
  3. 粘贴你的 Bot Token
  4. 在 Telegram 中给你的机器人发送任意消息
  5. 将终端显示的配对码粘贴回来完成绑定

或者手动创建配置文件 config/telegram.json

{
  "enabled": true,
  "botToken": "YOUR_BOT_TOKEN_HERE",
  "allowedUsers": ["your_telegram_id"]
}

TIP

绑定 Telegram 后,你可以随时随地通过手机查询股票、接收分析报告,甚至执行模拟交易。

5. 配置行情数据技能

StockClaw 内置了加密货币和股票行情数据技能。技能目录位于 skills/,核心技能是 crypto-stock-market-data

技能配置文件 config/tools.json 已经包含了内置技能:

{
  "skills": [
    {
      "name": "crypto-stock-market-data",
      "enabled": true,
      "path": "skills/crypto-stock-market-data"
    }
  ]
}

这个技能提供了以下工具:

  • get_crypto_price - 获取加密货币实时价格
  • get_coin_historical_chart - 获取历史K线数据
  • get_global_market_data - 获取全球市场数据
  • get_company_profile - 获取股票公司基本信息
  • get_coin_details - 获取代币详细信息

6. 创建第一个投资组合

StockClaw 使用 JSON 文件管理投资组合。创建 data/portfolio.json

{
  "cash": 100000,
  "positions": [
    {
      "symbol": "AAPL",
      "shares": 100,
      "entryPrice": 175.5
    },
    {
      "symbol": "MSFT",
      "shares": 50,
      "entryPrice": 380.0
    },
    {
      "symbol": "NVDA",
      "shares": 25,
      "entryPrice": 450.0
    }
  ],
  "createdAt": "2026-03-14T00:00:00Z"
}

这个配置表示:

  • 初始现金:10 万美元
  • 持仓:苹果 100 股、微软 50 股、英伟达 25 股

7. 执行股票深度分析

现在我们通过 Web UI 或 Telegram 让 StockClaw 分析一只股票。

通过 Web UI

  1. 打开 http://127.0.0.1:8000
  2. 在输入框输入:Do a deep analysis on NVDA

StockClaw 会启动多智能体协作分析:

  1. 价值分析师 - 分析公司基本面、财务数据、估值水平
  2. 技术分析师 - 分析价格走势、技术指标、趋势形态
  3. 情绪分析师 - 分析新闻舆情、市场情绪、机构持仓
  4. 风险管理师 - 评估潜在风险、下行空间、仓位建议
  5. 根智能体 - 综合所有专业意见,输出最终建议

你可以看到各个专业智能体依次被调用,最终合成一个完整的分析报告。

通过 Telegram

/analyze NVDA

8. 模拟交易操作

StockClaw 支持模拟交易(Paper Trading),所有交易只记录在本地,不会真正下单。

买入操作

Buy 10 shares of GOOGL at market price

系统会:

  1. 获取实时报价
  2. 验证现金充足
  3. 计算交易成本
  4. 更新投资组合状态
  5. 返回交易确认

卖出操作

Sell 5 shares of AAPL

查询持仓

Show my portfolio

或使用斜杠命令:

/portfolio

9. 运行历史回测

这是 StockClaw 最强大的功能之一——用历史数据验证你的投资策略。

回测当前组合

Backtest my portfolio for the last 7 trading days

StockClaw 会:

  1. 准备历史行情数据
  2. 隔离每个交易日的决策上下文(T-1 约束)
  3. 逐日模拟交易决策
  4. 计算收益率、最大回撤、夏普比率
  5. 生成详细的回测报告

WARNING

回测时间越长,消耗的 token 越多,耗时也越长。建议先用 7 天或 30 天小范围测试。

回测特定策略

Backtest a strategy: buy when RSI < 30, sell when RSI > 70

你还可以让 StockClaw 自动发现投资机会:

Find a few US stocks with strong value and technical alignment

常见问题排查

1. LLM API 连接失败

症状:启动时报错 Connection refused401 Unauthorized

排查步骤

  1. 确认 config/llm.local.toml 中的 apiKey 正确
  2. 检查 baseUrl 是否可访问:curl -I <your-baseUrl>
  3. 确认模型名称是否正确(大小写敏感)
  4. 查看日志中的详细错误信息

2. Telegram Bot 无法启动

症状:Telegram 消息没有响应

排查步骤

  1. 确认 Bot Token 正确
  2. 检查 config/telegram.json 中的 enabledtrue
  3. @BotFather 检查机器人状态是否正常
  4. 确认已发送过消息完成用户绑定

3. 行情数据获取失败

症状:分析时提示 Failed to fetch stock data

排查步骤

  1. 检查网络连接
  2. 确认 skills/crypto-stock-market-data 已启用
  3. 查看技能日志排查具体 API 错误
  4. 部分数据源需要 API Key,检查是否配置

4. 投资组合状态异常

症状:持仓数据不更新或显示错误

排查步骤

  1. 检查 data/portfolio.json 格式是否正确 JSON
  2. 确认文件权限可写
  3. 查看日志中的状态变更记录

5. 回测结果不准确

症状:回测收益率与实际不符

排查步骤

  1. 确认使用的是 T-1 快照数据(不能用当日数据)
  2. 检查是否开启了未来函数(look-ahead bias)
  3. 确认滑点设置合理
  4. 查看回测日志中的具体交易记录

6. 上下文过长导致截断

症状:对话中途被截断,分析不完整

排查步骤

  1. llm.local.toml 中增大 compactionThreshold
  2. 使用 session_compaction 手动压缩上下文
  3. 缩短回测时间窗口
  4. 考虑切换到更长上下文的模型

扩展阅读 / 进阶方向

1. OpenClaw 官方文档

深入理解 OpenClaw 的架构设计和技能系统:

2. MCP 协议深入

StockClaw 通过 MCP(Model Context Protocol)扩展数据能力,可以学习:

  • 如何编写自定义 MCP Server
  • MCP 生态中的数据提供商

3. 多智能体系统设计

StockClaw 展示了多智能体协作的最佳实践:

  • 根智能体负责决策和协调
  • 专业智能体提供领域知识
  • 隔离的临时会话避免污染主上下文

4. 量化交易策略回测

深入学习回测方法论:

  • 避免过拟合
  • 考虑交易成本和滑点
  • 多时间周期验证

现在你已经掌握了 StockClaw 的核心用法。这个基于 OpenClaw 构建的 AI 股票管家能够帮你完成选股分析、组合管理、模拟交易和历史回测。快去试试让它帮你发现一些投资机会吧!

Updated 2026年3月14日