仓位管理系统 - 现有工具调研报告
日期: 2026-03-10 目的: 调研市场上现有的相关工具和开源项目,避免重复造轮子
1. OpenClaw/ClawHub 生态
1.1 Portfolio 相关 Skill
| Skill 名称 | 描述 | 匹配度 | 适用性 |
|---|---|---|---|
| portfolio-manager | 使用 Alpaca MCP Server 集成进行投资组合分析 | ⚠️ 部分匹配 | 需要券商 API,不适合散户 |
| afrexai-investment-engine | 投资分析和投资组合管理引擎 | ⚠️ 部分匹配 | 功能过重,主要是 AI 分析 |
| finance-automation | 金融自动化(支付、发票、费用) | ❌ 不匹配 | 主要是企业财务管理 |
| portfolio-watcher | 投资组合监控 | ❓ 未知 | 需要进一步了解 |
| portfolio-tracker | 投资组合跟踪 | ❓ 未知 | 需要进一步了解 |
| openmm-portfolio | OpenMM 投资组合 | ❌ 不匹配 | 数字货币相关 |
1.2 已安装 Skill
- manus-stock-analysis: ✅ 已安装,可用于技术分析
- 功能: 获取股票数据、技术分析
- 可复用: 是,可作为分析模块
1.3 结论
ClawHub 生态现状:
- ✅ 有技术分析 skill(manus-stock-analysis)
- ❌ 没有符合需求的仓位管理 skill
- ❌ 现有 skill 大多依赖券商 API(Alpaca),不适合散户
建议: 需要自己开发,但可以复用 manus-stock-analysis 的技术分析功能
2. GitHub 开源项目调研
2.1 相关项目列表
| 项目名称 | 技术栈 | 功能匹配度 | Stars | 状态 | 备注 |
|---|---|---|---|---|---|
| django-portfolio-app | Django, yfinance | ⚠️ 部分匹配 | 2 | 2025年更新 | Django Web app,使用 yfinance 获取实时数据 |
| Stock-Portfolio-Web-application | Python | ⚠️ 部分匹配 | 2 | 2023年更新 | 股票投资组合管理 Web 应用 |
| bloomstrade | Python, Flask, SQLite | ⚠️ 部分匹配 | 13 | 2020年更新 | 股票交易 Web app,使用 Flask + SQLite |
| StockXpert | Python, Jupyter | ⚠️ 部分匹配 | 2 | 2025年更新 | 印度股票分析,交互式图表 |
| LLM-Stock-Manager | Python, AI Agents | ⚠️ 部分匹配 | 8 | 2026年更新 | 多智能体交易回测框架 |
| StockPortfolioManager_Python | Python, yfinance | ⚠️ 部分匹配 | 0 | 2024年更新 | 使用 yfinance 库的股票投资组合管理器 |
2.2 推荐参考项目
2.2.1 django-portfolio-app
- 仓库: https://github.com/ErayBahar/django-portfolio-app
- 技术栈: Django, yfinance, SQLite
- 功能:
- 追踪投资组合表现
- 实时股票/加密货币价格
- Django Web 应用
- 可复用:
- yfinance 数据获取逻辑
- 数据库设计思路
- 实时价格更新机制
- 缺点:
- 基于 Django(可能需要重构)
- 无技术分析功能
- 无定时任务
2.2.2 bloomstrade
- 仓库: https://github.com/jhustles/bloomstrade
- 技术栈: Python, Flask, SQLite3, Jinja, Bootstrap 4
- 功能:
- 股票交易 Web 应用
- 用户注册和交易功能
- 使用 Flask + SQLite
- 可复用:
- Flask 后端架构
- SQLite 数据库设计
- Bootstrap 前端
- 缺点:
- 主要是交易功能,不是仓位管理
- 无技术分析
- 无自动更新
2.2.3 StockPortfolioManager_Python
- 仓库: https://github.com/marium2204/StockPortfolioManager_Python
- 技术栈: Python, yfinance
- 功能:
- 股票投资组合管理
- 使用 yfinance 库
- 可复用:
- yfinance 数据获取
- 基础持仓管理逻辑
- 缺点:
- 无 Web 界面
- 无技术分析
- 无自动更新
2.3 结论
GitHub 生态现状:
- ✅ 有一些基础的投资组合管理项目
- ⚠️ 大部分项目缺少技术分析功能
- ⚠️ 大部分项目缺少自动更新功能
- ⚠️ 很多项目已停止维护
建议: 可以参考这些项目的架构和代码片段,但需要自己实现完整功能
3. 商业产品调研
3.1 知名投资组合管理工具
| 产品名称 | 平台 | 定价 | 主要功能 | 匹配度 |
|---|---|---|---|---|
| 聚宽 | Web | 付费 | 量化交易、回测 | ⚠️ 过重,主要是量化平台 |
| 优矿 | Web | 付费 | 量化交易、回测 | ⚠️ 过重,主要是量化平台 |
| 掘金 | Web | 付费 | 量化交易、回测 | ⚠️ 过重,主要是量化平台 |
| 老虎国际 | App | 免费 | 美港股投资组合 | ❌ 仅美港股,无 A股 |
| 富途牛牛 | App | 免费 | 美港股投资组合 | ❌ 仅美港股,无 A股 |
| 雪球 | Web/App | 免费 | A股投资组合、社区 | ⚠️ 部分匹配,但无自定义分析 |
| 同花顺 | App | 免费 | A股投资组合、自选股 | ⚠️ 部分匹配,主要关注个股 |
3.2 结论
商业产品现状:
- ❌ 没有完全匹配需求的商业产品
- ⚠️ 大部分产品主要关注交易,而非持仓管理
- ⚠️ 大部分产品不支持自定义技术分析
- ⚠️ 大部分产品不支持定时自动更新
建议: 需要自己开发,但可以参考商业产品的 UI 设计
4. 技术组件调研
4.1 数据源对比
| 数据源 | A股支持 | 港股支持 | 免费额度 | API限制 | 推荐度 |
|---|---|---|---|---|---|
| yfinance | ✅ | ✅ | 免费 | 无明显限制 | ⭐⭐⭐⭐ |
| akshare | ✅ | ⚠️ 部分支持 | 免费 | 无明显限制 | ⭐⭐⭐⭐⭐ (A股) |
| tushare | ✅ | ⚠️ 部分支持 | 免费额度有限 | 需 token | ⭐⭐⭐ |
| baostock | ✅ | ❌ | 免费 | 有限制 | ⭐⭐ |
推荐:
- A股: akshare(数据更全,更稳定)
- 港股: yfinance(支持良好)
4.2 技术分析库
| 库名称 | 功能完整度 | 性能 | 易用性 | 推荐度 |
|---|---|---|---|---|
| pandas-ta | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ 已安装 |
| ta-lib | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ |
| tulip | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
推荐: pandas-ta(已安装,易用性好)
4.3 Web 框架对比
| 框架 | 学习曲线 | 性能 | 生态 | 推荐度 |
|---|---|---|---|---|
| Flask | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| FastAPI | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Django | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
推荐:
- 轻量级: FastAPI
- 成熟稳定: Flask
4.4 前端框架对比
| 框架 | 学习曲线 | 组件库 | 生态 | 推荐度 |
|---|---|---|---|---|
| Vue.js | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| React | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 原生 HTML | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
推荐: Vue.js + Element Plus(开发效率高)
5. 综合分析
5.1 可复用的现有资源
5.1.1 OpenClaw 生态
- ✅ manus-stock-analysis: 可复用技术分析功能
- ❌ 没有完整的仓位管理 skill
5.1.2 开源项目
- ✅ django-portfolio-app: yfinance 数据获取逻辑
- ✅ bloomstrade: Flask + SQLite 架构
- ✅ StockPortfolioManager_Python: 基础持仓管理
5.1.3 技术栈
- ✅ pandas-ta: 已安装,技术分析
- ✅ yfinance: 已安装,港股数据
- ✅ akshare: 可安装,A股数据
5.2 需要自己实现的核心功能
| 功能 | 可复用 | 需要实现 | 优先级 |
|---|---|---|---|
| 持仓管理(CRUD) | ⚠️ 部分参考 | ✅ | 高 |
| 自动更新 | ❌ | ✅ | 高 |
| 技术分析 | ✅ manus-stock-analysis | ⚠️ 集成 | 高 |
| Web UI | ⚠️ 参考 | ✅ | 高 |
| 定时任务 | ✅ Cron | ⚠️ 集成 | 中 |
| 数据存储 | ⚠️ 参考 | ✅ | 中 |
| 历史记录 | ❌ | ✅ | 低 |
| 告警通知 | ❌ | ✅ | 低 |
5.3 开发成本评估
| 阶段 | 工作量 | 可复用代码比例 | 预计时间 |
|---|---|---|---|
| Phase 1: MVP | 中 | 30% | 1周 |
| Phase 2: 自动更新 | 低 | 50% | 2-3天 |
| Phase 3: 技术分析 | 低 | 70% | 2-3天 |
| Phase 4: 优化增强 | 中 | 40% | 1周 |
总计: 2-3周完成 v1.0
6. 推荐方案
方案 A: 完全自主开发 ✅ 推荐
- 优点:
- 完全符合需求
- 可控性强
- 可持续迭代
- 缺点:
- 开发周期较长(2-3周)
- 需要维护
- 适用: 长期使用,有定制需求
方案 B: 基于 django-portfolio-app 二次开发
- 优点:
- 有基础框架
- 开发周期较短(1-2周)
- 缺点:
- 需要重构到 Flask/FastAPI
- 部分功能不匹配
- 适用: 快速上线,可接受部分妥协
方案 C: 集成多个开源项目
- 优点:
- 快速组合功能
- 开发周期最短(1周)
- 缺点:
- 集成复杂
- 维护困难
- 适用: 原型验证
7. 结论与建议
7.1 核心结论
没有完全匹配需求的现成工具
- OpenClaw 生态缺少完整的仓位管理 skill
- GitHub 开源项目缺少技术分析和自动更新
- 商业产品不支持自定义分析
有大量可复用的代码片段
- yfinance 数据获取
- Flask + SQLite 架构
- pandas-ta 技术分析
推荐完全自主开发
- 完全符合需求
- 可控性强
- 可持续迭代
7.2 具体建议
技术选型:
- 后端: FastAPI(性能好,自动文档)
- 前端: Vue.js 3 + Element Plus(开发效率高)
- 数据库: SQLite(轻量级)
- A股数据: akshare(更稳定)
- 港股数据: yfinance(支持好)
- 技术分析: pandas-ta(已安装)
开发顺序:
- Phase 1: MVP(1周)- 核心持仓管理
- Phase 2: 自动更新(2-3天)- 定时任务
- Phase 3: 技术分析(2-3天)- 集成现有脚本
- Phase 4: 优化增强(1周)- UI/UX 提升
可复用资源:
- OpenClaw: manus-stock-analysis(技术分析)
- GitHub: django-portfolio-app(数据获取)
- GitHub: bloomstrade(架构参考)
风险控制:
- 多数据源备份(yfinance + akshare)
- 数据验证机制
- 定期备份
- 免责声明
调研完成日期: 2026-03-10 调研人员: 小老弟 下一步: 等待确认后开始开发 Phase 1