quant-trade

agent
Security Audit
Fail
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 18 GitHub stars
Code Fail
  • eval() — Dynamic code execution via eval() in plugins/quant_tools/ai_factor_miner.py
  • exec() — Shell command execution in plugins/quant_tools/ai_factor_miner.py
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This is a multi-asset quantitative trading agent powered by LLMs. It provides automated research, backtesting, and real-time trading execution across cryptocurrency, A-share, Hong Kong, and US markets.

Security Assessment
This tool carries a High overall security risk. While no hardcoded secrets or dangerous OS-level permissions were found, the codebase explicitly uses `eval()` and `exec()` for dynamic code and shell command execution within the AI factor mining module (`ai_factor_miner.py`). Because trading decisions are driven by an LLM, allowing dynamic code execution introduces a severe remote code execution (RCE) vulnerability if the agent is manipulated via prompt injection. Additionally, the tool makes extensive network requests to exchange APIs (Binance, OKX, KuCoin) and external data providers to execute real-time trades, access financial data, and download academic papers.

Quality Assessment
The project is highly active, with the most recent push occurring today, and demonstrates ambitious functionality including a backtesting engine, WebSocket market feeds, and an order state machine. However, trust is heavily undermined by the complete absence of an open-source license. Without a license, the code remains fully restricted by default copyright laws, meaning developers technically have no legal right to use, modify, or distribute it. The repository currently has 18 stars, indicating a very small community footprint.

Verdict
Not recommended — the combination of a missing software license and highly dangerous LLM-triggered `eval()`/`exec()` functions makes this tool a critical legal and security liability.
SUMMARY

Your personal multi-asset quant research team, powered by LLMs. Crypto + A-share + HK + US, with backtest engine, factor lab and event-driven news intake.

README.md

Quant Trade Agent

中文 | English

基于 Hermes-Agent 框架的多市场量化交易 Agent,覆盖加密货币(实盘)与 A 股(信号-only) 两大专区。

专区导览

  • 🪙 加密货币专区:85+ 工具、自研回测引擎、实盘 + 期货 + 资金费率套利、订单状态机 + WebSocket 实时行情
  • 📈 A 股专区:基于 AKShare 的信号-only 模式,K 线/行情/技术信号工具,不接券商、不自动下单
  • 🔌 共享底座:Hermes-Agent + LLM 决策 + 飞书手动确认工作流 + 因子实验室 + 论文搜索

🪙 加密货币专区

核心特性

  • 89 个工具(30 模块):行情、技术指标、现货交易、期货交易(开/平仓+止损)、衍生品数据(含资金费率历史)、情绪、新闻、链上、宏观(19项 FRED)、基本面、回测引擎、因子实验室、策略生成、论文搜索、AI 因子挖掘、日志、告警、信号确认、风控熔断、资金费率套利(监控+执行)、滑点估算、网格交易、订单状态机 + SQLite 持久化WebSocket 实时行情
  • 自研回测引擎:事件驱动 + 滑点/手续费 + 永续合约资金费率自动结算(支持时变 funding_series 接入真实历史)+ Buy&Hold 基准 + ECharts HTML 仪表盘报告
  • WebSocket 实时行情:后台线程订阅 ccxt.pro WS,内存快照无网络延迟读取,订阅断线自动降级 REST
  • 订单状态机 + 持久化:pending → submitted → partial_fill → filled / cancelled,带超时轮询到终态;订单全量落 ~/.hermes/orders.db,重启不丢状态,提供 list_open_orders / reconcile_open_orders 工具
  • 36+ 因子库 + IC/IR 验证:动量/波动率/微观结构/量价因子,自动 IC/IR/分层回测/半衰期检验
  • LLM 原生决策:买卖决策由 Hermes Agent (LLM) 综合 5 位 Analyst 意见后直接做出,不走 Python if-else 硬规则
  • 论文搜索 + LLM 因子挖掘:arxiv 搜索 → PDF 解析 → LLM 提出因子假说 → 安全沙箱验证 → 自动入库
  • 完整管道:搜论文 → 挖因子 → 写策略 → 跑回测 → LLM 综合决策,全链路自动化
  • 14 个 Skill:5 个 Analyst Agent (trend-follower / mean-reverter / fundamental / sentiment-hunter / risk-defender)
  • 手动确认工作流:Agent → 飞书通知 → 人工确认 → 自动下单 + 止损
  • 多交易所 + 多渠道:Binance / OKX / KuCoin × CLI / HTTP API / 飞书 Bot / MCP Server
  • 274 项自动化测试 + 端到端联调

仪表盘预览

Dashboard Preview

