# stock-quantification-reminder **Repository Path**: yualgo/stock-quantification-reminder ## Basic Information - **Project Name**: stock-quantification-reminder - **Description**: 量化策略监测-神奇九转策略检测提醒工具v1.0 (已暂停更新) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-02 - **Last Updated**: 2025-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 股票监控 - 神器九转提醒 # 股票监控工具 一个基于Python开发的股票监控工具,支持实时价格查询、趋势图表展示和神器九转交易信号提醒。该工具经过全面优化,具有良好的用户体验和程序稳定性。 ## 功能特性 - 实时股票价格查询和监控 - 价格走势图展示 - 神器九转交易信号提醒 - **相对点位变化逻辑**: 5-9这些点位有明确的颜色变化和数字标记 - **监控队列互斥关系**: 确保新序列开始时与旧序列保持互斥 - **图表显示优化**: 自适应窗口大小、自动调整显示区间、多层级数据显示 - 支持多种股票数据源(含模拟数据备用) - 控制台输出原始查询数据,方便调试和验证 - 优化的股票名称显示 - 清晰的数据源标识(真实API或模拟数据) - **监控按钮状态管理**: 默认状态为停止监控且置灰,仅在股票查询成功后可点击,点击后开始监控。 - 跨平台兼容(Windows、Mac、Linux) - 友好的图形用户界面 - 自动环境配置和依赖安装 - 优化的错误处理和程序稳定性 - 新增数据来源单选框,支持快速切换不同数据源 - 封装第三方数据来源,方便扩展更多数据源 - 优化新浪API请求,添加refer头部以提高请求成功率 ## 系统要求 - Python 3.7 或更高版本 - Windows、MacOS或Linux操作系统 - 互联网连接(用于获取实时股票数据) ## 快速开始 ### Windows系统 1. 确保已安装Python 3.7或更高版本 2. 下载或克隆本项目到本地 3. 双击运行 `start_windows.bat` 文件(推荐) - 或使用 `start.py` Python启动脚本 4. 首次运行会自动创建虚拟环境并安装所需依赖 5. 程序启动后,输入股票代码即可开始监控 ### Mac/Linux系统 1. 确保已安装Python 3.7或更高版本 2. 下载或克隆本项目到本地 3. 打开终端,进入项目目录 4. 运行命令:`chmod +x start_mac_linux.sh && ./start_mac_linux.sh`(推荐) - 或使用 `python start.py` Python启动脚本 5. 首次运行会自动创建虚拟环境并安装所需依赖 6. 程序启动后,输入股票代码即可开始监控 ### 手动安装和运行 如果您熟悉Python环境,也可以手动安装和运行: ```bash # 创建虚拟环境 python3 -m venv venv # 激活虚拟环境(Mac/Linux) source venv/bin/activate # 或 Windows # venv\Scripts\activate # 安装依赖 pip install -r requirements.txt # 运行程序 python stock_monitor.py ``` ## 使用说明 1. **查询股票**:在输入框中输入股票代码,点击"查询"按钮获取当前价格 2. **开始监控**:查询成功后,点击"开始监控"按钮启动实时监控 3. **查看图表**:程序会自动绘制价格走势图,帮助您分析趋势 4. **接收提醒**:当股票价格触发神器九转信号时,程序会弹出提醒窗口 ### 股票代码格式 - 支持沪深股票代码,如 `600159`(上海)或 `300033`(深圳) - 程序会自动添加交易所前缀,也可以手动输入完整代码如 `SH600159` 或 `SZ300033` ## 神器九转算法说明 神器九转是一种技术分析指标,用于判断股价的短期反转点。该算法基于以下规则: - **上涨九转**:连续9个周期中,每个周期的收盘价都高于或等于4个周期前的收盘价,且在这9个周期内至少有一次价格创新高 - **下跌九转**:连续9个周期中,每个周期的收盘价都低于或等于4个周期前的收盘价,且在这9个周期内至少有一次价格创新低 **点位变化逻辑**: - 5-6点为黄色 - 7-8点为红色 - 9点为紫色 - 上涨九转使用红色系,下跌九转使用绿色系 - 每个点位显示对应的数字标记(1-9) **监控队列互斥关系**: - 确保在任何时刻只有一个活跃的九转序列在监控中 - 新序列开始时,自动清空之前的未完成序列 - 已完成的序列作为历史记录保留,不影响新序列的检测 当满足以上条件时,程序会发出提醒,提示可能的短期反转点。 ## 项目架构 当前项目采用单文件优化架构,核心功能集中在`stock_monitor.py`中,包含一个完整的`StockMonitorV4Optimized`类。这种结构便于维护和部署,特别适合小型工具类应用。 ### 主要文件 - **stock_monitor.py**: 包含所有核心功能实现 - **start.py**: 启动器脚本,负责创建虚拟环境和安装依赖 - **requirements.txt**: 项目依赖列表 - **requirements_document.md**: 详细的需求文档 - **function_index.md**: 功能索引和方法文档 - **start_windows.bat**: Windows系统启动脚本 - **start_mac_linux.sh**: Mac/Linux系统启动脚本 - **README.md**: 项目说明文档 ## 故障排除 ### 常见问题及解决方案 1. **程序无法启动** - 检查Python是否正确安装:在命令行中输入 `python --version` 确认 - 尝试以管理员权限运行启动脚本 - 查看是否有错误提示信息,并根据提示修复 2. **无法获取股票数据** - 检查网络连接是否正常 - 确认股票代码是否正确 - 程序会自动使用模拟数据作为备用,确保功能正常 - v4版本会在控制台输出原始查询数据,方便排查问题 3. **中文显示乱码** - Windows系统:确保系统区域设置为中文 - Mac/Linux系统:程序会自动设置UTF-8编码 4. **股票价格与实际价格不一致** - 检查程序控制台输出的数据源标识,确认是使用了真实API还是模拟数据 - 真实API数据可能有一定延迟,属于正常现象 - 如长期使用模拟数据,请检查网络连接和API访问权限 5. **图表不显示或显示异常** - 检查matplotlib是否正确安装:`pip install matplotlib --upgrade` - 尝试更新显卡驱动 6. **程序意外退出** - 查看是否有错误日志输出 - 尝试重新启动程序 - 检查系统资源是否充足 ## 更新日志 ### v4.0.1 (增强版) - 添加神奇九转相对点位的颜色变化和数字标记逻辑 - 完善神奇九转监控队列的互斥关系管理 - 优化图表显示逻辑,提升用户体验 - 更新需求文档和功能索引,详细记录新增功能 ### v4.0.0 (优化版) - 优化了图表首个数据点的时间格式,从精确到秒改为精确到分钟,保持与后续数据点一致 - 重构代码结构,提高了程序的可维护性和性能 - 优化了数据点添加逻辑,确保图表时间轴显示一致 - 更新了启动脚本,添加了优化版专用启动文件 - 简化了项目结构,移除了不必要的旧版本文件 - 增强了程序的稳定性和错误处理能力 - 添加了详细的需求文档和功能索引文档 ### v4.0.0 - 新增数据来源单选框,支持快速切换不同数据源 - 封装第三方数据来源,方便扩展更多数据源 - 优化新浪API请求,添加refer头部为"http://finance.sina.com.cn",提高请求成功率 - 重构数据获取逻辑,增强代码可维护性和扩展性 - 优化用户界面布局,提升用户体验 ### v3.0.0 - 增强了数据源处理逻辑,优化了价格获取的准确性 - 添加控制台原始数据输出功能,方便调试和验证 - 改进了股票名称显示,提供更清晰的股票信息 - 增加了数据源标识,明确显示数据来源(真实API或模拟数据) - 更新了启动脚本,优化了启动体验 - 改进了错误处理机制,提高了程序稳定性 ### v2.0.0 - 稳定性优化:增强了程序的错误处理和异常捕获 - GUI改进:优化了界面布局和用户体验 - 线程管理增强:改进了监控线程的生命周期管理 - 自动环境配置:添加了更完善的启动脚本 - 新增Windows和Mac/Linux专用启动脚本 ### v1.0.0 - 基本功能实现:股票价格查询、实时监控、神器九转提醒 - 图表展示:股票价格走势图 - 跨平台支持:兼容Windows、Mac和Linux系统 ## 依赖包列表 程序会自动安装以下依赖包: - `pandas` - 用于数据处理 - `matplotlib` - 用于图表绘制 - `numpy` - 用于数值计算 - `tkinter` - 用于图形界面(通常随Python安装) - `urllib` - 用于网络请求 ## 技术说明 项目使用以下技术和库: - Python 作为编程语言 - Tkinter 用于创建图形界面 - urllib 用于获取网络数据 - Pandas 和 NumPy 用于数据处理 - Matplotlib 用于绘制图表 - 多线程技术确保UI响应流畅 - 异常处理机制提高程序稳定性 ## 开发与扩展指南 为了保持代码的可维护性和稳定性,在添加新功能时应遵循以下原则: 1. 详细阅读 `requirements_document.md` 和 `function_index.md` 文档,了解项目的需求和结构 2. 遵循现有代码的风格和模式 3. 不要随意更改核心功能的实现逻辑 4. 添加新功能时应确保与现有功能兼容 5. 每次更新应记录详细的更新日志 ## 注意事项 - 本程序仅供学习和研究使用,不构成投资建议 - 股票市场有风险,投资需谨慎 - 实时数据可能存在延迟,请以实际交易数据为准 - 程序默认每分钟更新一次数据 - 数据来源主要为新浪财经API,在网络不稳定时会自动切换到模拟数据 ## 免责声明 本程序仅供学习和研究使用,不构成任何投资建议。投资有风险,入市需谨慎。 --- **更新时间**: "+time.strftime("%Y-%m-%d %H:%M:%S