AI Finance
· 5 min read
✅ 总体结构(智能体团队)
你提到的这些模块非常清晰,我们可以拆分成以下 Agent,每个智能体都有独立的职责和接口,也可以彼此协同:
模块名称 | 角色 | 功能描述 |
---|---|---|
🧊 数据获取 Agent | 数据员 | 获取 Binance 最近 60 根 K 线、订单簿、持仓、账户余额等 |
🔍 行情分析 Agent | 分析师 | 使用技术指标(MACD、RSI、布林带、量能)等分析当前市场走势 |
📈 规律研究 Agent | 统计师 | 从历史模型行为中总结有效模式、亏损模式、当前是否偏离惯性 |
🚨 风控 Agent | 风控官 | 评估当前仓位、账户风险、历史回撤、最大交易频率等限制条件 |
🧠 决策 Agent | 决策者 | 综合前面模块的分析结果,生成最终建议(买入/卖出/持有) |
🤖 执行 Agent | 交易员 | 调用 Binance API(或模拟)进行下单并记录日志 |
🧠 决策流动示意图
调度器 每小时一次(或按需)
┌──────────────────────────────┐
│ 🧊 数据获取 Agent │
│ - 拉取 1min/5min/2h K线 │
│ - 账户余额 / 持仓状态 │
└──────────────┬──────────────┘
↓
┌──────────────┴──────────────┐
│ 🔍 行情分析 Agent │
│ - 提取指标信号(MACD 等) │
│ - 判断趋势 / 动能状态 │
└──────────────┬──────────────┘
↓
┌──────────────┴──────────────┐
│ 📈 规律研究 Agent │
│ - 查询历史判断与结果 │
│ - 判断当前是否为惯性偏离 │
└──────────────┬──────────────┘
↓
┌──────────────┴──────────────┐
│ 🚨 风控 Agent │
│ - 仓位管理 / 盈亏限制 │
│ - 今日最大交易数限制 │
└──────────────┬──────────────┘
↓
┌──────────────┴──────────────┐
│ 🧠 决策 Agent │
│ - 结合所有上下文信息 │
│ - 生成大模型 prompt │
│ - 接收建议:buy/sell/hold │
└──────────────┬──────────────┘
↓
┌──────────────┴──────────────┐
│ 🤖 执行 Agent │
│ - 调用下单接口 / 模拟下单 │
│ - 写入数据库 log │
└──────────────────────────────┘
✅ 技术选型建议
组件 | 推荐 |
---|---|
后端框架 | FastAPI ,用于提供统一 API 和调度管理 |
数据库 | PostgreSQL (存历史行为、仓位、行情缓存) |
数据调度 | APScheduler or Celery + Redis |
智能体实现 | Python 模块分层,每个 Agent 可运行在单独线程/异步任务 |
大模型调用 | OpenRouter 接口(如 DeepSeek、GPT-4) |
可视化 | 前端展示建议 / 日志 / 当前仓位 / 策略状态等 |
✅ 示例代码组织结构
/agent_trading_system/
├── main.py # FastAPI 启动入口
├── scheduler.py # 定时任务管理器(每小时运行一次)
├── agents/
│ ├── data_fetcher.py # 数据获取 Agent
│ ├── market_analyzer.py # 行情分析 Agent
│ ├── pattern_researcher.py# 规律研究 Agent
│ ├── risk_controller.py # 风控 Agent
│ ├── decision_maker.py # 决策 Agent(调 OpenAI)
│ └── order_executor.py # 执行 Agent
├── database/
│ ├── models.py # SQLAlchemy 数据模型
│ └── db.py # 数据库连接与操作
├── prompts/
│ └── template.txt # Prompt 模板结构
└── utils/
└── indicators.py # 技术指标计算工具
✅ 下一步建议
你可以从以下其中一块开始动手落地:
- 模块初始化:把每个 Agent 模块写出骨架
- 先跑通流程:从数据获取 → 分析 → 风控 → 决策 → 模拟下单 → 写入数据库
- 搭建数据库:建表:
decision_log
,position_log
,kline_cache
,account_snapshot
- 模型 prompt 构造:先使用简单结构运行,逐步丰富 prompt 内容
- 日志与可视化:前端页面展示状态,方便调试和监管