包含:统计卡片、净值曲线(Equity Curve)、K线图+买卖点标记、盈亏分布、交易记录、交易所余额

启动:cd quant-trade && python scripts/web_dashboard.pyhttp://localhost:8877

回测报告预览

回测引擎自动生成 ECharts HTML 报告,暗色主题,包含:

  • 指标卡片:总收益/年化/夏普/最大回撤/胜率/交易次数/盈亏比/索提诺/vs Buy&Hold
  • 账户净值曲线 (vs Buy&Hold 对照)
  • 回撤曲线
  • 回测配置 + 完整指标 JSON
  • 订单明细表(时间/方向/数量/成交价/手续费/原因)

示例输出(MA Cross 策略,BTC/USDT 1d,2024-01-01 起):

回测报告仪表盘

📄 完整报告截图(含回撤曲线 + 交易明细)

完整回测报告


使用示例

以下是通过 Hermes CLI (python cli.py -q "...") 或飞书对话直接下达的指令示例:

回测

# MA 交叉策略回测
你:帮我用 MA 交叉策略回测 BTC/USDT,从 2024 年开始,日线

# 结果:
📊 回测完成:MA_Cross | BTC/USDT | 1d
  总收益: +24.36% | 年化: +9.96% | 夏普: 0.456
  最大回撤: 36.66% | 交易 17 笔 | 胜率 23.5%
  📄 HTML 报告: ~/.hermes/backtest_reports/MA_Cross_BTC_USDT_20260418.html

因子分析

# 计算并验证因子
你:帮我计算 BTC/USDT 的所有因子,然后验证哪些有效

# 结果:
🔬 36 个因子计算完成
  动量(12): ret_5, ret_10, ret_20, roc_5...
  波动率(9): vol_5, vol_20, parkinson_5...
  微观结构(9): funding_rate_zscore, oi_change_pct...
  量价(9): vwap_dev_20, volume_zscore_20...

📊 IC/IR 验证: 8 个显著因子已入库
  ret_10: IC=0.042, IR=0.58 ✅
  vol_ratio_5_20: IC=-0.031, IR=0.72 ✅

策略生成

# 从因子档案自动生成策略并回测
你:从因子档案里选 Top 5 因子,自动生成策略回测 ETH/USDT

# 结果:
🏭 策略已生成: AutoFactor_ret_10_vol_ratio_5_20_ma_dev_20
  因子: [ret_10, vol_ratio_5_20, ma_dev_20, rsi_14, vol_20]
  权重: [0.29, 0.22, 0.19, 0.16, 0.14]
  📊 回测: 总收益 +18.2% | 夏普 0.62

论文搜索

# 搜索 arxiv 量化论文
你:搜索 arxiv 上关于 cryptocurrency momentum 的论文

# 结果:
📄 找到 5 篇论文:
  [1904.00890] Momentum and liquidity in cryptocurrencies
    分类: q-fin.GN | 12 页 | 3 个公式 | 指标: Sharpe=1.24
    笔记: ~/.hermes/research/1904.00890/notes.md

LLM 因子挖掘

# 让大模型提出新因子
你:帮我挖掘 BTC/USDT 的新因子,让 AI 提出 5 个假说

# 结果:
🧬 LLM 提出 5 个因子假说:
  vol_adj_ret_10: IC=0.035, IR=0.48 → 已入库 ✅
  range_momentum_5: IC=0.028, IR=0.39 → 未通过
  log_vol_ratio: IC=-0.041, IR=0.62 → 已入库 ✅
  ...
  统计: 5 假说, 5 可计算, 2 显著, 2 已入库

决策

# 证据链决策
你:综合所有分析师信号,用 v2 决策引擎给出 BTC 的交易决策

# 结果:
🧠 Decision: BUY | 置信度: 0.78
  Thesis: 多头信号: 3 个 Agent 看多, 加权分 0.42
  Catalyst: 趋势延续 + 成交量放大确认
  Invalidation: 信号反转或触及止损
  Evidence For (3): trend_follower, mean_reverter, fundamental_analyst
  Evidence Against (1): sentiment_hunter (中性)
  Factor Snapshot: ret_10 IR=0.58, vol_ratio IR=0.72

说明:决策引擎是辅助决策工具,核心依据是因子 IC/IR 统计验证 + 回测实证结果。
LLM 负责将多维信号(因子快照、宏观数据、情绪指标)结构化为证据链,最终信号仍需人工确认(confirm_trade 工作流)。
真正的 alpha 来自回测验证过的因子组合,而非 LLM 的主观判断。

一键启动(推荐)

# 自动完成配置检查 → 启动 Dashboard → 启动飞书确认监听 → 加载 13 个 Skill
python scripts/start_all.py -q "搜索 arxiv 上关于 crypto momentum 的论文,挖掘新因子"

# 输出示例:
✅ 配置检查通过 (9/9 项)
✅ 仪表盘已启动: http://localhost:8877
✅ 飞书确认监听已启动 (PID 15536)
🚀 Hermes 启动 (13 Skills 已加载)...

# Agent 自动完成以下步骤:
# 1. search_papers("crypto momentum") → 找到 7 篇论文
# 2. mine_factors_llm(top_paper) → 提出 3 个因子假说
# 3. backtest_strategy() → 最优因子夏普比率 0.74
# 4. send_alert() → 飞书通知:"建议开仓 BTC/USDT Long, 置信度 0.81"
# 5. 飞书回复 "confirm SIG-001" → 自动执行下单

全链路工作流(论文 → 因子 → 回测 → 执行)

# 第 1 步:发现新因子(ArXiv → 实盘因子)
你:读一下 arXiv 1904.00890 这篇论文,提取核心 alpha 因子

Agent:📄 论文摘要已解析
  发现 2 个可量化因子:
  - liquidity_adjusted_momentum_20 (流动性调整动量)
  - cross_asset_beta_conditional    (条件跨资产 Beta)
  已写入研究笔记: ~/.hermes/research/1904.00890/notes.md

# 第 2 步:回测验证
你:回测 liquidity_adjusted_momentum_20 因子,BTC/USDT 日线 2年

Agent:📊 因子回测完成
  IC=0.049, IR=0.71 ✅ (通过显著性检验)
  已入库: factor_catalog 第 49 号因子

# 第 3 步:飞书告警 + 人工确认
你:检查当前 BTC 宏观环境,若适合做多则发出交易信号

Agent:📲 告警已推送飞书群:
  "SIG-042 | BTC Long | 置信度 0.79 | 回复 confirm SIG-042 执行"

飞书群内回复:confirm SIG-042

# 第 4 步:自动执行
Agent:✅ 订单已提交
  交易所: Binance | 方向: BUY | 数量: 0.05 BTC
  订单 ID: 12345678 | 状态: FILLED @ 87,432 USDT

� A 股专区

⚠️ 信号-only 模式: 不接券商账户,不会自动下单,只产出 LLM 决策建议。买卖由用户自行执行。

核心特性

  • 基于 AKShare:免费、开源、无需 token,覆盖沪深主板 + 创业板 + 科创板 + 北交所
  • 市场抽象层market_adapter/ 统一加密货币与 A 股数据接口,回测引擎与上层工具对市场无感知
  • 4 个工具(toolset=stock,与加密货币按 toolset 隔离):
    • get_stock_klines — 日线/5m/15m/30m/60m K 线(前复权/后复权)
    • get_stock_quote — 实时报价(最新/买一/卖一/涨跌幅)
    • get_stock_signal — 双均线 + RSI 综合信号(含 disclaimer)
    • list_stock_symbols — 沪深 A 股可用代码
  • 代码归一化:自动识别 600519 / sh600519 / 600519.SH / SZ000001 等多种写法
  • 统一时区:A 股 Asia/Shanghai 自动转 UTC,回测引擎只看 UTC

安装

# AKShare 是可选依赖, 不装则股票工具不可用,加密货币侧不受影响
pip install akshare

使用示例

# 1. 拉 K 线
你:帮我拉一下贵州茅台最近 30 个交易日的日线
Agent → get_stock_klines(symbol="600519", timeframe="1d", limit=30)
返回:{"stats": {"latest_close": 1612.5, "period_high": 1680.0, ...}, "klines": [...]}

# 2. 实时报价
你:宁德时代现在多少钱?
Agent → get_stock_quote(symbol="300750")
返回:{"last": 218.50, "bid": 218.49, "ask": 218.51, "change_pct": +1.85, ...}

# 3. 技术信号
你:平安银行的技术信号怎么样?
Agent → get_stock_signal(symbol="000001", fast=5, slow=20, rsi_period=14)
返回:{"verdict": "中性偏多", "signals": ["MA金叉(看多)", "RSI=58.2 中性"], ...}

# 4. 多股扫描(LLM 编排)
你:帮我扫一下这 5 只科技股的技术形态:腾讯控股、宁德时代、中际旭创、海康威视、立讯精密
Agent → 循环调用 get_stock_signal, 综合给出排名 + 关注建议

# 5. 跨市场对比
你:A 股锂电板块 vs 加密货币 ETH 最近 30 天涨跌幅哪个更强?
Agent → get_stock_klines(300750) + get_klines("ETH/USDT") + LLM 对比

