# 盘中异动雷达功能说明 ## 功能概述 盘中异动雷达是Blackdata股票终端的实时监控模块,能够在交易时间内自动检测市场异动并推送提醒。 ## 监控类型 ### 1. 快速拉升(surge) - **触发条件**:股价涨幅 ≥ 3% - **检测频率**:每60秒 - **数据源**:实时涨幅榜前50 ### 2. 放量突破(volume_break) - **触发条件**: - 量比 ≥ 3 - 价格上涨 - 突破关键位(60日分位 ≥ 95% 或突破MA20) - **检测频率**:每60秒 - **数据源**:stock_metrics 表 ### 3. 涨停打开/炸板(limit_open) - **触发条件**:涨幅在 9.5% ~ 9.99% 之间 - **检测频率**:每60秒 - **用途**:捕捉涨停板打开的买入/卖出时机 ### 4. 连板股追踪(consecutive) - **触发条件**:连续2个及以上交易日涨停 - **检测频率**:每60秒 - **数据源**:历史日线数据 ### 5. 大单异动(big_order) - **状态**:功能保留,需要接入付费逐笔数据源 - **触发条件**:单笔成交金额 ≥ 100万元 ## 使用方法 ### 自动监控(推荐) 系统会在交易时间(周一至周五 9:30-11:30, 13:00-15:00)每60秒自动扫描,检测到异动后: 1. 自动写入 `intraday_events` 表 2. 自动推送到配置的通知渠道(邮件/微信) ### 手动操作 在前端"异动雷达"页面: - **立即扫描**:手动触发一次全市场扫描 - **推送异动**:将未推送的异动事件立即推送 - **查看统计**:查看今日各类异动的数量和最活跃股票 ## API 接口 ### GET /api/radar/status 检查雷达状态(是否交易时间) ### POST /api/radar/scan 手动触发异动扫描 - **返回**:扫描结果,包含检测到的异动数量 ### GET /api/radar/events 获取最近的异动事件 - **参数**: - `hours`:时间范围(小时),默认2 - `limit`:最大返回数量,默认50 ### POST /api/radar/notify 推送未通知的异动 - **返回**:推送结果 ### GET /api/radar/stats 获取异动统计 - **参数**: - `date`:统计日期,默认今天 ## 数据表结构 ### intraday_events ```sql id SERIAL PRIMARY KEY code VARCHAR(12) -- 股票代码 name VARCHAR(40) -- 股票名称 event_type VARCHAR(20) -- 事件类型 price FLOAT -- 触发时价格 pct FLOAT -- 涨跌幅 volume_ratio FLOAT -- 量比 amount FLOAT -- 金额(大单用) description VARCHAR(200) -- 描述 detected_at TIMESTAMP -- 检测时间 notified BOOLEAN -- 是否已推送 ``` ## 推送配置 在 `backend/.env` 中配置以下任一渠道: ```env # SMTP 邮件 SMTP_HOST=smtp.example.com SMTP_PORT=465 SMTP_USER=your@email.com SMTP_PASSWORD=your_password SMTP_TO=target@email.com # Server酱(微信) SERVERCHAN_KEY=your_key # 企业微信 WECOM_WEBHOOK=https://qyapi.weixin.qq.com/... # PushPlus PUSHPLUS_TOKEN=your_token ``` ## 注意事项 1. **数据依赖**: - 需要先执行"数据中台"的入库操作 - stock_metrics 表需有最新数据 - 连板检测依赖历史日线数据 2. **性能优化**: - 使用5分钟 TTL 缓存避免重复推送 - 非交易时间自动跳过检测 3. **扩展方向**: - 接入分钟线数据源提升检测精度 - 添加自定义监控规则 - 增加异动回测功能 ## 后续优化计划 - [ ] 支持用户自定义监控条件 - [ ] 异动发生后的历史表现统计 - [ ] 结合AI分析给出操作建议 - [ ] 移动端推送优化 - [ ] 盘中异动回放功能