# tech03 **Repository Path**: open2ai/tech03 ## Basic Information - **Project Name**: tech03 - **Description**: No description available - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-25 - **Last Updated**: 2025-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # A股技术分析系统 一个基于Python Flask的A股股票技术分析系统,提供全面的技术指标分析和智能投资建议。 ## 🚀 核心特性 - 📊 **增强技术指标分析**: 移动平均线、MACD(趋势强度+动量)、RSI(动量+加速度)、布林带(宽度+突破信号)等 - 🎯 **多维度评分系统**: 连续评分函数 + 多时间维度分析 + 风险调整因子 - 💡 **智能投资建议**: 基于综合评分给出明确的买卖建议 - 📈 **交互式专业图表**: 使用Plotly生成多子图技术分析图表 - 🌐 **现代化Web界面**: 响应式设计,支持实时股票分析 - ⚡ **高性能计算**: 优化的技术指标算法,支持实时分析 ## 📦 安装依赖 ```bash pip install -r requirements.txt ``` ### Tushare配置(可选) 如果需要使用Tushare的高级功能或提高API调用限制,可以配置Tushare token: 1. 注册Tushare账号并获取API token:https://tushare.pro/ 2. 在 `config.py` 中设置token: ```python DATA_FETCH_CONFIG = { # ... 其他配置 'tushare_token': 'your_tushare_token_here' # 替换为你的Tushare token } ``` ### 数据源配置 系统支持多数据源优先级配置,默认优先级为: 1. AkShare (主数据源) 2. Tushare (备用数据源) **Tushare支持全部A股市场**: - 上海交易所股票(6开头):自动添加.SH后缀 - 深圳交易所股票(0开头):自动添加.SZ后缀 - 创业板股票(3开头):自动添加.SZ后缀 可以在 `config.py` 中修改数据源优先级: ```python DATA_FETCH_CONFIG = { # ... 其他配置 'data_source_priority': ['tushare', 'akshare'] # 优先使用Tushare } ``` ## 🚀 快速开始 1. 安装依赖包 2. 运行应用: ```bash python app.py ``` 3. 打开浏览器访问:http://localhost:5000 4. 输入A股股票代码(如:600036 招商银行)进行分析 ## 📊 支持的技术指标(增强版) ### 趋势指标 - **移动平均线 (MA)**: 5日、10日、20日、60日移动平均,多周期综合分析 - **MACD (增强版)**: 指数平滑异同移动平均线 + 趋势强度分析 + 动量加速度 - **布林带 (增强版)**: 上轨、中轨、下轨 + 带宽分析 + 突破信号 + 收缩扩张状态 ### 动量指标 - **RSI (增强版)**: 相对强弱指标 (14日周期) + 动量分析 + 加速度 + 超买超卖信号 - **随机指标 (Stochastic)**: K值和D值,多周期分析 - **威廉指标 (Williams %R)**: 超买超卖判断 - **顺势指标 (CCI)**: 趋势方向判断 - **价格变动率 (ROC)**: 多周期动量分析 ### 成交量指标 - **能量潮 (OBV)**: 成交量平衡指标 - **平均真实波幅 (ATR)**: 波动性指标 - **资金流量指标 (MFI)**: 成交量加权动量 ### 衍生指标 - **布林带宽度 (BB Width)**: 波动性度量 - **动量指标 (Momentum)**: 价格变化率 - **成交量加权平均价 (VWAP)**: 成交量加权价格 ## 🎯 评分系统(优化版) 系统采用加权评分机制,各项指标权重如下: | 指标 | 权重 | 说明 | |------|------|------| | 移动平均线 | 20% | 多周期价格位置关系分析 | | MACD | 20% | 趋势方向、强度、动量多维度分析 | | RSI | 15% | 超买超卖状态 + 动量加速度分析 | | 布林带 | 10% | 价格位置 + 突破信号 + 带宽状态 | | 随机指标 | 10% | 短期买卖信号分析 | | ROC | 8% | 价格变动率多周期分析 | | 动量指标 | 7% | 价格变化强度分析 | | 布林带宽度 | 5% | 市场波动性评估 | | MFI | 5% | 资金流向分析 | ## 💡 投资建议标准 - **≥80分**: 强烈买入 - 多个指标显示强烈买入信号,趋势明确向上 - **60-79分**: 买入 - 整体技术面向好,具备上涨潜力 - **40-59分**: 持有 - 中性信号,建议观望等待明确方向 - **20-39分**: 卖出 - 技术面偏弱,存在下跌风险 - **<20分**: 强烈卖出 - 多个指标显示卖出信号,趋势明确向下 ## 🎨 可视化功能 ### 图表布局 - **主图**: K线图 + 移动平均线 + 布林带 - **副图1**: MACD指标 + 趋势强度 - **副图2**: RSI指标 + 动量分析 - **副图3**: 成交量 + OBV指标 ### 交互特性 - 鼠标悬停显示详细数据 - 缩放和平移功能 - 技术指标开关控制 - 自适应响应式设计 ## 🛠️ 技术架构 ### 后端技术栈 - **Web框架**: Python Flask - **数据处理**: Pandas, NumPy - **技术指标**: TA-Lib (增强算法) - **数据获取**: AkShare (主数据源) + Tushare (备用数据源) - **图表可视化**: Plotly - **性能优化**: 缓存机制 + 并行计算 ### 前端技术栈 - **核心框架**: HTML5 + CSS3 + JavaScript - **图表库**: Plotly.js - **UI设计**: 响应式Bootstrap风格 - **交互功能**: Ajax异步请求 ### 系统架构 ``` 应用层 (app.py) → 路由层 (routes.py) → 业务层 (stock_analyzer.py) ↓ 数据层 (data_fetcher.py) ↓ 指标层 (technical_indicators.py) ↓ 配置层 (config.py) ``` ## 📈 性能特性 ### 计算性能 - ✅ 并行指标计算优化 - ✅ 内存高效数据处理 - ✅ 实时分析响应(<3秒) - ✅ 大数据量支持(1年数据) ### 算法增强 - ✅ MACD趋势强度分析 - ✅ RSI动量加速度计算 - ✅ 布林带多维度信号 - ✅ 连续评分函数优化 - ✅ 风险调整因子集成 ## 🔧 开发特性 ### 代码质量 - ✅ 模块化架构设计 - ✅ 类型注解支持 - ✅ 日志记录系统 - ✅ 错误处理机制 - ✅ 单元测试覆盖 ### 扩展性 - ✅ 插件式指标添加 - ✅ 配置化权重调整 - ✅ 自定义分析周期 - ✅ 多数据源支持 ## 📋 使用示例 1. **输入股票代码** "600036"(招商银行) 2. **系统自动获取** 最近一年的历史数据 3. **计算所有技术指标** 包括增强版指标 4. **生成综合评分** 基于多维度分析 5. **显示详细图表** 交互式技术分析图 6. **提供投资建议** 明确的买卖建议 ## ⚠️ 注意事项 - 确保网络连接正常,数据来自Yahoo Finance和AkShare - 股票代码需要输入数字代码(如600036),不需要后缀 - 分析结果仅供参考,投资需谨慎 - 建议结合基本面分析做出投资决策 - 系统支持主要A股股票,包括沪深主板、创业板 ## 🚀 开发计划 ### 已完成 - [x] 基础技术指标计算 - [x] Web界面开发 - [x] 评分系统实现 - [x] 图表可视化 - [x] 指标算法深度优化 - [x] 多维度评分增强 - [x] 性能优化 ### 进行中 - [ ] 添加更多技术指标(KDJ、DMI等) - [ ] 支持自定义分析周期 - [ ] 添加历史回测功能 ### 计划中 - [ ] 集成基本面数据 - [ ] 增加多股票对比分析 - [ ] 添加预警功能 - [ ] 移动端适配 - [ ] 数据导出功能 ## 📊 测试验证 系统包含完整的测试套件: - `test_enhanced_indicators.py`: 增强指标算法验证 - `test_score_optimization.py`: 评分算法测试 - `test_json_serialization.py`: 数据序列化测试 所有测试用例通过,确保系统稳定性和准确性。 ## 📝 版本信息 **当前版本**: v2.0 (增强版) **主要更新**: - 技术指标算法深度优化 - 多维度评分系统 - 性能大幅提升 - 用户体验改进 ## 📄 许可证 MIT License - 详见LICENSE文件 ## 🤝 贡献指南 欢迎提交Issue和Pull Request来改进这个项目。 ## 📞 支持 如有问题请提交GitHub Issue或联系开发团队。 --- ## ⚠️ 风险提示与免责声明 ### 投资风险提示 1. **市场风险**: 股票市场价格受多种因素影响,包括宏观经济、政策变化、行业周期等,存在价格波动风险 2. **技术分析局限性**: 技术指标基于历史数据计算,不能保证未来表现,过去表现不代表未来结果 3. **信息滞后性**: 数据分析存在时间滞后,实时市场情况可能已经发生变化 ### 免责条款 1. **非投资建议**: 本系统提供的所有分析结果、评分和建议仅供技术参考,不构成任何形式的投资建议 2. **个人责任**: 投资者应根据自身风险承受能力、投资目标和财务状况独立做出投资决策 3. **数据准确性**: 虽然我们尽力确保数据准确性,但不保证所有数据的完整性和及时性 4. **系统稳定性**: 系统运行可能受到网络、服务器等因素影响,不保证24/7不间断服务 ### 适用对象 - 本系统适合具备一定投资经验和风险认知能力的投资者使用 - 不建议投资新手仅依赖技术分析做出投资决策 - 建议结合基本面分析、行业研究和专业咨询进行综合判断 ### 法律声明 - 使用本系统即表示您已阅读、理解并同意本免责声明 - 因使用本系统分析结果导致的投资损失,开发团队不承担任何责任 - 投资有风险,入市需谨慎 **重要提醒**: 股票投资存在本金损失的风险,请根据自身情况谨慎投资。