Skip to content

lukeSuperCoder/fund-agent

Repository files navigation

基金日报助手 🤖

智能化基金投资决策系统

使用AI技术进行多维度数据分析,为成长型科技投资组合(AI + 机器人 + 先进制造)生成每日投资建议报告。

Python License Status

✨ 核心功能

  • 📊 市场数据监控:实时追踪大盘走势、北向资金、成交量等关键指标
  • 📈 基金净值追踪:4只持仓基金的净值、收益、持仓变化监控
  • 📰 智能新闻采集:混合模式(关键词+LLM)精准过滤相关新闻,自动分级
  • 💰 估值分析:行业估值分位数、PE/PB分析、历史对比
  • ⚠️ 风险管理:波动率、最大回撤、相关性分析
  • 🎯 投资信号引擎:5因子量化评分系统,生成可执行操作建议
  • 🤖 LLM深度分析:Claude AI提供专业的投资逻辑推理和建议
  • 📋 自动日报生成:早间简报(08:00) + 晚间完整日报(19:00)

🏗️ 技术架构

┌─────────────────────────────────────────────────────────┐
│                    调度层 (Scheduler)                     │
│              APScheduler / Cron定时任务                   │
└─────────────────────────────────────────────────────────┘
                            │
        ┌───────────────────┼───────────────────┐
        ↓                   ↓                   ↓
┌───────────────┐  ┌───────────────┐  ┌────────────────┐
│  数据采集层    │  │   数据处理层   │  │   输出层        │
│  (Collector)   │→ │  (Processor)   │→ │  (Generator)   │
└───────────────┘  └───────────────┘  └────────────────┘
        ↓                   ↓                   ↓
┌───────────────────────────────────────────────────────┐
│                    数据存储层 (Storage)                  │
│            SQLite + JSON缓存 + CSV备份                  │
└───────────────────────────────────────────────────────┘

技术栈

类型 技术选型 说明
语言 Python 3.10+ 主要开发语言
数据采集 akshare, requests 免费的A股/基金数据接口
AI引擎 Claude API (Sonnet 4.5) 新闻分析与深度分析
数据处理 pandas, numpy 数据分析与计算
数据库 SQLite 轻量级本地数据库
模板 Jinja2 Markdown报告生成
调度 APScheduler 定时任务管理

🚀 快速开始

1. 环境准备

# 确保已安装 Python 3.10+ 和 conda
conda create -n fund-agent python=3.10
conda activate fund-agent

2. 安装依赖

pip install -r requirements.txt

3. 配置环境变量

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

# 编辑 .env 文件,填入你的API密钥
# LLM_NEWS_API_KEY=sk-your-api-key-here

4. 初始化数据库

python run.py init

5. 测试系统

python run.py test

6. 运行你的第一个任务

# 运行晚间完整日报
python run.py run evening

# 查看生成的报告
cat reports/2026-01-27_投资日报.md

📖 详细教程: 请参阅 QUICKSTART.md

⚙️ 配置说明

环境变量 (.env)

# LLM API密钥(必需)
LLM_NEWS_API_KEY=sk-your-api-key-here

# 理杏仁Cookie(可选,用于估值数据)
LIXINGER_COOKIE=your_cookie

# 邮件推送密码(可选)
EMAIL_PASSWORD=your_password

系统配置 (config/settings.yaml)

# LLM功能开关
llm:
  news_analysis:
    enabled: true          # 是否启用新闻LLM分析
  deep_analysis:
    enabled: true          # 是否启用深度分析

# 调度时间
scheduler:
  morning_brief_time: "08:00"   # 早间简报
  evening_report_time: "19:00"  # 晚间日报
  timezone: "Asia/Shanghai"

基金池配置 (config/funds.yaml)

编辑此文件添加你持有的基金代码和目标配置比例。

📖 使用指南

命令行工具 (run.py)

所有操作通过统一的命令行工具完成:

# 查看帮助
python run.py --help

# 初始化数据库
python run.py init

# 测试系统配置
python run.py test

# 查看数据统计
python run.py stats

# ===== 运行任务 =====
# 早间简报(快速版,不调用LLM)
python run.py run morning

# 晚间完整日报(含LLM深度分析)
python run.py run evening

