初始化ETF监控项目
- 创建项目目录结构 - 添加README.md项目说明 - 添加需求文档REQUIREMENTS.md - 添加技术调研计划RESEARCH_PLAN.md - 项目准备进入技术调研阶段
This commit is contained in:
80
README.md
Normal file
80
README.md
Normal file
@@ -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支持
|
||||
|
||||
## 使用说明
|
||||
|
||||
(待补充)
|
||||
|
||||
## 贡献指南
|
||||
|
||||
(待补充)
|
||||
|
||||
## 许可证
|
||||
|
||||
(待补充)
|
||||
178
docs/REQUIREMENTS.md
Normal file
178
docs/REQUIREMENTS.md
Normal file
@@ -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周)
|
||||
- 功能完善
|
||||
- 性能优化
|
||||
- 用户反馈迭代
|
||||
114
research/RESEARCH_PLAN.md
Normal file
114
research/RESEARCH_PLAN.md
Normal file
@@ -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. ✓ 给出明确的开发建议
|
||||
Reference in New Issue
Block a user