路线图

  • AKShare 适配 + 市场抽象层
  • K 线 / 报价 / 技术信号工具
  • A 股因子计算(接入 36+ 因子库到 A 股数据)
  • A 股回测(用现有 backtest_engine + AStockAdapter)
  • 港股 / 美股适配器(沿用同一抽象层)
  • 财务/估值工具(PE/PB/ROE/营收增长)
  • 行业 / 概念板块轮动工具
  • 回测 T+1 模拟(BacktestConfig.t1=True
  • 外部新闻事件流接入(get_stock_news_events 等,需配置 MySQL)
  • 涨跌停判定 / 分钟线交易时段管理(P2)
  • 期权 Greeks / Implied Vol(P3,A 股期权市场较小)

�🔌 共享底座(两专区通用)

系统架构

用户 ─── CLI / 飞书 / HTTP API / MCP
              │
       Hermes Agent (LLM 核心)
              │
     ┌────────┼────────┐
     │        │        │
 14 Skills  52 Tools  Cron
  (策略层)   (执行层)  (定时)
     │        │        │
     └────────┼────────┘
              │
  ┌───────────┼───────────┐
  │           │           │
回测引擎    因子实验室    决策引擎
(Stage A)  (Stage B)   (Stage C)
  │           │           │
  └───────────┼───────────┘
              │
  论文搜索 + LLM 因子挖掘 (Stage D)
              │
  Binance / OKX / KuCoin (ccxt)

项目结构

quant-trade/
├── plugins/quant_tools/            # 量化工具插件 (29 模块 85 工具, ~14000 行)
│   ├── backtest_engine/            # [阶段A] 自研回测引擎
│   │   ├── data_loader.py          #   数据加载 + Parquet 缓存
│   │   ├── portfolio.py            #   持仓/订单/资金曲线 + apply_funding()
│   │   ├── event_loop.py           #   回测主循环 + 资金费率结算 + Buy&Hold 基准
│   │   ├── metrics.py              #   Sharpe/Sortino/MaxDD/Calmar/PF
│   │   ├── walk_forward.py         #   滚动窗口样本外验证
│   │   ├── report.py               #   ECharts HTML 可视化报告
│   │   ├── risk_filter.py          #   Python 硬风控过滤器
│   │   └── strategies/             #   内置策略 (MA交叉/Agent回放)
│   ├── factor_lab/                 # [阶段B] 因子实验室
│   │   ├── factors/                #   36+ 因子 (动量/波动率/微观结构/量价)
│   │   ├── validator.py            #   IC/IR/分层回测/半衰期
│   │   └── catalog.py              #   因子档案管理 (JSON)
│   ├── strategy_generator.py       # [阶段C] 因子策略自动生成
│   ├── decision_engine.py          # [阶段C] 证据链决策引擎
│   ├── paper_research.py           # [阶段D] arxiv 搜索 + PDF 解析
│   ├── ai_factor_miner.py          # [阶段D] LLM 因子挖掘 + 安全沙箱
│   ├── order_tracker.py            # 订单状态机: check_order_status / watch_order_fill
│   ├── realtime_feed.py            # WS 实时行情: start_realtime_feed / get_realtime_ticker
│   ├── market_tools.py             # 行情: K线、Ticker、深度
│   ├── indicator_tools.py          # 技术指标: MA/RSI/MACD/BB + 筛选
│   ├── trade_tools.py              # 交易: 下单、撤单、持仓、余额
│   ├── risk_tools.py               # 风控: Kelly + 波动率 + 加仓/减仓
│   ├── macro_tools.py              # 宏观: 19项 FRED + VIX + 日历
│   └── ...                         # 衍生品/情绪/新闻/链上/基本面/告警/确认
├── skills/                         # 14 个 Agent Skill
├── scripts/                        # 部署/配置/仪表盘
├── docs/                           # 设计文档 + 4 阶段实现文档
├── tests/                          # 274 项测试 (含 test_phase_e.py: 38 项新增)
├── test_backtest_engine.py         # 169 项回测引擎测试
└── test_quant_tools.py             # 81 项工具测试

快速开始

1. 安装

git clone https://github.com/colinsweany/quant-trade.git
cd quant-trade

# 安装 Hermes-Agent 框架
git clone https://github.com/NousResearch/hermes-agent.git ../hermes-agent
python3.12 -m venv ../quant-agent-env
source ../quant-agent-env/bin/activate
cd ../hermes-agent && pip install -e ".[cli,mcp,cron]"
cd ../quant-trade
pip install ccxt pandas pandas_ta requests fastapi uvicorn lark-oapi

2. 配置

# 安装插件和技能
cp -r plugins/quant-tools ~/.hermes/plugins/quant-tools
cp -r skills/* ~/.hermes/skills/

# 编辑 LLM 配置
# ~/.hermes/config.yaml → 设置模型和 API 地址
# ~/.hermes/.env → 设置 OPENAI_API_KEY

# 配置交易所(交互式向导,含操作步骤说明)
python scripts/setup_exchange.py

# 配置飞书推送(可选)
# ~/.hermes/.env → 设置 FEISHU_APP_ID / FEISHU_APP_SECRET
python scripts/verify_feishu.py --list-chats

3. 验证

# 工具测试(81 项)
source ../quant-agent-env/bin/activate
python test_quant_tools.py

# 端到端联调(6 阶段: 行情→宏观→基本面→回测→告警→日志)
HERMES_SSL_VERIFY=false python scripts/e2e_pipeline.py

4. 使用

# CLI 交互
cd ../hermes-agent && python cli.py

# HTTP API
python ../quant-trade/quant_api.py
curl -X POST http://localhost:8899/chat \
  -H 'Content-Type: application/json' \
  -d '{"message": "分析 BTC 当前走势,结合宏观数据给出建议"}'

# 飞书 Bot(需先配置 FEISHU 环境变量)
python cli.py --gateway

# MCP Server(供 Claude Desktop / VS Code 调用)
hermes mcp serve

工具总览

模块 工具数 主要功能 数据源
market_tools 3 K线、实时价格、深度 ccxt (Binance等)
indicator_tools 2 技术指标计算、多币种筛选 ccxt + pandas_ta
trade_tools 5 下单、撤单、持仓、余额、止损 ccxt(需API Key)
derivatives_tools 2 资金费率、合约持仓量 ccxt
sentiment_tools 4 恐惧贪婪、热门币、全局市场 Alternative.me / CoinGecko
news_tools 2 新闻抓取、情绪打分 Google News RSS
onchain_tools 4 TVL、鲸鱼交易、代币解锁 DeFiLlama / CoinGecko
macro_tools 3 19项FRED指标 + VIX + 经济日历 FRED / Yahoo Finance
fundamental_tools 1 基本面综合分析 CoinGecko Detail API
backtest_tools 2 自定义回测 + 4种预设策略 ccxt + pandas_ta
journal_tools 3 交易记录/查询/更新 本地 JSONL
alert_tools 2 5种模板告警、目标列表 飞书/Telegram/Discord
confirm_tools 4 提案/列表/确认/拒绝 本地 JSON + 飞书推送
backtest_engine 3 事件驱动回测、Walk-Forward、HTML报告 ccxt + ECharts
factor_lab 4 36+因子计算、IC/IR验证、因子档案 pandas + scipy
strategy_generator 1 因子→策略自动生成 factor_lab
decision_engine 1 证据链多维决策 factor + macro + sentiment
paper_research 2 arxiv搜索、PDF公式提取 arxiv API + PyMuPDF
ai_factor_miner 1 LLM因子挖掘 + AST安全沙箱 OpenAI API + ast

宏观数据覆盖(FRED 19 项 + VIX)

分类 覆盖指标
利率 (日/月) 联邦基金利率 fed_rate · 10Y/2Y 国债 treasury_10y treasury_2y · 期限利差 treasury_spread
通胀 (月) CPI cpi cpi_yoy · 核心CPI core_cpi · PCE pce · 核心PCE core_pce
就业 (周/月) 失业率 unemployment · 非农 nonfarm_payroll · 初请失业金 initial_claims
经济活动 (月) ISM PMI ism_pmi · 零售销售 retail_sales · 消费者信心 consumer_sentiment
市场 (日/月) 美元指数 dxy · 标普500 sp500 · M2货币 m2
波动率 (日) CBOE 恐慌指数 vix

手动确认工作流

Agent 扫描市场
    ↓
生成交易信号 → propose_trade()
    ↓
推送飞书群通知(含币种/方向/价格/理由/置信度)
    ↓
用户在飞书/CLI查看
    ├── confirm_trade(signal_id, amount) → 自动下单+止损+日志+成交通知
    └── reject_trade(signal_id, reason) → 记录拒绝原因

接入方式

方式 命令 说明
CLI python cli.py 终端直接交互
HTTP API python quant_api.py RESTful API (port 8899)
飞书 Bot python cli.py --gateway 群聊 @机器人
MCP Server hermes mcp serve Claude Desktop / VS Code
定时任务 python scripts/setup_cron.py 每日扫描/4h快照/周日复盘

许可

MIT

Reviews (0)

No results found