Skip to content

flytestai/trade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

332 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 智能多维度证券分析系统

Smart Multi-Dimensional Securities Analysis System

基于 Microsoft AutoGen 框架的多智能体协同证券分析系统,支持 硅基流动 DeepSeek-R1Google Gemini Pro 双 LLM 接入。

✨ 功能特点

  • 多智能体协作: 6个专业 Agent 各司其职,协同完成分析任务
  • 数据权威性验证: 专门的审计 Agent 确保数据来源可靠
  • 多周期预测: 覆盖从下个交易日到1年的8个时间维度
  • 技术+基本面双维度: 综合技术指标和财务分析
  • 结构化报告: 生成专业的 Markdown 格式投资报告

🏗️ 系统架构

┌─────────────────────────────────────────────────────────────┐
│                      User Proxy Agent                        │
│                   (用户交互 & 工具执行)                        │
└─────────────────────────┬───────────────────────────────────┘
                          │
┌─────────────────────────▼───────────────────────────────────┐
│                    GroupChat Manager                         │
│                    (工作流协调器)                             │
└───┬─────────┬─────────┬─────────┬─────────┬─────────────────┘
    │         │         │         │         │
┌───▼───┐ ┌───▼───┐ ┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│ Data  │ │ Data  │ │ Tech  │ │ Fund  │ │  CIO  │
│Engine │→│Verify │→│Analyst│→│Analyst│→│       │
│       │ │       │ │       │ │       │ │       │
└───────┘ └───┬───┘ └───────┘ └───────┘ └───────┘
              │
              ▼ (如验证失败)
        返回 Data Engine 重新获取

📦 技术栈

组件 技术
多智能体框架 Microsoft AutoGen
LLM (默认) 硅基流动 DeepSeek-R1
LLM (备用) Google Gemini Pro API
行情数据 yfinance
新闻爬虫 BeautifulSoup + Requests
技术分析 pandas + ta
语言 Python 3.10+

🚀 快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置 API Key

# 复制环境变量模板
cp .env.example .env

编辑 .env 文件,配置 LLM API Key:

# 默认使用硅基流动 DeepSeek-R1
DEFAULT_LLM_PROVIDER=siliconflow
SILICONFLOW_API_KEY=your_siliconflow_api_key

# 或者使用 Google Gemini
# DEFAULT_LLM_PROVIDER=gemini
# GOOGLE_API_KEY=your_gemini_api_key

获取 API Key:

3. 运行系统

# 交互模式
python main.py

# 直接分析指定标的
python main.py --analyze AAPL
python main.py --analyze 600519
python main.py --analyze SPY

🤖 Agent 角色说明

1. User Proxy Agent (用户代理)

  • 接收用户输入
  • 执行工具调用
  • 输出最终报告

2. Data Engineer Agent (数据工程师)

  • 获取行情数据 (yfinance)
  • 获取财务报表
  • 搜索权威财经新闻
  • 优先使用权威来源: SEC, Bloomberg, Reuters, WSJ

3. Data Verifier Agent (数据审计员) ⭐

  • 核心角色: 验证所有数据的权威性
  • 检查数据来源是否可信
  • 检查数据时效性
  • 不通过则打回重新获取

4. Technical Analyst Agent (技术分析师)

  • 计算技术指标: MACD, KDJ, RSI, 布林带
  • 分析均线系统
  • 标注支撑位/阻力位
  • 短线/中线/长线趋势判断

5. Fundamental Analyst Agent (基本面分析师)

  • 估值分析: P/E, P/B, PEG
  • 财务健康度评估
  • 行业分析
  • 宏观经济影响

6. Chief Technical Analyst Agent (首席技术分析官)

  • 汇总所有分析结论
  • 生成8个时间周期技术分析
  • 给出技术面评级(强势/偏强/中性/偏弱/弱势)
  • 列出风险提示

📊 输出报告示例

# 📊 AAPL 技术分析研究报告

## 一、标的概况
| 指标 | 数值 |
|------|------|
| 当前价格 | $195.50 |
| 市值 | $3.01T |
| P/E | 31.2 |