# 新闻采集
python run.py run news

# 指定日期
python run.py run evening --date 2026-01-27

# ===== 调度器管理 =====
# 启动调度器(前台运行)
python run.py schedule start

# 查看任务列表
python run.py schedule list

# 手动触发任务
python run.py schedule run --job morning_brief
python run.py schedule run --job evening_report
python run.py schedule run --job news_collection

生产环境部署

使用systemd (推荐)

# 1. 编辑服务配置文件
# 修改 fund-agent.service 中的用户名和路径

# 2. 安装服务
sudo cp fund-agent.service /etc/systemd/system/
sudo systemctl daemon-reload

# 3. 启动服务
sudo systemctl enable fund-agent
sudo systemctl start fund-agent

# 4. 查看状态
sudo systemctl status fund-agent
sudo journalctl -u fund-agent -f

使用screen (临时运行)

screen -S fund-agent
python run.py schedule start
# Ctrl+A, D 断开会话
# screen -r fund-agent 恢复会话

📄 文档

💡 核心特性

1. 混合新闻采集系统 ⭐

创新性地结合关键词快速过滤和LLM深度分析:

原始新闻(100-200条)
  ↓ 关键词过滤(免费,<1秒)
保留新闻(40-80条)
  ↓ LLM深度分析($0.01-0.02)
精准新闻(10-20条)
  ↓ 自动分级+摘要生成
最终输出(一级/二级/三级)

优势: 95%+准确率,成本仅$3-10/月,有降级容错机制

2. 五因子投资信号引擎

量化评分系统(±5分):

  • 政策催化 (0/1) - 官方政策支持
  • 资金流向 (-1/0/1) - 北向资金连续流入
  • 估值面 (-1/0/1/2) - PE历史分位数
  • 情绪面 (-1/0/1) - 融资余额变化
  • 产业面 (0/1) - 龙头公司业绩

总分≥3 → 加仓 | 1-2 → 观望 | ≤0 → 减仓

3. LLM深度分析

使用Claude Sonnet 4.5模型:

  • 综合解读市场信号
  • 投资逻辑推理
  • 具体操作建议
  • 风险提示

成本: ~$5-10/月

💰 成本分析

项目 月度成本
新闻LLM分析 $3-10
Claude深度分析 $5-10
数据采集 免费 (akshare)
总计 $8-20

完全可控,适合个人使用!

⚠️ 免责声明

本系统仅为个人投资辅助工具,不构成投资建议。历史数据不代表未来表现。投资有风险,决策需谨慎。

🔧 故障排查

常见问题

Q: 数据库初始化失败

# 删除旧数据库重新初始化
rm data/fund_agent.db
python run.py init

Q: LLM API调用失败

# 检查API Key配置
echo $LLM_NEWS_API_KEY

# 临时禁用LLM功能
# 编辑 config/settings.yaml:
#   llm.news_analysis.enabled: false
#   llm.deep_analysis.enabled: false

Q: akshare数据获取失败

# 更新akshare
pip install --upgrade akshare

# 测试接口
python -c "import akshare as ak; print(ak.stock_zh_index_daily(symbol='sh000001').tail())"

更多问题请查看 QUICKSTART.md 第八章。

📝 版本历史

  • v1.0.0 (2026-01-27) - 🎉 首个完整版本发布

    • ✅ 所有核心模块实现
    • ✅ 完整的命令行工具
    • ✅ 定时调度器
    • ✅ 生产环境部署支持
  • v0.1.0 (2026-01-23) - 项目初始化

    • ✅ 基础框架搭建

👨‍💻 作者

Luke + Claude Sonnet 4.5

使用 Claude Code 协作开发

📧 反馈与贡献

如有问题或建议:

  1. 查看 QUICKSTART.md 故障排查章节
  2. 运行 python run.py test 检查系统状态
  3. 查看日志文件 logs/fund_agent.log

⚖️ 许可证

MIT License


⭐ 如果这个项目对你有帮助,请给个Star!

🤖 Powered by Claude Code & Anthropic

About

一个AI驱动的智能化的基金投资决策助手,通过实时采集和分析市场资讯、基金数据、政策动态等多维度信息,为您的投资布局提供专业、精准、可执行的投资建议。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors