commit 1c3a86e20d179009badf786953809f80277619b9 Author: Tony <476579845@qq.com> Date: Sat Feb 28 23:57:52 2026 +0800 初始化ETF监控项目 - 创建项目目录结构 - 添加README.md项目说明 - 添加需求文档REQUIREMENTS.md - 添加技术调研计划RESEARCH_PLAN.md - 项目准备进入技术调研阶段 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e21059b --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +# ETF监控服务 (ETF Monitor Service) + +## 项目概述 + +一个智能的ETF监控系统,用于监控指定ETF的价格变化,分析技术指标,并在关键节点提供买卖点提醒。 + +## 核心功能 + +### 已规划功能 +- [ ] ETF列表管理(添加/删除/修改) +- [ ] 多数据源支持(A股、港股、美股ETF) +- [ ] 实时/定时数据获取 +- [ ] 技术指标分析(MA、RSI、MACD、布林带等) +- [ ] 买卖信号生成 +- [ ] 多渠道提醒(邮件、消息等) +- [ ] 历史数据回测 +- [ ] Web管理界面 + +### 第一阶段目标 (MVP) +1. 单个ETF的每日数据获取 +2. 基础技术指标计算(移动平均线) +3. 邮件提醒功能 +4. 命令行配置界面 + +## 项目结构 + +``` +etf-monitor/ +├── docs/ # 项目文档 +├── research/ # 研究资料和评估报告 +├── src/ # 源代码 +├── tests/ # 测试代码 +├── data/ # 数据文件 +└── README.md # 项目说明 +``` + +## 技术栈考虑 + +### 后端选项 +- **Python**: 数据分析优势,丰富的金融库(pandas, numpy, ta-lib) +- **Node.js**: 异步IO优势,适合实时数据获取 + +### 数据源 +- 新浪财经API +- 腾讯财经API +- Yahoo Finance API +- Alpha Vantage API + +### 数据库 +- SQLite (轻量级,适合初期) +- PostgreSQL (功能完整,适合后期) + +## 开发计划 + +### 阶段1: 需求调研和技术评估 (当前阶段) +- 收集相关开源项目参考 +- 评估不同预测算法 +- 确定技术栈和数据源 + +### 阶段2: MVP开发 (2-3周) +- 基础数据获取和存储 +- 简单技术指标计算 +- 邮件提醒功能 + +### 阶段3: 功能完善 (3-4周) +- 更多技术指标 +- Web管理界面 +- 多ETF支持 + +## 使用说明 + +(待补充) + +## 贡献指南 + +(待补充) + +## 许可证 + +(待补充) diff --git a/docs/REQUIREMENTS.md b/docs/REQUIREMENTS.md new file mode 100644 index 0000000..5853d25 --- /dev/null +++ b/docs/REQUIREMENTS.md @@ -0,0 +1,178 @@ +# ETF监控服务 - 需求文档 + +## 1. 项目背景 + +用户需要一款ETF监控工具,能够: +1. 监控关注的ETF +2. 每天自动分析 +3. 在关键节点提供买卖点提醒 +4. 通过邮件或消息通知 + +## 2. 用户需求 + +### 2.1 功能需求 + +#### 核心功能 +1. **ETF管理** + - 添加/删除关注的ETF + - 设置监控参数(如提醒阈值) + - 查看ETF基本信息 + +2. **数据监控** + - 定时获取ETF数据(价格、成交量等) + - 支持多个数据源 + - 数据质量验证 + +3. **技术分析** + - 计算常用技术指标 + - 识别趋势和关键点位 + - 生成买卖信号 + +4. **提醒通知** + - 邮件提醒(主要渠道) + - 可扩展其他通知方式 + - 提醒内容定制 + +#### 扩展功能 +1. **历史回测** - 测试策略有效性 +2. **多策略支持** - 不同投资策略 +3. **报表生成** - 定期投资报告 +4. **移动端适配** - 手机查看 + +### 2.2 非功能需求 + +1. **性能要求** + - 数据获取延迟 < 5秒 + - 每日分析时间 < 10分钟 + - 支持同时监控50+个ETF + +2. **可靠性** + - 系统可用性 > 99% + - 数据准确性 > 95% + - 错误自动恢复 + +3. **安全性** + - 用户数据加密存储 + - API密钥安全管理 + - 操作日志记录 + +4. **易用性** + - 简单配置界面 + - 清晰的提醒内容 + - 详细的帮助文档 + +## 3. 用户场景 + +### 场景1: 日常监控 +``` +用户:设置关注5个ETF +系统:每天收盘后自动分析 +输出:邮件提醒,包含: + - 今日价格变化 + - 技术指标状态 + - 买卖建议(如有) +``` + +### 场景2: 关键点位提醒 +``` +条件:ETF价格突破关键阻力位 +系统:实时检测并发送提醒 +输出:紧急邮件,包含: + - 突破的具体点位 + - 建议操作 + - 历史参考数据 +``` + +### 场景3: 策略回测 +``` +用户:想测试新的交易策略 +系统:使用历史数据模拟 +输出:回测报告,包含: + - 收益率曲线 + - 最大回撤 + - 胜率统计 +``` + +## 4. 数据需求 + +### 4.1 数据内容 +1. **基础数据** + - 实时价格 + - 成交量 + - 涨跌幅 + - 市值 + +2. **历史数据** + - 日K线数据(开盘、收盘、最高、最低) + - 分钟级数据(可选) + - 财务指标(PE、PB等) + +3. **衍生数据** + - 技术指标值 + - 趋势判断结果 + - 风险评分 + +### 4.2 数据频率 +- 实时数据:交易时间每5-10分钟更新 +- 日线数据:每天收盘后更新 +- 历史数据:按需加载 + +## 5. 技术约束 + +### 5.1 开发约束 +- 开发周期:3个月(分阶段) +- 团队规模:单人开发 +- 技术栈:选择成熟稳定的技术 + +### 5.2 部署约束 +- 运行环境:Linux服务器 +- 存储需求:初期<10GB +- 网络要求:稳定的互联网连接 + +### 5.3 合规约束 +- 免责声明:所有建议仅供参考 +- 数据使用:遵守数据源API条款 +- 用户隐私:保护用户配置信息 + +## 6. 成功标准 + +### 第一阶段成功标准 +1. ✓ 能够监控1个ETF +2. ✓ 每天自动发送邮件报告 +3. ✓ 包含基础技术分析 +4. ✓ 系统稳定运行1周 + +### 最终成功标准 +1. ✓ 支持50+个ETF同时监控 +2. ✓ 提供准确的买卖点提醒 +3. ✓ 用户满意度 > 80% +4. ✓ 系统无故障运行1个月 + +## 7. 风险评估 + +### 技术风险 +1. **数据源不稳定** - 多数据源备份 +2. **分析算法不准确** - 持续优化和验证 +3. **系统性能问题** - 压力测试和优化 + +### 业务风险 +1. **投资建议风险** - 明确免责声明 +2. **用户期望管理** - 明确功能边界 +3. **市场变化风险** - 策略需要适应市场 + +## 8. 后续计划 + +### 短期计划 (1-2周) +- 技术调研和选型 +- 原型设计 +- 数据源测试 + +### 中期计划 (3-8周) +- MVP开发 +- 基础功能实现 +- 初步测试 + +### 长期计划 (9-12周) +- 功能完善 +- 性能优化 +- 用户反馈迭代 diff --git a/research/RESEARCH_PLAN.md b/research/RESEARCH_PLAN.md new file mode 100644 index 0000000..57246bf --- /dev/null +++ b/research/RESEARCH_PLAN.md @@ -0,0 +1,114 @@ +# ETF监控服务 - 技术调研计划 + +## 调研目标 + +1. 了解现有开源股票/ETF监控项目 +2. 评估不同的预测和分析算法 +3. 确定适合的技术栈和数据源 +4. 收集可复用的代码和思路 + +## 调研方向 + +### 1. 开源项目调研 +- GitHub上的相关项目 +- 技术架构分析 +- 功能特点比较 +- 可复用组件识别 + +### 2. 算法调研 +- 技术指标算法(TA-Lib等) +- 机器学习预测算法 +- 时间序列分析 +- 风险管理算法 + +### 3. 数据源调研 +- 免费金融数据API +- 数据质量和稳定性 +- 访问频率限制 +- 数据格式和接口 + +### 4. 技术栈调研 +- 后端框架选择 +- 数据库选择 +- 任务调度方案 +- 消息通知方案 + +## 调研方法 + +### 1. GitHub搜索关键词 +``` +- stock monitor +- etf tracker +- financial analysis +- trading bot +- quantitative finance +- technical analysis +``` + +### 2. 算法库评估 +``` +- TA-Lib (技术分析库) +- pandas (数据分析) +- scikit-learn (机器学习) +- statsmodels (统计模型) +``` + +### 3. 数据源测试 +``` +- 新浪财经API +- 腾讯财经API +- Yahoo Finance +- Alpha Vantage +- 聚宽/JQData +``` + +## 输出文档 + +### 1. 开源项目分析报告 +- 项目列表和特点 +- 技术架构对比 +- 优缺点分析 +- 可借鉴点 + +### 2. 算法评估报告 +- 算法原理说明 +- 适用场景分析 +- 实现复杂度评估 +- 准确性测试结果 + +### 3. 技术选型建议 +- 推荐技术栈 +- 架构设计建议 +- 开发路线图 +- 风险评估 + +## 时间安排 + +### 第1天:开源项目调研 +- 搜索和收集相关项目 +- 初步分析和分类 + +### 第2天:深度分析 +- 选择3-5个重点项目深度分析 +- 记录技术细节 + +### 第3天:算法调研 +- 收集常用预测算法 +- 评估算法适用性 + +### 第4天:数据源测试 +- 测试不同数据源API +- 评估数据质量 + +### 第5天:综合报告 +- 整理调研结果 +- 给出技术选型建议 +- 制定开发计划 + +## 成功标准 + +1. ✓ 收集至少10个相关开源项目 +2. ✓ 深度分析3个以上项目 +3. ✓ 测试2个以上数据源 +4. ✓ 完成完整的技术选型报告 +5. ✓ 给出明确的开发建议