## 二、多周期技术分析
| 时间周期 | 技术面状态 | 置信度 | 参考区间 |
|----------|----------|--------|----------|
| 下个交易日 | 震荡 || $193-$198 |
| 未来3天 | 偏强 || $194-$200 |
| 1周 | 偏强 || $195-$205 |
...

## 三、技术参考价位
### 短期分析 (1天-15天)
**技术面评级: 中性**
- 分析: RSI 中性,等待突破确认
- 参考低位(支撑位): $xxx
- 参考高位(阻力位): $xxx

## 四、风险提示 ⚠️
1. 宏观利率风险
2. 手机销量不及预期
3. 本报告仅供学习研究参考,不构成任何投资建议

📁 项目结构

Ai-trade/
├── main.py                 # 主入口
├── config.py               # 配置管理
├── requirements.txt        # 依赖列表
├── .env.example           # 环境变量模板
├── README.md              # 项目说明
│
├── agents/                 # Agent 定义
│   ├── __init__.py
│   └── agent_definitions.py
│
├── tools/                  # 工具函数
│   ├── __init__.py
│   ├── data_fetcher.py    # 数据获取
│   ├── news_crawler.py    # 新闻爬虫
│   └── technical_analysis.py  # 技术分析
│
├── workflow/               # 工作流编排
│   ├── __init__.py
│   └── group_chat.py
│
├── reports/               # 生成的报告
│   └── *.md
│
└── logs/                  # 日志目录

⚙️ 配置说明

权威来源配置 (config.py)

AUTHORITATIVE_SOURCES = [
    # 官方机构 (最高优先级)
    {"name": "SEC", "domain": "sec.gov", "trust_level": "official"},
    
    # 一级财经媒体
    {"name": "Bloomberg", "domain": "bloomberg.com", "trust_level": "tier1"},
    {"name": "Reuters", "domain": "reuters.com", "trust_level": "tier1"},
    
    # 二级专业平台
    {"name": "Yahoo Finance", "domain": "finance.yahoo.com", "trust_level": "tier2"},
]

数据新鲜度要求

数据类型 有效期
价格数据 当天
新闻 7天内
财报 1年内
宏观政策 30天内

🔧 常见问题

Q: API Key 配置后仍报错?

确保 .env 文件在项目根目录,且格式正确:

GOOGLE_API_KEY=AIza...

Q: 如何分析 A 股?

直接输入股票代码或名称:

python main.py --analyze 600519
python main.py --analyze 贵州茅台

Q: 报告保存在哪里?

默认保存在 reports/ 目录下,文件名格式: {标的}_{时间戳}.md

Q: 如何配置微信公众号推送?

系统支持两种微信推送方式:

方式一:微信公众号推送(推荐) 基于 go-wxpush 方案,使用微信测试公众号发送模板消息:

  • 每天 10 万次额度
  • 真正的微信原生弹窗 + 声音提醒

配置步骤:

  1. .env 文件中配置:
WECHAT_APP_ID=wx84255915fd44cc69
WECHAT_APP_SECRET=your_app_secret  # 从公众号后台获取
WECHAT_TEMPLATE_ID=your_template_id  # 添加模板后获取
WECHAT_GH_ID=gh_a1d7563f0a6f
WECHAT_ACCOUNT=aiautotrade
  1. 在微信测试公众号中添加消息模板,格式:
{{title.DATA}}
{{content.DATA}}
{{time.DATA}}
  1. 用户关注公众号后,发送任意消息获取 OpenID
  2. 在系统设置中填入 OpenID 即可接收推送

方式二:PushPlus(备用)

⚠️ 重要声明

本工具为个人学习研究用途,所有分析内容均基于公开数据和技术指标自动生成,仅供学习交流参考。

  1. 本工具不具备证券投资咨询资质,所有内容不构成任何投资建议、推荐或指导。
  2. 所谓"参考价位"、"技术评级"等均为基于技术指标的数学计算结果,不构成买卖建议。
  3. 投资有风险,任何投资决策请咨询持牌专业人士并自行承担风险。
  4. 禁止将本工具用于商业用途或向他人提供投资咨询服务。

📄 许可证

MIT License


Made with ❤️ for Learning & Research

About

AI全能证券分析平台

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors