{"id":"96a629c6-e796-441d-9aa1-4cddec0a4f4d","entityType":"agent","slug":"clawhub-xiyanjun-hectorlee-volume-price-screener","name":"hectorlee-volume-price-screener","canonicalUrl":"https://www.xpersona.co/agent/clawhub-xiyanjun-hectorlee-volume-price-screener","canonicalPath":"/agent/clawhub-xiyanjun-hectorlee-volume-price-screener","generatedAt":"2026-10-13T16:16:19.499Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T19:57:27.057Z","emptyReason":null},"description":"纯量价关系A股选股系统 V3.7.1。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，130分制评分(+多周期确认-5~+10)，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。 Skill: hectorlee-volume-price-screener Owner: xiyanjun Summary: 纯量价关系A股选股系统 V3.7.1。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，130分制评分(+多周期确认-5~+10)，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。 Tags: latest:3.7.1 Version history: v3.7.1 | 2026-08-24T17:50:49.388Z | user 接入 hithink 本地库（同花顺全市场前复权日K，无 WAF 极速拉取） v0.1.3 | 2026-08-13T10:06:07.878Z","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s173pcnkdch0b7hjk02bzf29js8bs6gp:hectorlee-volume-price-screener","sourceUrl":"https://clawhub.ai/xiyanjun/hectorlee-volume-price-screener","homepage":"https://clawhub.ai/xiyanjun/skills/hectorlee-volume-price-screener","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/xiyanjun/hectorlee-volume-price-screener","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/xiyanjun/skills/hectorlee-volume-price-screener","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"纯量价关系A股选股系统 V3.7.1。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，130分制评分(+多周期确认-5~+10)，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T19:57:27.057Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T19:57:27.057Z","emptyReason":null},"stars":null,"forks":null,"downloads":1000,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"3.7.1","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T19:57:26.993Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T19:57:27.057Z","lastCrawledAt":"2026-10-11T19:57:26.993Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T19:57:26.993Z","lastVerifiedAt":null,"highlights":[{"version":"3.7.1","createdAt":"2026-08-24T17:50:49.388Z","changelog":"接入 hithink 本地库（同花顺全市场前复权日K，无 WAF 极速拉取）","fileCount":33,"zipByteSize":104505},{"version":"0.1.3","createdAt":"2026-08-13T10:06:07.878Z","changelog":"版本对齐 3.7.0，补 slug/license，V3.6/V3.7 changelog","fileCount":34,"zipByteSize":276865},{"version":"0.1.2","createdAt":"2026-08-05T08:00:59.674Z","changelog":"V3.5.1: manifest version alignment","fileCount":34,"zipByteSize":276778},{"version":"0.1.1","createdAt":"2026-08-05T07:41:34.247Z","changelog":"hectorlee-volume-price-screener 0.1.1 更新日志: - 新增 .clawhubignore、.gitignore 等配置文件，增强开发环境兼容性 - 增加 scripts/intraday_tencent.py，扩展盘中行情处理能力 - 优化数据获取和处理逻辑（data_provider.py、intraday.py等） - 改进形态识别和评分算法，提高筛选准确性（pattern_detect.py、scoring.py、screener.py） - 文档（SKILL.md）增加版本号字段，细化使用说明和系统细节","fileCount":40,"zipByteSize":277596},{"version":"0.1.0","createdAt":"2026-08-03T08:53:52.158Z","changelog":"hectorlee-volume-price-screener v0.1.0 - Initial release of 纯量价关系A股选股系统 V3.5, supporting 6 major volume-price patterns (D/E/C/B/A/R) - Features multi-factor fusion, multi-period confirmation, industry resonance analysis, and real-time exposure tracking - Covers entire A股 market, including 科创板/北交所, with 7× daily automatic scanning - Implements robust risk filters (ST, delisting, 一字板, 连板, etc.) and a comprehensive 135-point scoring system - Provides command-line tools for market scanning, intraday monitoring, single stock diagnostics, and position-level risk analysis - Includes historical signal tracking and detailed module/touchpoint documentation","fileCount":35,"zipByteSize":269683}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173pcnkdch0b7hjk02bzf29js8bs6gp:hectorlee-volume-price-screener","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-13T16:16:19.498Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiyanjun-hectorlee-volume-price-screener/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T19:57:27.057Z","emptyReason":null},"readme":"Skill: hectorlee-volume-price-screener\n\nOwner: xiyanjun\n\nSummary: 纯量价关系A股选股系统 V3.7.1。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，130分制评分(+多周期确认-5~+10)，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。\n\nTags: latest:3.7.1\n\nVersion history:\n\nv3.7.1 | 2026-08-24T17:50:49.388Z | user\n\n接入 hithink 本地库（同花顺全市场前复权日K，无 WAF 极速拉取）\n\nv0.1.3 | 2026-08-13T10:06:07.878Z | user\n\n版本对齐 3.7.0，补 slug/license，V3.6/V3.7 changelog\n\nv0.1.2 | 2026-08-05T08:00:59.674Z | user\n\nV3.5.1: manifest version alignment\n\nv0.1.1 | 2026-08-05T07:41:34.247Z | auto\n\nhectorlee-volume-price-screener 0.1.1 更新日志:\n\n- 新增 .clawhubignore、.gitignore 等配置文件，增强开发环境兼容性\n- 增加 scripts/intraday_tencent.py，扩展盘中行情处理能力\n- 优化数据获取和处理逻辑（data_provider.py、intraday.py等）\n- 改进形态识别和评分算法，提高筛选准确性（pattern_detect.py、scoring.py、screener.py）\n- 文档（SKILL.md）增加版本号字段，细化使用说明和系统细节\n\nv0.1.0 | 2026-08-03T08:53:52.158Z | auto\n\nhectorlee-volume-price-screener v0.1.0\n\n- Initial release of 纯量价关系A股选股系统 V3.5, supporting 6 major volume-price patterns (D/E/C/B/A/R)\n- Features multi-factor fusion, multi-period confirmation, industry resonance analysis, and real-time exposure tracking\n- Covers entire A股 market, including 科创板/北交所, with 7× daily automatic scanning\n- Implements robust risk filters (ST, delisting, 一字板, 连板, etc.) and a comprehensive 135-point scoring system\n- Provides command-line tools for market scanning, intraday monitoring, single stock diagnostics, and position-level risk analysis\n- Includes historical signal tracking and detailed module/touchpoint documentation\n\nArchive index:\n\nArchive v3.7.1: 33 files, 104505 bytes\n\nFiles: _user_meta.json (105b), manifest.yaml (991b), references/pattern_rules.md (4091b), references/scoring_rules.md (2862b), references/test_cases.md (3669b), references/v2_backtest_report.md (4750b), references/v2_portfolio_report.md (4360b), scripts/__init__.py (40b), scripts/adaptive.py (3400b), scripts/backtest.py (14850b), scripts/colors.py (421b), scripts/data_provider.py (16704b), scripts/hithink_provider.py (7903b), scripts/intraday_tencent.py (11454b), scripts/intraday.py (10736b), scripts/mcp_utils.py (5556b), scripts/ml_model.py (8146b), scripts/pattern_detect.py (37820b), scripts/portfolio_backtest.py (16853b), scripts/position_diagnosis.py (13103b), scripts/risk_filter.py (7337b), scripts/scoring.py (19142b), scripts/screener.py (18851b), scripts/signal_history.py (4551b), scripts/signal_tracker.py (11249b), scripts/tdx_data_provider.py (2744b), skill-card.md (3224b), SKILL.md (10459b), tests/conftest.py (3232b), tests/test_pattern_detect.py (14333b), tests/test_risk_scoring.py (13275b), tests/test_v2_modules.py (9705b), _meta.json (150b)\n\nFile v3.7.1:SKILL.md\n\n---\nname: hectorlee-volume-price-screener\nslug: hectorlee-volume-price-screener\nversion: 3.7.1\ndisplayName: 量价选股\ndescription: 纯量价关系A股选股系统 V3.7.1。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，130分制评分(+多周期确认-5~+10)，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。\nagent_created: true\n---\n\n# 纯量价选股系统 V3.7.1\n\n## 概述\n\n**6 种量价形态 + 多因子融合 + 多周期确认 + 行业共振 + 关注池曝光度追踪**，纯量价、零基本面依赖。覆盖 A 股 5,191 只（沪主板+深主板+创业板+科创板），含 7×全日定时扫描。\n\n### 六种形态\n\n| 变体 | 标签 | 强度 | 描述 |\n|:----:|:-----|:----:|:-----|\n| D | 🔥 突破延续 | ★★★★★ | 放量后持续上涨≥5%，拒绝回调，不强制缩量 |\n| E | 💜 蓄力突破 | ★★★★★ | 放量前连续≥5日阳线蓄力，标准缩量整理 |\n| C | ✅ 回踩确认 | ★★★★☆ | 缩量回踩放量日高点不破，反弹站稳 |\n| B | 📈 高位平台 | ★★★☆☆ | 缩量后价格在放量日区间上方窄幅运行 |\n| A | 📦 标准横盘 | ★★☆☆☆ | 缩量后价格在放量日区间内横盘（原有） |\n| R | 🔄 底部反转 | ★★★★★ | 暴跌>15%+地量+首阳放量≥2倍，独立形态 |\n\n### 板块差异化阈值\n\n| 板块 | 涨幅阈值 | 量比下限 | 数据源 |\n|:-----|:-------:|:-------:|:-----|\n| 主板大票(>100万手) | 3% | 2.0 | 腾讯 |\n| 主板中票(>30万手) | 4% | 1.8 | 腾讯 |\n| 主板小票 | 5% | 1.5 | 腾讯 |\n| 创业板(300/301) | 6% | 2.0 | 腾讯 |\n| 科创板(688) | 4% | 2.0 | 通达信 |\n| 北交所(4/8/920) | 5% | 3.0 | 通达信 |\n\n### 系统版本演进\n\n| 版本 | 核心变化 |\n|:-----|:---------|\n| V1.0 | 基准：放量→缩量→横盘 三阶段 |\n| V3.0 | 阶段3 扩展为 D/C/B/A 四种变体 |\n| V3.1 | 连阳蓄力、前高突破、板块共振三大增强 |\n| V3.2 | 市值分档降阈值、一字板过滤器修复 |\n| V3.3 | 科创板 TDX 数据源接入、北交所阈值配置 |\n| V3.4 | 创业板 8%→6%、末日晚信号延展、盘中监控模块 |\n| V3.5 | 变体E蓄力突破、多因子融合、多周期确认、行业精确分类、关注池曝光度、7×定时扫描 |\n| V3.6 | 自适应进攻型振幅阈值（趋势斜率陡峭时放宽至15%） |\n| V3.7 | 背离预警扣分（横盘期放量滞涨=出货嫌疑） |\n\n---\n\n## 使用场景\n\n- **全市场扫描**：收盘后扫描全 A 股，输出 Top50 + 板块分析 + 操作建议\n- **盘中监控**：7 个时点（09:00/10:00/11:00/11:35/13:30/14:45/15:05）自动扫描\n- **单股诊断**：给定代码，判断形态 + 评分明细\n- **持仓诊断**：输入持仓文件，批量诊断每只票的形态和风险\n- **信号追踪**：对比两日信号，追踪 NEW/GONE/UPGRADE/DOWNGRADE\n\n## 快速开始\n\n```bash\ncd <skill_dir>/scripts\n\n# 全市场扫描\npython screener.py --all --top 30 --detail\n\n# 盘中监控（今日放量突破）\npython intraday.py --today --top 20\n\n# 单股诊断\npython screener.py 600406 --detail\n\n# 持仓诊断\npython position_diagnosis.py positions.json --detail\n\n# 信号追踪\npython signal_tracker.py --today data/signals_20260803.json\n\n# 参数覆盖 / 北交所\npython screener.py --all --params '{\"vol_ratio_min\":2.0}' --include-bj\n```\n\n---\n\n## 评分体系（130 分制 + 多周期确认 -5~+10）\n\n| 模块 | 分值 | 核心因子 |\n|:-----|:----:|:---------|\n| 放量质量 | 30 | 放量倍数 + 拉升幅度 + 60日新高 |\n| 缩量质量 | 20 | 缩量深度 + 缩量天数 |\n| 变体质量 | 25 | 变体感知：振幅/位置/回调/精准度/延续性 |\n| 趋势量能 | 15 | 60日新高 + MA10/MA20支撑 + 量能多头 |\n| 加分信号 | 15 | 3日量价齐升 + 3日量缩价跌 + 连阳蓄力 |\n| 多因子融合 | 20 | 市值流动性 + 波动率(ATR) + 趋势强度 |\n| 关注池曝光度 | 5 | 近50日历史命中次数（≥8次→+5, ≥3→+3） |\n| 多周期确认 | -5~+10 | 周线MACD金叉/MA10验证 |\n\n**总分构成**：七维定值合计 130 分 + 多周期确认 -5~+10（理论满分约 135）；V3.7 背离预警（横盘期放量滞涨）额外 -10。\n\n**分层**：≥100 强势形态 | 75~99 标准形态 | <75 关注形态\n**权重校准**：A/B 变体质量×0.85，R 放量质量×1.15（回测验证）\n\n---\n\n## 盘中监控模式（intraday.py）\n\n| 时点 | 名称 | 行为 |\n|:---:|:-----|:-----|\n| 09:00 | 盘前扫描 | 昨日信号 Top15 + 今日关注提示 |\n| 10:00 | 盘中监控 | 开盘30分钟盘中放量突破检测 |\n| 11:00 | 二次确认 | 昨日 Top5 盘中验证（持有/减仓） |\n| 11:35 | 午间小结 | 上午最强板块 + 异动 + 下午建议 |\n| 13:30 | 午后监控 | 午后新放量信号 + 上午强势延续性 |\n| 14:45 | 尾盘突击 | 尾盘放量突破 + 跳水预警 + 明日方向 |\n| 16:05 | 收盘全量 | 全扫描 + 板块分析 + 操作建议（16:00 后 hithink 库已同步当日数据） |\n\n### 防污染设计\n- 盘中 6 次扫描写入 `intraday_log`，**不干扰关注池曝光度**\n- 仅 16:05 收盘扫描写入 `signals_YYYYMMDD.json`\n- 曝光度读取同日去重（同一天同一股票只计 1 次）\n\n> **收盘扫描时间说明**：收盘全量扫描从 15:05 推迟到 **16:05**，等待 hithink 本地库 16:00 自动同步当日数据（否则 15:00–16:00 之间运行拿到的日K是 T-1，会漏当日形态信号）。已配置为 WorkBuddy automation「VPS 收盘全量扫描」（工作日 16:05）。\n\n---\n\n## 风险硬过滤（7 项）\n\n| 规则 | 判定 | 优先级 |\n|:-----|:-----|:------:|\n| ST/*ST | 名称含 ST | 最高 |\n| 退市风险 | 财务信号（akshare，未安装降级） | 最高 |\n| 次新股 | K线不足 60 根（北交所 90 根） | 高 |\n| 一字板 | high==low 且涨停且无量比（≥2.0 放行） | 高 |\n| 连板股 | 放量日前连续 ≥2 日涨停 | 高 |\n| 跌势反弹 | 放量日前 10 日累计跌幅 < -10% | 高 |\n| 换手率 | 放量日换手 < 3%（仅当日启用） | 中 |\n\n---\n\n## 数据源\n\n> **V3.7 修复（2026-08-24）**：腾讯 K 线公开接口（`ifzq.gtimg.cn`）有腾讯云 WAF 反爬，高频抓取（全市场 5000+ 只）会触发 501 拦截；东财列表接口需系统 Clash 代理且不稳定。现改为 **hithink 本地 DuckDB 库优先**（官方同花顺前复权日K，本地文件读取，无网络/无 WAF/无限流），腾讯接口仅作 fallback。详见 `scripts/hithink_provider.py`。\n\n| 数据 | 来源（优先级） | 说明 |\n|:-----|:-----|:-----|\n| 全市场列表 | **hithink 本地库** → 腾讯排行 `proxy.finance.qq.com` → 东财 | ~5211 只（默认不含北交所）；`--include-bj` 时含北交所 338 只（920 新代码段） |\n| 日 K 线 | **hithink 本地库**（`v_daily_qfq` 前复权）→ 腾讯 `web.ifzq.gtimg.cn` → TDX | 90 根，前复权 |\n| 实时行情 | 腾讯 `qt.gtimg.cn`（逗号批量，每批 60 只） | 换手率/名称/ST，支持 920 北交所 |\n| 周线 K 线 | **hithink 本地库日线 ISO 周聚合** → TDX | 多周期确认（替代原 TDX 周线） |\n| 5 分钟 K 线 | 通达信 MCP `period=\"0\"` | 盘中监控（仍依赖 TDX） |\n\n**北交所说明**：北交所代码为 920 新段（`_normalize_code` 已修复「920 误判为沪B股」的 bug），K 线/行情/周线均由 hithink 本地库+腾讯行情覆盖，无需 TDX。北交所形态阈值 5% 涨幅 + 3.0 量比（高量过滤噪声）。\n\n**hithink 本地库依赖**：需安装 `duckdb`（`pip install duckdb`）且本地库存在（`~/Library/Application Support/hithink-finance/data/market.duckdb`，由 hithink-finance 每日 16:00 自动同步）。库不可用时自动降级到腾讯接口。\n\n**网络代理说明**：腾讯系接口（qt/ifzq/proxy.finance/smartbox）一律显式直连（`proxies={http:None,https:None}`），绕开环境注入的本地代理（如 `127.0.0.1:59272`），因该代理对腾讯接口不稳定；东财接口需走系统 Clash 代理 `127.0.0.1:7890`。\n\n---\n\n## 资源文件\n\n### scripts/\n| 文件 | 说明 |\n|:-----|:-----|\n| `screener.py` | 主入口：全市场/单股/搜索/参数覆盖/自适应/ML，V3.5 含行业精确共振 |\n| `pattern_detect.py` | 形态识别引擎（6种形态 + 多周期周线确认） |\n| `scoring.py` | 130分制评分引擎（变体感知+多因子+曝光度+多周期确认+权重校准） |\n| `risk_filter.py` | 风险硬过滤（7 项规则） |\n| `data_provider.py` | 数据管道（腾讯+东财+TDX fallback，12并发） |\n| `tdx_data_provider.py` | TDX 适配器（共享 McpClient） |\n| `intraday.py` | 盘中监控（5分钟K线实时放量检测） |\n| `position_diagnosis.py` | 持仓诊断（批量形态+评分+风控+建议） |\n| `signal_tracker.py` | 信号追踪（NEW/GONE/UPGRADE/DOWNGRADE） |\n| `signal_history.py` | 曝光度统计（近50日关注池上榜次数） |\n| `colors.py` | 统一 ANSI 颜色常量 |\n| `mcp_utils.py` | 共享 MCP 客户端（握手+SSE解析+工具调用） |\n| `backtest.py` | 历史回测引擎 |\n| `adaptive.py` | 参数自适应 |\n| `ml_model.py` | ML 概率模型 |\n| `portfolio_backtest.py` | 每日精选组合回测 |\n\n### tests/（59 个用例）\n| 文件 | 说明 |\n|:-----|:-----|\n| `conftest.py` | 合成 K 线生成器 |\n| `test_pattern_detect.py` | 形态识别（含 V3.5 变体E） |\n| `test_risk_scoring.py` | 风险过滤 + 评分（含多因子/多周期/曝光度） |\n| `test_v2_modules.py` | 回测/ML/自适应测试 |\n\n---\n\n## 分享\n\n```bash\ncd ~/.workbuddy/skills\ntar -czf volume-price-screener.tar.gz volume-price-screener/\n# 对方: tar -xzf volume-price-screener.tar.gz -C ~/.workbuddy/skills/\n```\n\n依赖：`pip install requests numpy`（可选：`scikit-learn pytest`）\n\n---\n\n## 注意事项\n\n- 颜色约定：涨=红、跌=绿（A 股惯例）\n- 纯量价信号，不构成投资建议；高评分≠必涨\n- 全市场扫描约 2~5 分钟（5191 只 × 90 根 K 线，12 并发）\n- TDX 适配器需 WorkBuddy MCP 代理（`127.0.0.1:57400`），否则科创/北交所自动跳过\n- 定时扫描每工作日 7 次自动执行，结果写入 `data/intraday_log_*.txt` 和 `data/signals_*.json`\n\nFile v3.7.1:_meta.json\n\n{\n  \"ownerId\": \"kn71y975j1zr9hcafzd1ybgs898br0jt\",\n  \"slug\": \"hectorlee-volume-price-screener\",\n  \"version\": \"3.7.1\",\n  \"publishedAt\": 1787593849388\n}\n\nFile v3.7.1:references/pattern_rules.md\n\n# 形态规则详解 V3.0（pattern_rules.md）\n\n## V3.0 新增：阶段3 四种形态变体\n\n阶段1（放量拉升）和阶段2（缩量计算）为所有变体共享。阶段3 按优先级 D>C>B>A 判定：\n\n| 变体 | 标签 | 缩量要求 | 核心条件 |\n|:-----|:-----|:--------:|:---------|\n| D | 突破延续 | 不强制 | 累计涨幅≥3%, ≥60%阳线, 未跌破开盘价, 振幅≤15% |\n| C | 回踩确认 | ≥2日 | 振幅≤10%, 至少1日low≤anchor.high×1.02, 之后close>anchor.high |\n| B | 高位平台 | ≥2日 | 振幅≤10%, ≥60%日close>anchor.high, 均价>anchor.high |\n| A | 标准横盘 | ≥2日 | 振幅≤10%, ≥60%日close∈[anchor.low, anchor.high] |\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n| 参数 | 默认值 | 说明 |\n|:-----|:------:|:-----|\n| `window` | 20 | 形态检测窗口（交易日） |\n| `vol_ma_n` | 20 | 均量周期（量比分母） |\n| `rise_pct_main` | 5.0 | 主板放量涨幅阈值(%) |\n| `rise_pct_gem` | 8.0 | 创业板/科创板放量涨幅阈值(%) |\n| `vol_ratio_min` | 1.5 | 放量倍数下限 |\n| `vol_ratio_opt` | 2.0 | 放量倍数\"更优\"线（评分参考） |\n| `shrink_min_days` | 2 | 最小连续缩量天数 |\n| `amp_max` | 10.0 | 横盘最大振幅(%) |\n| `range_ratio_min` | 0.6 | 收盘价落在锚点高低点区间内的占比下限 |\n| `shrink_days_best` | (4, 6) | 缩量天数最优区间（评分用） |\n| `shrink_depth_best` | 0.5 | 缩量深度最优线（评分用） |\n| `pullback_best` | 0.5 | 回调深度最优线（评分用） |\n| `trend_check_days` | 10 | 跌势检查天数 |\n| `trend_drop_pct` | -10.0 | 跌势阈值(%) |\n| `limit_pct_main` | 9.8 | 主板涨停阈值(%) |\n| `limit_pct_gem` | 19.8 | 创业板/科创板涨停阈值(%) |\n| `ma_n1` | 10 | 支撑均线 1 |\n| `ma_n2` | 20 | 支撑均线 2 |\n| `vol_ma_short` | 5 | 量能短均线 |\n| `vol_ma_long` | 10 | 量能长均线 |\n\n## 板块判定\n\n| 板块 | 代码前缀 | 涨幅阈值 | 涨停阈值 |\n|:-----|:---------|:--------:|:--------:|\n| 主板 | 60x / 000 / 001 / 002 / 003 | 5% | 9.8% |\n| 创业板 | 300 / 301 | 8% | 19.8% |\n| 科创板 | 688 | 8% | 19.8% |\n| 北交所 | 4x / 8x / 920 | 5% | 29.8%（默认不扫描） |\n\n## 四阶段判定细节\n\n### 阶段1：定位放量拉升日\n- 遍历最近 `window` 根 K 线\n- 涨幅 = (当日收盘 - 前日收盘) / 前日收盘 × 100%\n- 量比 = 当日量 / 前20日均量（不含当日）\n- 同时满足 `涨幅 ≥ 阈值(板块)` 且 `量比 ≥ 1.5` → 候选放量日\n- 多个候选 → 取**最近**（索引最大）为锚点\n- 浮点容差 1e-9（边界值如恰好 5.0% 算命中）\n\n### 阶段2：缩量确认\n- 锚点日之后逐日扫描，统计最长连续缩量段（量 < 锚点日量）\n- 最长段 ≥ 2 日 → 通过\n- `shrink_days` = 最长段长度；`shrink_depth` = 该段均量 / 锚点日量\n\n### 阶段3：横盘确认\n- 锚点日后**所有**交易日（至窗口末）\n- 振幅 = (最高 - 最低) / 最低 × 100% ≤ 10%\n- 收盘价落在锚点日 [low, high] 区间内的占比 ≥ 60%\n- 两条件同时满足 → 通过\n\n### 阶段4：加分信号\n- 窗口内任意连续 3 日：量递增且价递增 → 量价齐升 ✓\n- 窗口内任意连续 3 日：量递减且价递减 → 量缩价跌 ✓\n\n## 输出字段\n\n| 字段 | 说明 |\n|:-----|:-----|\n| `anchor_idx` | 放量日在 bars 中的索引 |\n| `surge_pct` | 放量日涨幅(%) |\n| `volume_ratio` | 量比 |\n| `shrink_days` | 最长连续缩量天数 |\n| `shrink_depth` | 缩量深度（0~1） |\n| `amplitude` | 横盘期振幅(%) |\n| `range_ratio` | 收盘价区间占比 |\n| `range_position` | upper / mid / lower |\n| `pullback_ratio` | 回调深度（相对拉升幅度） |\n| `low_point_rise` | 低点是否抬高 |\n| `conc_rise_3d` | 连续3日量价齐升 |\n| `conc_fall_3d` | 连续3日量缩价跌 |\n| `breakout_60d` | 放量日创60日新高 |\n| `ma_support` | 站稳 MA10 且 MA20 |\n| `vol_ma_bull` | 5日均量 > 10日均量 |\n| `divergence_warning` | 放量滞涨背离预警 |\n\nFile v3.7.1:references/scoring_rules.md\n\n# 评分细则（scoring_rules.md）\n\n## 评分总览（100 分制）\n\n```\n放量质量(30) + 缩量质量(20) + 横盘质量(25) + 趋势量能(15) + 加分信号(10) = 100\n```\n\n## 一、放量质量（30 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 放量倍数 | 1.5 ≤ 量比 < 2 | 8 |\n| | 2 ≤ 量比 < 3 | 12 |\n| | 量比 ≥ 3 | 15 |\n| 拉升幅度 | 达标线 | 5 |\n| | 每超 1 个百分点 | +2 |\n| | 上限 | 10 |\n| 60 日新高 | 放量日 high 创前 60 日新高 | +5 |\n\n> 拉升幅度示例（主板）：涨幅 5% → 5 分；7% → 9 分；≥7.5% → 10 分封顶\n\n## 二、缩量质量（20 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 缩量深度 | < 30% | 10 |\n| | 30%~50% | 8 |\n| | 50%~70% | 5 |\n| | > 70% | 3 |\n| 缩量天数 | 2~3 天 | 3 |\n| | 4~6 天 | 5 |\n| | 7~8 天 | 4 |\n| | 其他 | 0 |\n\n> 缩量深度 = 缩量段均量 / 放量日量。缩得越深，说明抛压越轻、筹码锁定越好。\n\n## 三、横盘质量（25 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 振幅 | ≤ 5% | 10 |\n| | 5%~10% | 7 |\n| 横盘位置 | 主体在上半部（收盘均值 ≥ 锚点K线中点） | 8 |\n| | 中部 | 5 |\n| | 下半部 | 3 |\n| 回调深度 | 回撤 ≤ 1/2 拉升幅度 | 5 |\n| | 1/2 ~ 2/3 | 2 |\n| | > 2/3 | 0 |\n| 低点抬高 | 后半段最低 > 前半段最低 | +2 |\n\n> 回调深度 = (放量日收盘 - 横盘期最低) / (放量日收盘 - 前日收盘)。回调越浅越强势。\n\n## 四、趋势与量能（15 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 平台突破 | 放量日创 60 日新高 | +8 |\n| 均线支撑 | 最新收盘 > MA10 且 > MA20 | +4 |\n| 量能均线多头 | 5 日均量 > 10 日均量 | +3 |\n\n## 五、加分信号（10 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 量价齐升 | 窗口内连续 3 日量升价升 | +5 |\n| 量缩价跌 | 窗口内连续 3 日量缩价跌 | +5 |\n\n## 分层与预警\n\n| 总分 | 分层 | 建议 |\n|:----:|:-----|:-----|\n| ≥ 80 | 强势形态 | 形态质量高，优先关注 |\n| 60~79 | 标准形态 | 形态成立，需结合其他维度 |\n| < 60 | 关注形态 | 边缘命中，谨慎对待 |\n\n**背离预警**（不扣分，独立标记）：\n- 横盘期出现：成交量 > 前5日均量 × 1.5 且当日涨幅 < 1% → 放量滞涨\n- 含义：横盘末端放量却拉不动价格，主力可能借横盘出货 → 排序自动降级\n\n## 评分示例\n\n标准命中（茅台 2026-07 实测）：\n```\n放量质量 17.0/30（量比2.3→12 + 拉升7%→5 + 新高✗→0）\n缩量质量  5.0/20（深度51%→5 + 天数9→0）\n横盘质量 17.0/25（振幅6.4%→7 + 位置upper→8 + 回调→2 + 低点✗→0）\n趋势量能  4.0/15（新高✗ + 均线✓→4 + 量能✗）\n加分信号 10.0/10（齐升✓ + 缩跌✓）\n总分 53.0 → 关注形态 + 背离预警\n```\n\nFile v3.7.1:references/test_cases.md\n\n# 测试用例库（test_cases.md）\n\n## 单元测试（pytest，31 用例，全部通过）\n\n### 形态识别（tests/test_pattern_detect.py，15 用例）\n\n| 用例 | 场景构造 | 预期 |\n|:-----|:---------|:-----|\n| test_standard_hit | 第45日放量+7%量比2.2，后14日缩量横盘 | 命中，锚点45 |\n| test_insufficient_volume | 涨幅5%达标但量比1.2 | 不命中 |\n| test_insufficient_surge | 量比2.5但涨幅3% | 不命中 |\n| test_insufficient_shrink | 放量后仅1日缩量 | 不命中 |\n| test_excessive_amplitude | 横盘期制造15%振幅K线 | 不命中 |\n| test_gem_threshold | 涨幅7%创业板(<8%) | 不命中；同条件主板命中 |\n| test_gem_threshold_boundary | 科创板恰好8% | 命中 |\n| test_boundary_values | 恰好5%涨幅+1.5量比 | 命中（含等号） |\n| test_multiple_anchors | 窗口内2根放量日 | 取最近锚点(50) |\n| test_insufficient_data | 仅20根K线 | 不命中 |\n| test_is_gem | 板块判定 | 300/301/688=True |\n| test_rise_threshold | 板块涨幅阈值 | 主板5/创科8 |\n| test_consecutive_signals | 窗口内构造3日量价齐升 | conc_rise_3d=True |\n| test_divergence_warning | 横盘期放量滞涨 | 背离预警=True |\n| test_low_point_rise | 后半段低点抬高 | low_point_rise=True |\n\n### 风险过滤 + 评分（tests/test_risk_scoring.py，16 用例）\n\n| 用例 | 场景 | 预期 |\n|:-----|:-----|:-----|\n| test_st_name_detection | ST/*ST 名称 | 识别正确 |\n| test_check_st | ST华业 / 贵州茅台 | 排除 / 放行 |\n| test_new_stock | 30根K vs 90根K | 剔除 / 放行 |\n| test_one_word_limit | 放量日一字涨停 | 剔除 |\n| test_not_one_word_limit | 正常放量日 | 放行 |\n| test_consecutive_limit | 放量日前2日涨停 | 剔除（连板） |\n| test_not_consecutive_limit | 正常走势 | 放行 |\n| test_downtrend_rebound | 前10日-15%趋势 | 剔除（跌势反弹） |\n| test_not_downtrend | 温和上涨 | 放行 |\n| test_turnover | 2% / 5% / None | 剔除 / 放行 / 跳过 |\n| test_comprehensive_st | 综合过滤含ST | 剔除 |\n| test_comprehensive_turnover_skip | 无换手数据 | 放行+跳过标记 |\n| test_comprehensive_pass | 全通过 | 放行 |\n| test_score_standard | 标准命中评分 | 0<总分≤100 |\n| test_score_components_bounds | 极端高分场景 | 各模块不超上限 |\n| test_score_levels | 高质量 vs 低质量 | 高低分层正确 |\n\n## 合成 K 线生成器（conftest.py）\n\n`build_kline()` 参数化构造可复现的合成行情：\n\n| 参数 | 默认 | 说明 |\n|:-----|:----:|:-----|\n| n | 60 | 总 K 线数 |\n| anchor | 45 | 放量日索引 |\n| surge_pct | 7.0 | 放量日涨幅(%) |\n| vol_ratio | 2.2 | 量比 |\n| post_days | auto | 横盘天数 |\n| post_vol_ratio | 0.4 | 横盘量/放量日量 |\n| post_amp | 0.005 | 横盘波动幅度 |\n| trend | 0.005 | 放量前日涨幅 |\n| base_vol | 1000 | 基础量 |\n| base_price | 10.0 | 起始价 |\n\n## 历史回测（设计方案 6.2 节，待实施）\n\n- 区间：近 3 年逐日滚动全市场扫描\n- 指标：命中率、命中后 5/10/20 日收益率 vs 沪深300、胜率、盈亏比\n- 对照组：随机股票池同窗口收益 → 超额收益显著性检验\n- 输出：命中分布 + 收益直方图 + 分位数报告\n\n## 实盘金丝雀（设计方案 6.3 节，待实施）\n\n- 连续 4 周每日实盘扫描，只输出不交易\n- 与人工复盘对比确认逻辑一致\n- 收集命中后 20 日走势，校准胜率\n\n## 性能基准（设计方案 6.4 节）\n\n| 场景 | 基准 | 实测 |\n|:-----|:----:|:-----|\n| 全市场4591只拉K线(90根,12并发) | < 3 分钟 | ~2 分钟 |\n| 形态检测单只 | < 1ms | < 1ms |\n| 单股诊断 | < 5s | ~0.5s |\n\nFile v3.7.1:references/v2_backtest_report.md\n\n# V2 回测与 ML 模型评估报告\n\n- 日期：2026-07-31\n- 数据：近 3 年（750 交易日）全市场 4591 只 A 股 + 沪深300 基准\n- 命中样本：103,758 条（滚动扫描，无未来函数：每交易日 t 用截至 t 的 K 线检测，收益用 t 之后 K 线）\n\n## 1. 形态超额收益（vs 沪深300）\n\n| 周期 | 样本 | 平均收益 | 基准 | 超额α | 胜率 | 盈亏比 | 跑赢率 |\n|:----:|:----:|:-------:|:----:|:-----:|:----:|:------:|:------:|\n| 5日 | 103758 | +0.35% | +0.18% | **+0.16%** | 47.0% | 1.31 | 46.0% |\n| 10日 | 103758 | +0.65% | +0.38% | **+0.26%** | 47.4% | 1.35 | 45.8% |\n| 20日 | 103758 | +0.72% | +0.56% | **+0.15%** | 45.6% | 1.38 | 43.8% |\n\n**结论**：形态相对沪深300 存在稳定但温和的正超额收益（α ≈ +0.15~+0.26%/周期），盈亏比 >1.3。形态有效，但并非暴利信号——是\"胜率 45% + 盈亏比 1.35\"的赔率结构。\n\n## 2. 随机对照（vs 全市场等权）\n\n| 指标 | 命中股 | 随机股 | 差异 |\n|:-----|:------:|:------:|:----:|\n| 20日平均收益 | +0.72% | +1.25% | -0.53% |\n| 正收益占比 | 45.6% | 48.3% | -2.7pp |\n\n**结论**：形态相对全市场等权随机池**无超额**。原因分析：沪深300 为大盘蓝筹加权，而随机池包含大量小盘股（近3年小盘占优）。**形态的 α 更多来自\"命中股多为中小市值弹性股\"的暴露，而非形态本身独立于市场的选股力**。这一点必须在实盘使用中警惕——形态必须配合市场环境（中小盘风格期）使用。\n\n## 3. ML 概率模型评估\n\n### 3.1 模型与切分\n- 模型：GradientBoostingClassifier（300 树，max_depth=3，lr=0.05）\n- 切分：时间序列 70/30（前 70% 训练，后 30% 验证，**无未来函数**）\n- 特征：14 个纯量价特征（surge/vol_ratio/shrink_days/shrink_depth/amplitude/position/pullback/low_rise/breakout/ma/vol_ma/conc_rise/conc_fall/score）\n\n### 3.2 整体指标\n- 验证集：31,128 样本，基线涨率 42.9%\n- 准确率：**54.8%**（+11.9pp vs 基线）\n- 标签（跑赢沪深300）准确率 57.7%（基线 43.8%）\n\n### 3.3 概率分层单调性（验证集，关键验证）\n\n| 分位 | 样本 | 平均20日 | 正收益比 |\n|:----:|:----:|:--------:|:--------:|\n| P0-20（最低概率） | 6226 | -0.77% | 43.2% |\n| P20-40 | 6225 | -0.84% | 42.5% |\n| P40-60 | 6221 | -0.81% | 41.6% |\n| P60-80 | 6229 | -0.61% | 41.7% |\n| **P80-100（最高概率）** | 6227 | **+0.26%** | **45.4%** |\n\n**结论**：概率分层呈现单调性——最高概率分位（P80-100）20 日平均收益 +0.26%、正收益比 45.4%，显著优于最低分位（-0.77%/43.2%），**收益差约 1.0pp**。ML 概率可用于**排序增强**（高概率优先），但不宜做硬过滤（无显著分位阈值断点）。\n\n### 3.4 特征重要性\n\n| 特征 | 重要性 | 含义 |\n|:-----|:------:|:-----|\n| surge_pct | 0.325 | 放量日涨幅（最主导） |\n| volume_ratio | 0.274 | 放量倍数 |\n| pullback_ratio | 0.143 | 回调深度 |\n| shrink_depth | 0.105 | 缩量深度 |\n| amplitude | 0.069 | 横盘振幅 |\n| score | 0.021 | 综合评分 |\n\n**洞察**：拉升强度（涨幅+量比）占特征重要性 60%，说明\"放得越猛\"的形态后续概率越高——与直觉一致（强资金介入）。\n\n## 4. 工程改进记录\n\n| 项 | 改进 | 效果 |\n|:---|:-----|:-----|\n| 回测扫描 | 复用 Bar 列表 + 只传最近90根 | 301s → 33s（9倍提速） |\n| K线缓存 | pickle 本地缓存 | 重复回测免拉数据（42s→0s） |\n| 随机对照 | 修复空范围崩溃 + 尝试上限 | 稳定运行 |\n| ML后端 | 实测 fit/predict 探测（macOS libomp 缺失自动降级 sklearn） | xgboost 失败不中断 |\n| 自适应参数 | 沪深300 波动率 → 动态阈值 | 低迷市场自动收紧振幅/放宽量比 |\n\n## 5. 实盘使用建议\n\n1. **形态定位**：作为\"赔率型\"信号使用——盈亏比 1.35，需严格止损纪律，不可单凭形态重仓\n2. **市场环境**：形态 α 依赖中小盘风格期，大盘蓝筹主导行情时命中意义减弱\n3. **ML 用法**：用 `--model models/ml_model_v2.pkl` 开启概率排序，优先关注 P80 以上分位（20日收益差约1pp）\n4. **参数自适应**：`--adaptive` 开启市场波动率调节，牛熊市阈值自适应\n5. **背离预警**：横盘期放量滞涨标记\"出货嫌疑\"，排序自动降级\n\n## 6. 已知局限与 V3 方向\n\n- 单标的滚动收益含重叠样本（同一形态多日被计），统计独立性打折\n- 未考虑交易成本/滑点（α 0.15% 需验证能否覆盖摩擦）\n- 未按市值/行业分层（α 归因待细化）\n- V3：按市值分层回测、剔除重叠样本、加入成本模型、特征工程扩展（板块效应/资金流）\n\nFile v3.7.1:references/v2_portfolio_report.md\n\n# 每日 Top-千分之一 组合回测报告\n\n- 日期：2026-07-31\n- 方法：`portfolio_backtest.py --walk-forward`（前推验证，无未来函数）\n- 数据：全市场 4591 只，3 年样本 103,758 条命中记录；训练期 2023-09~2025-09（459 天），**验证期 2025-09-08~2026-07-03（196 交易日）**\n\n## 1. 回测规则\n\n1. 每个交易日：从当日命中池按排序指标降序，取前 `top_k` 只（千分之一 ≈ 5 只；也可 `--top-k 1` 只选最强）\n2. 冷却期：同一股票 20 个交易日内不重复入选（避免重叠持仓）\n3. 收益评估（两层）：\n   - **逐日统计**：当日所选股票等权平均的 fwd5/10/20 收益（复用样本 fwd 字段）\n   - **净值模拟**：真实 K 线收盘价买入，持有 20 个交易日卖出，每日等权再平衡，可扣交易成本\n\n## 2. 核心结果（验证期，无泄漏）\n\n### 2.1 三种排序对比（每日 5 只，fwd20 逐日统计）\n\n| 排序 | 日均收益 | 胜率 | 盈亏比 | 超额α(vs沪深300) |\n|:-----|:-------:|:----:|:------:|:---------------:|\n| **评分排序** | **+0.63%** | 50.5% | 1.14 | **+0.23%** |\n| ML概率 | -0.15% | 49.5% | 0.97 | -0.55% |\n| 随机对照 | -1.16% | 44.4% | 0.88 | -1.56% |\n\n**关键结论**：\n- **评分排序（规则化的 100 分制）> 随机 > ML 概率**\n- ML 模型在样本内亮眼（+2.38%），但前推验证下失效（-0.15%）——**过拟合实锤**，当前版本不可用于实盘\n- 随机对照大幅跑输（-1.16%），证明\"形态识别 + 评分排序\"本身有真实选股力（相对随机 +1.79pp）\n\n### 2.2 净值模拟（真实价格，每日 5 只）\n\n| 排序 | 累计收益 | 年化 | 最大回撤 | 超额(vs 沪深300 +8.38%) |\n|:-----|:-------:|:----:|:-------:|:------------------------:|\n| **评分排序** | **+20.11%** | **+25.62%** | 13.26% | **+11.73pp** |\n| ML概率 | +8.11% | +10.19% | 13.03% | -0.28pp |\n| 随机 | -6.39% | -7.90% | 19.06% | -14.78pp |\n\n### 2.3 top_k 敏感性（评分排序，净值口径）\n\n| 每日选股数 | 占全市场 | 累计 | 年化 | 最大回撤 | 超额 |\n|:---------:|:-------:|:----:|:----:|:-------:|:----:|\n| **1** | 0.02% | **+24.25%** | **+31.04%** | **11.10%** | **+15.87pp** |\n| 3 | 0.07% | +10.80% | +13.62% | 12.05% | +2.42pp |\n| 5 | 0.11% | +20.11% | +25.62% | 13.26% | +11.73pp |\n| 10 | 0.22% | +11.87% | +14.99% | 14.04% | +3.49pp |\n| 20 | 0.44% | +9.91% | +12.48% | 13.31% | +1.53pp |\n\n**洞察：选得越精越好**——每日只取评分最高 1 只（前 0.02%）效果最佳（年化 31%，超额 +15.9pp，回撤最小）。千分之一（5 只）为次优，兼顾分散与收益。\n\n### 2.4 交易成本敏感性（评分排序）\n\n| 单边成本 | 每日5只年化 | 每日5只超额 | 每日1只年化 | 每日1只超额 |\n|:-------:|:---------:|:----------:|:----------:|:----------:|\n| 0.0% | +25.62% | +11.73pp | +31.04% | +15.87pp |\n| 0.1% | +22.35% | +9.21pp | — | — |\n| 0.15% | — | — | **+25.95%** | **+11.98pp** |\n| 0.2% | +19.16% | +6.74pp | — | — |\n| 0.3% | +16.06% | +4.33pp | — | — |\n| 0.5% | +10.09% | -0.35pp | — | — |\n\n> A 股实际成本约单边 0.15%（佣金 0.03% + 印花税 0.1% + 滑点），**扣费后策略依然有效**（每日1只年化 26%，超额 +12pp）。\n\n## 3. 结论与实盘建议\n\n1. **策略有效且经过无泄漏验证**：每日选评分最高 1~5 只（前千分之一内），20 日持有滚动，扣真实成本后年化 25%+，超额沪深300 约 12~16pp\n2. **首选配置**：`--sort score --top-k 1`（最强、回撤最小）；若需分散则 `--top-k 5`\n3. **ML 模型当前不可用**（过拟合）；后续需特征扩展 + 滚动重训 + 更严格验证后才可启用\n4. **风险提示**：\n   - 验证期仅 196 天，且为单一市场环境（中小盘风格期），α 存在环境依赖\n   - 回撤 11~13% 需纪律性止损\n   - 形态 α 依赖中小盘风格，大盘蓝筹主导行情时效果会衰减\n   - 未含停牌/涨跌停不可成交等微观结构约束\n\n## 4. 复现命令\n\n```bash\npython portfolio_backtest.py --walk-forward --top-k 5 --nav\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15 --sort score\npython portfolio_backtest.py --all-sorts --top-k 5      # 全样本（有泄漏，仅参考）\n```\n\nFile v3.7.1:skill-card.md\n\n## Description:\n\nA Chinese-language A-share volume-price screening toolkit that detects six price-volume patterns, scores candidates across multiple factors and timeframes, supports intraday monitoring, and diagnoses individual stocks or position files.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[xiyanjun](https://clawhub.ai/user/xiyanjun)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, finance analysts, and developers use this skill to run A-share market scans, inspect volume-price pattern matches, review risk filters, compare signal changes, and generate position diagnostics. The outputs support technical analysis workflows and should not be treated as investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security evidence reports unsafe pickle loading paths in model and backtest workflows.\n\nMitigation: Load only model or cache .pkl files that were generated locally or come from a trusted source; fix or replace pickle loading before using the skill in shared or higher-risk environments.\n\nRisk: The security evidence notes broad finance, network, and MCP behavior, including sending stock codes or search terms to market-data providers and using a local WorkBuddy MCP proxy.\n\nMitigation: Review provider and proxy configuration before execution and run the skill only where disclosure of those stock codes, search terms, and MCP requests is acceptable.\n\nRisk: Position diagnosis may process files containing cost basis and share counts.\n\nMitigation: Use trusted local position files, avoid sharing generated diagnostics outside the intended environment, and remove sensitive holdings data when it is not needed.\n\nRisk: The artifact states that pure volume-price signals are not investment advice and that high scores do not guarantee price increases.\n\nMitigation: Treat results as technical-analysis signals for review, not as trading instructions; require independent financial judgment before acting on any output.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/xiyanjun/skills/hectorlee-volume-price-screener)\n- [Pattern rules](references/pattern_rules.md)\n- [Scoring rules](references/scoring_rules.md)\n- [Test cases](references/test_cases.md)\n- [V2 backtest report](references/v2_backtest_report.md)\n- [V2 portfolio report](references/v2_portfolio_report.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown and terminal-oriented text with inline shell commands, tables, and JSON parameter examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May read local market databases and position JSON files, call market-data providers, use a local WorkBuddy MCP proxy, and write local scan logs or signal files when invoked.]\n\n## Skill Version(s):\n\n3.7.1 (source: SKILL.md frontmatter, manifest.yaml, server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v3.7.1:_user_meta.json\n\n{\n  \"name\": \"hectorlee-volume-price-screener\",\n  \"installedAt\": 1785742906189,\n  \"source\": \"userImport\"\n}\n\nFile v3.7.1:manifest.yaml\n\nname: hectorlee-volume-price-screener\nslug: hectorlee-volume-price-screener\nversion: 3.7.1\ndescription: \"纯量价关系A股选股系统。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，135分制评分，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)。V3.7.1 接入 hithink 本地 DuckDB 库优先(同花顺前复权日K，无WAF/无限流)，腾讯接口仅作 fallback。\"\ncategory: finance\nauthor: hectorlee\nlicense: MIT-0\ntags:\n  - 选股\n  - 量价分析\n  - A股\n  - 技术分析\n  - 量化\n  - 盘中监控\ntriggers:\n  - 放量拉升\n  - 缩量调整\n  - 量价选股\n  - 量价形态\n  - 突破延续\n  - 蓄力突破\n  - 回踩确认\n  - 高位平台\n  - 底部反转\n  - 板块共振\n  - 盘中监控\ndependencies:\n  python:\n    - requests\n    - numpy\n  optional:\n    - scikit-learn\n    - pytest\nmcp_requirements:\n  - 通达信(tdx-connector): 科创板/北交所数据、周线/5分钟K线\nmin_python: \"3.9\"\n\nArchive v0.1.3: 34 files, 276865 bytes\n\nFiles: _user_meta.json (105b), manifest.yaml (867b), models/ml_model_small.pkl (262376b), models/ml_model_v2.pkl (401534b), references/pattern_rules.md (4091b), references/scoring_rules.md (2862b), references/test_cases.md (3669b), references/v2_backtest_report.md (4750b), references/v2_portfolio_report.md (4360b), scripts/__init__.py (40b), scripts/adaptive.py (3400b), scripts/backtest.py (14850b), scripts/colors.py (421b), scripts/data_provider.py (12508b), scripts/intraday_tencent.py (11454b), scripts/intraday.py (10736b), scripts/mcp_utils.py (5556b), scripts/ml_model.py (8146b), scripts/pattern_detect.py (37434b), scripts/portfolio_backtest.py (16853b), scripts/position_diagnosis.py (13103b), scripts/risk_filter.py (7337b), scripts/scoring.py (19142b), scripts/screener.py (18666b), scripts/signal_history.py (4551b), scripts/signal_tracker.py (11249b), scripts/tdx_data_provider.py (2744b), skill-card.md (2741b), SKILL.md (8253b), tests/conftest.py (3232b), tests/test_pattern_detect.py (14333b), tests/test_risk_scoring.py (13275b), tests/test_v2_modules.py (9705b), _meta.json (150b)\n\nFile v0.1.3:SKILL.md\n\n---\nname: hectorlee-volume-price-screener\nversion: 3.7.0\ndescription: 纯量价关系A股选股系统 V3.7。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，135分制评分，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。\nagent_created: true\n---\n\n# 纯量价选股系统 V3.7\n\n## 概述\n\n**6 种量价形态 + 多因子融合 + 多周期确认 + 行业共振 + 关注池曝光度追踪**，纯量价、零基本面依赖。覆盖 A 股 5,191 只（沪主板+深主板+创业板+科创板），含 7×全日定时扫描。\n\n### 六种形态\n\n| 变体 | 标签 | 强度 | 描述 |\n|:----:|:-----|:----:|:-----|\n| D | 🔥 突破延续 | ★★★★★ | 放量后持续上涨≥5%，拒绝回调，不强制缩量 |\n| E | 💜 蓄力突破 | ★★★★★ | 放量前连续≥5日阳线蓄力，标准缩量整理 |\n| C | ✅ 回踩确认 | ★★★★☆ | 缩量回踩放量日高点不破，反弹站稳 |\n| B | 📈 高位平台 | ★★★☆☆ | 缩量后价格在放量日区间上方窄幅运行 |\n| A | 📦 标准横盘 | ★★☆☆☆ | 缩量后价格在放量日区间内横盘（原有） |\n| R | 🔄 底部反转 | ★★★★★ | 暴跌>15%+地量+首阳放量≥2倍，独立形态 |\n\n### 板块差异化阈值\n\n| 板块 | 涨幅阈值 | 量比下限 | 数据源 |\n|:-----|:-------:|:-------:|:-----|\n| 主板大票(>100万手) | 3% | 2.0 | 腾讯 |\n| 主板中票(>30万手) | 4% | 1.8 | 腾讯 |\n| 主板小票 | 5% | 1.5 | 腾讯 |\n| 创业板(300/301) | 6% | 2.0 | 腾讯 |\n| 科创板(688) | 4% | 2.0 | 通达信 |\n| 北交所(4/8/920) | 5% | 3.0 | 通达信 |\n\n### 系统版本演进\n\n| 版本 | 核心变化 |\n|:-----|:---------|\n| V1.0 | 基准：放量→缩量→横盘 三阶段 |\n| V3.0 | 阶段3 扩展为 D/C/B/A 四种变体 |\n| V3.1 | 连阳蓄力、前高突破、板块共振三大增强 |\n| V3.2 | 市值分档降阈值、一字板过滤器修复 |\n| V3.3 | 科创板 TDX 数据源接入、北交所阈值配置 |\n| V3.4 | 创业板 8%→6%、末日晚信号延展、盘中监控模块 |\n| V3.5 | 变体E蓄力突破、多因子融合、多周期确认、行业精确分类、关注池曝光度、7×定时扫描 |\n| V3.6 | 自适应进攻型振幅阈值（趋势斜率陡峭时放宽至15%） |\n| V3.7 | 背离预警扣分（横盘期放量滞涨=出货嫌疑） |\n\n---\n\n## 使用场景\n\n- **全市场扫描**：收盘后扫描全 A 股，输出 Top50 + 板块分析 + 操作建议\n- **盘中监控**：7 个时点（09:00/10:00/11:00/11:35/13:30/14:45/15:05）自动扫描\n- **单股诊断**：给定代码，判断形态 + 评分明细\n- **持仓诊断**：输入持仓文件，批量诊断每只票的形态和风险\n- **信号追踪**：对比两日信号，追踪 NEW/GONE/UPGRADE/DOWNGRADE\n\n## 快速开始\n\n```bash\ncd <skill_dir>/scripts\n\n# 全市场扫描\npython screener.py --all --top 30 --detail\n\n# 盘中监控（今日放量突破）\npython intraday.py --today --top 20\n\n# 单股诊断\npython screener.py 600406 --detail\n\n# 持仓诊断\npython position_diagnosis.py positions.json --detail\n\n# 信号追踪\npython signal_tracker.py --today data/signals_20260803.json\n\n# 参数覆盖 / 北交所\npython screener.py --all --params '{\"vol_ratio_min\":2.0}' --include-bj\n```\n\n---\n\n## 评分体系（135 分制）\n\n| 模块 | 分值 | 核心因子 |\n|:-----|:----:|:---------|\n| 放量质量 | 30 | 放量倍数 + 拉升幅度 + 60日新高 |\n| 缩量质量 | 20 | 缩量深度 + 缩量天数 |\n| 变体质量 | 25 | 变体感知：振幅/位置/回调/精准度/延续性 |\n| 趋势量能 | 15 | 60日新高 + MA10/MA20支撑 + 量能多头 |\n| 加分信号 | 15 | 3日量价齐升 + 3日量缩价跌 + 连阳蓄力 |\n| 多因子融合 | 20 | 市值流动性 + 波动率(ATR) + 趋势强度 |\n| 关注池曝光度 | 5 | 近50日历史命中次数（≥8次→+5, ≥3→+3） |\n| 多周期确认 | -5~+10 | 周线MACD金叉/MA10验证 |\n\n**分层**：≥100 强势形态 | 75~99 标准形态 | <75 关注形态\n**权重校准**：A/B 变体质量×0.85，R 放量质量×1.15（回测验证）\n\n---\n\n## 盘中监控模式（intraday.py）\n\n| 时点 | 名称 | 行为 |\n|:---:|:-----|:-----|\n| 09:00 | 盘前扫描 | 昨日信号 Top15 + 今日关注提示 |\n| 10:00 | 盘中监控 | 开盘30分钟盘中放量突破检测 |\n| 11:00 | 二次确认 | 昨日 Top5 盘中验证（持有/减仓） |\n| 11:35 | 午间小结 | 上午最强板块 + 异动 + 下午建议 |\n| 13:30 | 午后监控 | 午后新放量信号 + 上午强势延续性 |\n| 14:45 | 尾盘突击 | 尾盘放量突破 + 跳水预警 + 明日方向 |\n| 15:05 | 收盘全量 | 全扫描 + 板块分析 + 操作建议 |\n\n### 防污染设计\n- 盘中 6 次扫描写入 `intraday_log`，**不干扰关注池曝光度**\n- 仅 15:05 收盘扫描写入 `signals_YYYYMMDD.json`\n- 曝光度读取同日去重（同一天同一股票只计 1 次）\n\n---\n\n## 风险硬过滤（7 项）\n\n| 规则 | 判定 | 优先级 |\n|:-----|:-----|:------:|\n| ST/*ST | 名称含 ST | 最高 |\n| 退市风险 | 财务信号（akshare，未安装降级） | 最高 |\n| 次新股 | K线不足 60 根（北交所 90 根） | 高 |\n| 一字板 | high==low 且涨停且无量比（≥2.0 放行） | 高 |\n| 连板股 | 放量日前连续 ≥2 日涨停 | 高 |\n| 跌势反弹 | 放量日前 10 日累计跌幅 < -10% | 高 |\n| 换手率 | 放量日换手 < 3%（仅当日启用） | 中 |\n\n---\n\n## 数据源\n\n| 数据 | 来源 | 说明 |\n|:-----|:-----|:-----|\n| 全市场列表 | 东财 `push2.eastmoney.com` → 腾讯 → TDX 补充 | ~5191 只 |\n| 日 K 线 | 腾讯 `ifzq.gtimg.cn` + TDX fallback | 90 根，前复权 |\n| 实时行情 | 腾讯 `qt.gtimg.cn` | 换手率/名称/ST |\n| 5 分钟 K 线 | 通达信 MCP `period=\"0\"` | 盘中监控 |\n| 周线 K 线 | 通达信 MCP `period=\"5\"` | 多周期确认 |\n\n---\n\n## 资源文件\n\n### scripts/\n| 文件 | 说明 |\n|:-----|:-----|\n| `screener.py` | 主入口：全市场/单股/搜索/参数覆盖/自适应/ML，V3.5 含行业精确共振 |\n| `pattern_detect.py` | 形态识别引擎（6种形态 + 多周期周线确认） |\n| `scoring.py` | 135分制评分引擎（变体感知+多因子+曝光度+权重校准） |\n| `risk_filter.py` | 风险硬过滤（7 项规则） |\n| `data_provider.py` | 数据管道（腾讯+东财+TDX fallback，12并发） |\n| `tdx_data_provider.py` | TDX 适配器（共享 McpClient） |\n| `intraday.py` | 盘中监控（5分钟K线实时放量检测） |\n| `position_diagnosis.py` | 持仓诊断（批量形态+评分+风控+建议） |\n| `signal_tracker.py` | 信号追踪（NEW/GONE/UPGRADE/DOWNGRADE） |\n| `signal_history.py` | 曝光度统计（近50日关注池上榜次数） |\n| `colors.py` | 统一 ANSI 颜色常量 |\n| `mcp_utils.py` | 共享 MCP 客户端（握手+SSE解析+工具调用） |\n| `backtest.py` | 历史回测引擎 |\n| `adaptive.py` | 参数自适应 |\n| `ml_model.py` | ML 概率模型 |\n| `portfolio_backtest.py` | 每日精选组合回测 |\n\n### tests/（59 个用例）\n| 文件 | 说明 |\n|:-----|:-----|\n| `conftest.py` | 合成 K 线生成器 |\n| `test_pattern_detect.py` | 形态识别（含 V3.5 变体E） |\n| `test_risk_scoring.py` | 风险过滤 + 评分（含多因子/多周期/曝光度） |\n| `test_v2_modules.py` | 回测/ML/自适应测试 |\n\n---\n\n## 分享\n\n```bash\ncd ~/.workbuddy/skills\ntar -czf volume-price-screener.tar.gz volume-price-screener/\n# 对方: tar -xzf volume-price-screener.tar.gz -C ~/.workbuddy/skills/\n```\n\n依赖：`pip install requests numpy`（可选：`scikit-learn pytest`）\n\n---\n\n## 注意事项\n\n- 颜色约定：涨=红、跌=绿（A 股惯例）\n- 纯量价信号，不构成投资建议；高评分≠必涨\n- 全市场扫描约 2~5 分钟（5191 只 × 90 根 K 线，12 并发）\n- TDX 适配器需 WorkBuddy MCP 代理（`127.0.0.1:57400`），否则科创/北交所自动跳过\n- 定时扫描每工作日 7 次自动执行，结果写入 `data/intraday_log_*.txt` 和 `data/signals_*.json`\n\nFile v0.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn71y975j1zr9hcafzd1ybgs898br0jt\",\n  \"slug\": \"hectorlee-volume-price-screener\",\n  \"version\": \"0.1.3\",\n  \"publishedAt\": 1786615567878\n}\n\nFile v0.1.3:references/pattern_rules.md\n\n# 形态规则详解 V3.0（pattern_rules.md）\n\n## V3.0 新增：阶段3 四种形态变体\n\n阶段1（放量拉升）和阶段2（缩量计算）为所有变体共享。阶段3 按优先级 D>C>B>A 判定：\n\n| 变体 | 标签 | 缩量要求 | 核心条件 |\n|:-----|:-----|:--------:|:---------|\n| D | 突破延续 | 不强制 | 累计涨幅≥3%, ≥60%阳线, 未跌破开盘价, 振幅≤15% |\n| C | 回踩确认 | ≥2日 | 振幅≤10%, 至少1日low≤anchor.high×1.02, 之后close>anchor.high |\n| B | 高位平台 | ≥2日 | 振幅≤10%, ≥60%日close>anchor.high, 均价>anchor.high |\n| A | 标准横盘 | ≥2日 | 振幅≤10%, ≥60%日close∈[anchor.low, anchor.high] |\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n| 参数 | 默认值 | 说明 |\n|:-----|:------:|:-----|\n| `window` | 20 | 形态检测窗口（交易日） |\n| `vol_ma_n` | 20 | 均量周期（量比分母） |\n| `rise_pct_main` | 5.0 | 主板放量涨幅阈值(%) |\n| `rise_pct_gem` | 8.0 | 创业板/科创板放量涨幅阈值(%) |\n| `vol_ratio_min` | 1.5 | 放量倍数下限 |\n| `vol_ratio_opt` | 2.0 | 放量倍数\"更优\"线（评分参考） |\n| `shrink_min_days` | 2 | 最小连续缩量天数 |\n| `amp_max` | 10.0 | 横盘最大振幅(%) |\n| `range_ratio_min` | 0.6 | 收盘价落在锚点高低点区间内的占比下限 |\n| `shrink_days_best` | (4, 6) | 缩量天数最优区间（评分用） |\n| `shrink_depth_best` | 0.5 | 缩量深度最优线（评分用） |\n| `pullback_best` | 0.5 | 回调深度最优线（评分用） |\n| `trend_check_days` | 10 | 跌势检查天数 |\n| `trend_drop_pct` | -10.0 | 跌势阈值(%) |\n| `limit_pct_main` | 9.8 | 主板涨停阈值(%) |\n| `limit_pct_gem` | 19.8 | 创业板/科创板涨停阈值(%) |\n| `ma_n1` | 10 | 支撑均线 1 |\n| `ma_n2` | 20 | 支撑均线 2 |\n| `vol_ma_short` | 5 | 量能短均线 |\n| `vol_ma_long` | 10 | 量能长均线 |\n\n## 板块判定\n\n| 板块 | 代码前缀 | 涨幅阈值 | 涨停阈值 |\n|:-----|:---------|:--------:|:--------:|\n| 主板 | 60x / 000 / 001 / 002 / 003 | 5% | 9.8% |\n| 创业板 | 300 / 301 | 8% | 19.8% |\n| 科创板 | 688 | 8% | 19.8% |\n| 北交所 | 4x / 8x / 920 | 5% | 29.8%（默认不扫描） |\n\n## 四阶段判定细节\n\n### 阶段1：定位放量拉升日\n- 遍历最近 `window` 根 K 线\n- 涨幅 = (当日收盘 - 前日收盘) / 前日收盘 × 100%\n- 量比 = 当日量 / 前20日均量（不含当日）\n- 同时满足 `涨幅 ≥ 阈值(板块)` 且 `量比 ≥ 1.5` → 候选放量日\n- 多个候选 → 取**最近**（索引最大）为锚点\n- 浮点容差 1e-9（边界值如恰好 5.0% 算命中）\n\n### 阶段2：缩量确认\n- 锚点日之后逐日扫描，统计最长连续缩量段（量 < 锚点日量）\n- 最长段 ≥ 2 日 → 通过\n- `shrink_days` = 最长段长度；`shrink_depth` = 该段均量 / 锚点日量\n\n### 阶段3：横盘确认\n- 锚点日后**所有**交易日（至窗口末）\n- 振幅 = (最高 - 最低) / 最低 × 100% ≤ 10%\n- 收盘价落在锚点日 [low, high] 区间内的占比 ≥ 60%\n- 两条件同时满足 → 通过\n\n### 阶段4：加分信号\n- 窗口内任意连续 3 日：量递增且价递增 → 量价齐升 ✓\n- 窗口内任意连续 3 日：量递减且价递减 → 量缩价跌 ✓\n\n## 输出字段\n\n| 字段 | 说明 |\n|:-----|:-----|\n| `anchor_idx` | 放量日在 bars 中的索引 |\n| `surge_pct` | 放量日涨幅(%) |\n| `volume_ratio` | 量比 |\n| `shrink_days` | 最长连续缩量天数 |\n| `shrink_depth` | 缩量深度（0~1） |\n| `amplitude` | 横盘期振幅(%) |\n| `range_ratio` | 收盘价区间占比 |\n| `range_position` | upper / mid / lower |\n| `pullback_ratio` | 回调深度（相对拉升幅度） |\n| `low_point_rise` | 低点是否抬高 |\n| `conc_rise_3d` | 连续3日量价齐升 |\n| `conc_fall_3d` | 连续3日量缩价跌 |\n| `breakout_60d` | 放量日创60日新高 |\n| `ma_support` | 站稳 MA10 且 MA20 |\n| `vol_ma_bull` | 5日均量 > 10日均量 |\n| `divergence_warning` | 放量滞涨背离预警 |\n\nFile v0.1.3:references/scoring_rules.md\n\n# 评分细则（scoring_rules.md）\n\n## 评分总览（100 分制）\n\n```\n放量质量(30) + 缩量质量(20) + 横盘质量(25) + 趋势量能(15) + 加分信号(10) = 100\n```\n\n## 一、放量质量（30 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 放量倍数 | 1.5 ≤ 量比 < 2 | 8 |\n| | 2 ≤ 量比 < 3 | 12 |\n| | 量比 ≥ 3 | 15 |\n| 拉升幅度 | 达标线 | 5 |\n| | 每超 1 个百分点 | +2 |\n| | 上限 | 10 |\n| 60 日新高 | 放量日 high 创前 60 日新高 | +5 |\n\n> 拉升幅度示例（主板）：涨幅 5% → 5 分；7% → 9 分；≥7.5% → 10 分封顶\n\n## 二、缩量质量（20 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 缩量深度 | < 30% | 10 |\n| | 30%~50% | 8 |\n| | 50%~70% | 5 |\n| | > 70% | 3 |\n| 缩量天数 | 2~3 天 | 3 |\n| | 4~6 天 | 5 |\n| | 7~8 天 | 4 |\n| | 其他 | 0 |\n\n> 缩量深度 = 缩量段均量 / 放量日量。缩得越深，说明抛压越轻、筹码锁定越好。\n\n## 三、横盘质量（25 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 振幅 | ≤ 5% | 10 |\n| | 5%~10% | 7 |\n| 横盘位置 | 主体在上半部（收盘均值 ≥ 锚点K线中点） | 8 |\n| | 中部 | 5 |\n| | 下半部 | 3 |\n| 回调深度 | 回撤 ≤ 1/2 拉升幅度 | 5 |\n| | 1/2 ~ 2/3 | 2 |\n| | > 2/3 | 0 |\n| 低点抬高 | 后半段最低 > 前半段最低 | +2 |\n\n> 回调深度 = (放量日收盘 - 横盘期最低) / (放量日收盘 - 前日收盘)。回调越浅越强势。\n\n## 四、趋势与量能（15 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 平台突破 | 放量日创 60 日新高 | +8 |\n| 均线支撑 | 最新收盘 > MA10 且 > MA20 | +4 |\n| 量能均线多头 | 5 日均量 > 10 日均量 | +3 |\n\n## 五、加分信号（10 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 量价齐升 | 窗口内连续 3 日量升价升 | +5 |\n| 量缩价跌 | 窗口内连续 3 日量缩价跌 | +5 |\n\n## 分层与预警\n\n| 总分 | 分层 | 建议 |\n|:----:|:-----|:-----|\n| ≥ 80 | 强势形态 | 形态质量高，优先关注 |\n| 60~79 | 标准形态 | 形态成立，需结合其他维度 |\n| < 60 | 关注形态 | 边缘命中，谨慎对待 |\n\n**背离预警**（不扣分，独立标记）：\n- 横盘期出现：成交量 > 前5日均量 × 1.5 且当日涨幅 < 1% → 放量滞涨\n- 含义：横盘末端放量却拉不动价格，主力可能借横盘出货 → 排序自动降级\n\n## 评分示例\n\n标准命中（茅台 2026-07 实测）：\n```\n放量质量 17.0/30（量比2.3→12 + 拉升7%→5 + 新高✗→0）\n缩量质量  5.0/20（深度51%→5 + 天数9→0）\n横盘质量 17.0/25（振幅6.4%→7 + 位置upper→8 + 回调→2 + 低点✗→0）\n趋势量能  4.0/15（新高✗ + 均线✓→4 + 量能✗）\n加分信号 10.0/10（齐升✓ + 缩跌✓）\n总分 53.0 → 关注形态 + 背离预警\n```\n\nFile v0.1.3:references/test_cases.md\n\n# 测试用例库（test_cases.md）\n\n## 单元测试（pytest，31 用例，全部通过）\n\n### 形态识别（tests/test_pattern_detect.py，15 用例）\n\n| 用例 | 场景构造 | 预期 |\n|:-----|:---------|:-----|\n| test_standard_hit | 第45日放量+7%量比2.2，后14日缩量横盘 | 命中，锚点45 |\n| test_insufficient_volume | 涨幅5%达标但量比1.2 | 不命中 |\n| test_insufficient_surge | 量比2.5但涨幅3% | 不命中 |\n| test_insufficient_shrink | 放量后仅1日缩量 | 不命中 |\n| test_excessive_amplitude | 横盘期制造15%振幅K线 | 不命中 |\n| test_gem_threshold | 涨幅7%创业板(<8%) | 不命中；同条件主板命中 |\n| test_gem_threshold_boundary | 科创板恰好8% | 命中 |\n| test_boundary_values | 恰好5%涨幅+1.5量比 | 命中（含等号） |\n| test_multiple_anchors | 窗口内2根放量日 | 取最近锚点(50) |\n| test_insufficient_data | 仅20根K线 | 不命中 |\n| test_is_gem | 板块判定 | 300/301/688=True |\n| test_rise_threshold | 板块涨幅阈值 | 主板5/创科8 |\n| test_consecutive_signals | 窗口内构造3日量价齐升 | conc_rise_3d=True |\n| test_divergence_warning | 横盘期放量滞涨 | 背离预警=True |\n| test_low_point_rise | 后半段低点抬高 | low_point_rise=True |\n\n### 风险过滤 + 评分（tests/test_risk_scoring.py，16 用例）\n\n| 用例 | 场景 | 预期 |\n|:-----|:-----|:-----|\n| test_st_name_detection | ST/*ST 名称 | 识别正确 |\n| test_check_st | ST华业 / 贵州茅台 | 排除 / 放行 |\n| test_new_stock | 30根K vs 90根K | 剔除 / 放行 |\n| test_one_word_limit | 放量日一字涨停 | 剔除 |\n| test_not_one_word_limit | 正常放量日 | 放行 |\n| test_consecutive_limit | 放量日前2日涨停 | 剔除（连板） |\n| test_not_consecutive_limit | 正常走势 | 放行 |\n| test_downtrend_rebound | 前10日-15%趋势 | 剔除（跌势反弹） |\n| test_not_downtrend | 温和上涨 | 放行 |\n| test_turnover | 2% / 5% / None | 剔除 / 放行 / 跳过 |\n| test_comprehensive_st | 综合过滤含ST | 剔除 |\n| test_comprehensive_turnover_skip | 无换手数据 | 放行+跳过标记 |\n| test_comprehensive_pass | 全通过 | 放行 |\n| test_score_standard | 标准命中评分 | 0<总分≤100 |\n| test_score_components_bounds | 极端高分场景 | 各模块不超上限 |\n| test_score_levels | 高质量 vs 低质量 | 高低分层正确 |\n\n## 合成 K 线生成器（conftest.py）\n\n`build_kline()` 参数化构造可复现的合成行情：\n\n| 参数 | 默认 | 说明 |\n|:-----|:----:|:-----|\n| n | 60 | 总 K 线数 |\n| anchor | 45 | 放量日索引 |\n| surge_pct | 7.0 | 放量日涨幅(%) |\n| vol_ratio | 2.2 | 量比 |\n| post_days | auto | 横盘天数 |\n| post_vol_ratio | 0.4 | 横盘量/放量日量 |\n| post_amp | 0.005 | 横盘波动幅度 |\n| trend | 0.005 | 放量前日涨幅 |\n| base_vol | 1000 | 基础量 |\n| base_price | 10.0 | 起始价 |\n\n## 历史回测（设计方案 6.2 节，待实施）\n\n- 区间：近 3 年逐日滚动全市场扫描\n- 指标：命中率、命中后 5/10/20 日收益率 vs 沪深300、胜率、盈亏比\n- 对照组：随机股票池同窗口收益 → 超额收益显著性检验\n- 输出：命中分布 + 收益直方图 + 分位数报告\n\n## 实盘金丝雀（设计方案 6.3 节，待实施）\n\n- 连续 4 周每日实盘扫描，只输出不交易\n- 与人工复盘对比确认逻辑一致\n- 收集命中后 20 日走势，校准胜率\n\n## 性能基准（设计方案 6.4 节）\n\n| 场景 | 基准 | 实测 |\n|:-----|:----:|:-----|\n| 全市场4591只拉K线(90根,12并发) | < 3 分钟 | ~2 分钟 |\n| 形态检测单只 | < 1ms | < 1ms |\n| 单股诊断 | < 5s | ~0.5s |\n\nFile v0.1.3:references/v2_backtest_report.md\n\n# V2 回测与 ML 模型评估报告\n\n- 日期：2026-07-31\n- 数据：近 3 年（750 交易日）全市场 4591 只 A 股 + 沪深300 基准\n- 命中样本：103,758 条（滚动扫描，无未来函数：每交易日 t 用截至 t 的 K 线检测，收益用 t 之后 K 线）\n\n## 1. 形态超额收益（vs 沪深300）\n\n| 周期 | 样本 | 平均收益 | 基准 | 超额α | 胜率 | 盈亏比 | 跑赢率 |\n|:----:|:----:|:-------:|:----:|:-----:|:----:|:------:|:------:|\n| 5日 | 103758 | +0.35% | +0.18% | **+0.16%** | 47.0% | 1.31 | 46.0% |\n| 10日 | 103758 | +0.65% | +0.38% | **+0.26%** | 47.4% | 1.35 | 45.8% |\n| 20日 | 103758 | +0.72% | +0.56% | **+0.15%** | 45.6% | 1.38 | 43.8% |\n\n**结论**：形态相对沪深300 存在稳定但温和的正超额收益（α ≈ +0.15~+0.26%/周期），盈亏比 >1.3。形态有效，但并非暴利信号——是\"胜率 45% + 盈亏比 1.35\"的赔率结构。\n\n## 2. 随机对照（vs 全市场等权）\n\n| 指标 | 命中股 | 随机股 | 差异 |\n|:-----|:------:|:------:|:----:|\n| 20日平均收益 | +0.72% | +1.25% | -0.53% |\n| 正收益占比 | 45.6% | 48.3% | -2.7pp |\n\n**结论**：形态相对全市场等权随机池**无超额**。原因分析：沪深300 为大盘蓝筹加权，而随机池包含大量小盘股（近3年小盘占优）。**形态的 α 更多来自\"命中股多为中小市值弹性股\"的暴露，而非形态本身独立于市场的选股力**。这一点必须在实盘使用中警惕——形态必须配合市场环境（中小盘风格期）使用。\n\n## 3. ML 概率模型评估\n\n### 3.1 模型与切分\n- 模型：GradientBoostingClassifier（300 树，max_depth=3，lr=0.05）\n- 切分：时间序列 70/30（前 70% 训练，后 30% 验证，**无未来函数**）\n- 特征：14 个纯量价特征（surge/vol_ratio/shrink_days/shrink_depth/amplitude/position/pullback/low_rise/breakout/ma/vol_ma/conc_rise/conc_fall/score）\n\n### 3.2 整体指标\n- 验证集：31,128 样本，基线涨率 42.9%\n- 准确率：**54.8%**（+11.9pp vs 基线）\n- 标签（跑赢沪深300）准确率 57.7%（基线 43.8%）\n\n### 3.3 概率分层单调性（验证集，关键验证）\n\n| 分位 | 样本 | 平均20日 | 正收益比 |\n|:----:|:----:|:--------:|:--------:|\n| P0-20（最低概率） | 6226 | -0.77% | 43.2% |\n| P20-40 | 6225 | -0.84% | 42.5% |\n| P40-60 | 6221 | -0.81% | 41.6% |\n| P60-80 | 6229 | -0.61% | 41.7% |\n| **P80-100（最高概率）** | 6227 | **+0.26%** | **45.4%** |\n\n**结论**：概率分层呈现单调性——最高概率分位（P80-100）20 日平均收益 +0.26%、正收益比 45.4%，显著优于最低分位（-0.77%/43.2%），**收益差约 1.0pp**。ML 概率可用于**排序增强**（高概率优先），但不宜做硬过滤（无显著分位阈值断点）。\n\n### 3.4 特征重要性\n\n| 特征 | 重要性 | 含义 |\n|:-----|:------:|:-----|\n| surge_pct | 0.325 | 放量日涨幅（最主导） |\n| volume_ratio | 0.274 | 放量倍数 |\n| pullback_ratio | 0.143 | 回调深度 |\n| shrink_depth | 0.105 | 缩量深度 |\n| amplitude | 0.069 | 横盘振幅 |\n| score | 0.021 | 综合评分 |\n\n**洞察**：拉升强度（涨幅+量比）占特征重要性 60%，说明\"放得越猛\"的形态后续概率越高——与直觉一致（强资金介入）。\n\n## 4. 工程改进记录\n\n| 项 | 改进 | 效果 |\n|:---|:-----|:-----|\n| 回测扫描 | 复用 Bar 列表 + 只传最近90根 | 301s → 33s（9倍提速） |\n| K线缓存 | pickle 本地缓存 | 重复回测免拉数据（42s→0s） |\n| 随机对照 | 修复空范围崩溃 + 尝试上限 | 稳定运行 |\n| ML后端 | 实测 fit/predict 探测（macOS libomp 缺失自动降级 sklearn） | xgboost 失败不中断 |\n| 自适应参数 | 沪深300 波动率 → 动态阈值 | 低迷市场自动收紧振幅/放宽量比 |\n\n## 5. 实盘使用建议\n\n1. **形态定位**：作为\"赔率型\"信号使用——盈亏比 1.35，需严格止损纪律，不可单凭形态重仓\n2. **市场环境**：形态 α 依赖中小盘风格期，大盘蓝筹主导行情时命中意义减弱\n3. **ML 用法**：用 `--model models/ml_model_v2.pkl` 开启概率排序，优先关注 P80 以上分位（20日收益差约1pp）\n4. **参数自适应**：`--adaptive` 开启市场波动率调节，牛熊市阈值自适应\n5. **背离预警**：横盘期放量滞涨标记\"出货嫌疑\"，排序自动降级\n\n## 6. 已知局限与 V3 方向\n\n- 单标的滚动收益含重叠样本（同一形态多日被计），统计独立性打折\n- 未考虑交易成本/滑点（α 0.15% 需验证能否覆盖摩擦）\n- 未按市值/行业分层（α 归因待细化）\n- V3：按市值分层回测、剔除重叠样本、加入成本模型、特征工程扩展（板块效应/资金流）\n\nFile v0.1.3:references/v2_portfolio_report.md\n\n# 每日 Top-千分之一 组合回测报告\n\n- 日期：2026-07-31\n- 方法：`portfolio_backtest.py --walk-forward`（前推验证，无未来函数）\n- 数据：全市场 4591 只，3 年样本 103,758 条命中记录；训练期 2023-09~2025-09（459 天），**验证期 2025-09-08~2026-07-03（196 交易日）**\n\n## 1. 回测规则\n\n1. 每个交易日：从当日命中池按排序指标降序，取前 `top_k` 只（千分之一 ≈ 5 只；也可 `--top-k 1` 只选最强）\n2. 冷却期：同一股票 20 个交易日内不重复入选（避免重叠持仓）\n3. 收益评估（两层）：\n   - **逐日统计**：当日所选股票等权平均的 fwd5/10/20 收益（复用样本 fwd 字段）\n   - **净值模拟**：真实 K 线收盘价买入，持有 20 个交易日卖出，每日等权再平衡，可扣交易成本\n\n## 2. 核心结果（验证期，无泄漏）\n\n### 2.1 三种排序对比（每日 5 只，fwd20 逐日统计）\n\n| 排序 | 日均收益 | 胜率 | 盈亏比 | 超额α(vs沪深300) |\n|:-----|:-------:|:----:|:------:|:---------------:|\n| **评分排序** | **+0.63%** | 50.5% | 1.14 | **+0.23%** |\n| ML概率 | -0.15% | 49.5% | 0.97 | -0.55% |\n| 随机对照 | -1.16% | 44.4% | 0.88 | -1.56% |\n\n**关键结论**：\n- **评分排序（规则化的 100 分制）> 随机 > ML 概率**\n- ML 模型在样本内亮眼（+2.38%），但前推验证下失效（-0.15%）——**过拟合实锤**，当前版本不可用于实盘\n- 随机对照大幅跑输（-1.16%），证明\"形态识别 + 评分排序\"本身有真实选股力（相对随机 +1.79pp）\n\n### 2.2 净值模拟（真实价格，每日 5 只）\n\n| 排序 | 累计收益 | 年化 | 最大回撤 | 超额(vs 沪深300 +8.38%) |\n|:-----|:-------:|:----:|:-------:|:------------------------:|\n| **评分排序** | **+20.11%** | **+25.62%** | 13.26% | **+11.73pp** |\n| ML概率 | +8.11% | +10.19% | 13.03% | -0.28pp |\n| 随机 | -6.39% | -7.90% | 19.06% | -14.78pp |\n\n### 2.3 top_k 敏感性（评分排序，净值口径）\n\n| 每日选股数 | 占全市场 | 累计 | 年化 | 最大回撤 | 超额 |\n|:---------:|:-------:|:----:|:----:|:-------:|:----:|\n| **1** | 0.02% | **+24.25%** | **+31.04%** | **11.10%** | **+15.87pp** |\n| 3 | 0.07% | +10.80% | +13.62% | 12.05% | +2.42pp |\n| 5 | 0.11% | +20.11% | +25.62% | 13.26% | +11.73pp |\n| 10 | 0.22% | +11.87% | +14.99% | 14.04% | +3.49pp |\n| 20 | 0.44% | +9.91% | +12.48% | 13.31% | +1.53pp |\n\n**洞察：选得越精越好**——每日只取评分最高 1 只（前 0.02%）效果最佳（年化 31%，超额 +15.9pp，回撤最小）。千分之一（5 只）为次优，兼顾分散与收益。\n\n### 2.4 交易成本敏感性（评分排序）\n\n| 单边成本 | 每日5只年化 | 每日5只超额 | 每日1只年化 | 每日1只超额 |\n|:-------:|:---------:|:----------:|:----------:|:----------:|\n| 0.0% | +25.62% | +11.73pp | +31.04% | +15.87pp |\n| 0.1% | +22.35% | +9.21pp | — | — |\n| 0.15% | — | — | **+25.95%** | **+11.98pp** |\n| 0.2% | +19.16% | +6.74pp | — | — |\n| 0.3% | +16.06% | +4.33pp | — | — |\n| 0.5% | +10.09% | -0.35pp | — | — |\n\n> A 股实际成本约单边 0.15%（佣金 0.03% + 印花税 0.1% + 滑点），**扣费后策略依然有效**（每日1只年化 26%，超额 +12pp）。\n\n## 3. 结论与实盘建议\n\n1. **策略有效且经过无泄漏验证**：每日选评分最高 1~5 只（前千分之一内），20 日持有滚动，扣真实成本后年化 25%+，超额沪深300 约 12~16pp\n2. **首选配置**：`--sort score --top-k 1`（最强、回撤最小）；若需分散则 `--top-k 5`\n3. **ML 模型当前不可用**（过拟合）；后续需特征扩展 + 滚动重训 + 更严格验证后才可启用\n4. **风险提示**：\n   - 验证期仅 196 天，且为单一市场环境（中小盘风格期），α 存在环境依赖\n   - 回撤 11~13% 需纪律性止损\n   - 形态 α 依赖中小盘风格，大盘蓝筹主导行情时效果会衰减\n   - 未含停牌/涨跌停不可成交等微观结构约束\n\n## 4. 复现命令\n\n```bash\npython portfolio_backtest.py --walk-forward --top-k 5 --nav\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15 --sort score\npython portfolio_backtest.py --all-sorts --top-k 5      # 全样本（有泄漏，仅参考）\n```\n\nFile v0.1.3:skill-card.md\n\n## Description:\n\nA-share volume-price stock screening system V3.7 that identifies six price-volume patterns, applies multi-factor and multi-period scoring, tracks sector resonance and attention exposure, and supports full-market, intraday, single-stock, position, and signal-change analysis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[xiyanjun](https://clawhub.ai/user/xiyanjun)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and analysts can use this skill to screen Chinese A-share equities, diagnose individual tickers or holdings, monitor intraday volume-price breakouts, and compare signal changes over time. Outputs should be treated as technical analysis rather than investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill produces market analysis that could be mistaken for investment advice.\n\nMitigation: Treat rankings, scores, and diagnostics as technical-analysis inputs only, and require independent review before making trading decisions.\n\nRisk: The skill contacts public market-data services and may use a local TDX MCP connector when available.\n\nMitigation: Run it only in environments where those network calls and local connector access are expected and approved.\n\nRisk: Python pickle model files can execute code when loaded.\n\nMitigation: Use only bundled or otherwise trusted model files, and avoid loading arbitrary external .pkl files.\n\n## Reference(s):\n\n- [Pattern Rules](references/pattern_rules.md)\n- [Scoring Rules](references/scoring_rules.md)\n- [Test Cases](references/test_cases.md)\n- [V2 Backtest and ML Model Evaluation Report](references/v2_backtest_report.md)\n- [Daily Top Portfolio Backtest Report](references/v2_portfolio_report.md)\n- [ClawHub Skill Page](https://clawhub.ai/xiyanjun/skills/hectorlee-volume-price-screener)\n- [Publisher Profile](https://clawhub.ai/user/xiyanjun)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and terminal-oriented text with optional JSON report or cache files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May emit ranked stock lists, score breakdowns, position diagnostics, intraday monitoring summaries, signal tracking results, and local report/cache files.]\n\n## Skill Version(s):\n\n0.1.3 (source: server release metadata; artifact frontmatter describes internal screener version 3.7.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.3:_user_meta.json\n\n{\n  \"name\": \"hectorlee-volume-price-screener\",\n  \"installedAt\": 1785742906189,\n  \"source\": \"userImport\"\n}\n\nFile v0.1.3:manifest.yaml\n\nname: hectorlee-volume-price-screener\nslug: hectorlee-volume-price-screener\nversion: 3.7.0\ndescription: \"纯量价关系A股选股系统。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，135分制评分，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)\"\ncategory: finance\nauthor: hectorlee\nlicense: MIT-0\ntags:\n  - 选股\n  - 量价分析\n  - A股\n  - 技术分析\n  - 量化\n  - 盘中监控\ntriggers:\n  - 放量拉升\n  - 缩量调整\n  - 量价选股\n  - 量价形态\n  - 突破延续\n  - 蓄力突破\n  - 回踩确认\n  - 高位平台\n  - 底部反转\n  - 板块共振\n  - 盘中监控\ndependencies:\n  python:\n    - requests\n    - numpy\n  optional:\n    - scikit-learn\n    - pytest\nmcp_requirements:\n  - 通达信(tdx-connector): 科创板/北交所数据、周线/5分钟K线\nmin_python: \"3.9\"\n\nArchive v0.1.2: 34 files, 276778 bytes\n\nFiles: _user_meta.json (105b), manifest.yaml (814b), models/ml_model_small.pkl (262376b), models/ml_model_v2.pkl (401534b), references/pattern_rules.md (4091b), references/scoring_rules.md (2862b), references/test_cases.md (3669b), references/v2_backtest_report.md (4750b), references/v2_portfolio_report.md (4360b), scripts/__init__.py (40b), scripts/adaptive.py (3400b), scripts/backtest.py (14850b), scripts/colors.py (421b), scripts/data_provider.py (12508b), scripts/intraday_tencent.py (11454b), scripts/intraday.py (10736b), scripts/mcp_utils.py (5556b), scripts/ml_model.py (8146b), scripts/pattern_detect.py (37434b), scripts/portfolio_backtest.py (16853b), scripts/position_diagnosis.py (13103b), scripts/risk_filter.py (7337b), scripts/scoring.py (19142b), scripts/screener.py (18666b), scripts/signal_history.py (4551b), scripts/signal_tracker.py (11249b), scripts/tdx_data_provider.py (2744b), skill-card.md (2894b), SKILL.md (8117b), tests/conftest.py (3232b), tests/test_pattern_detect.py (14333b), tests/test_risk_scoring.py (13275b), tests/test_v2_modules.py (9705b), _meta.json (150b)\n\nFile v0.1.2:SKILL.md\n\n---\nname: hectorlee-volume-price-screener\nversion: 3.5.1\ndescription: 纯量价关系A股选股系统 V3.5。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，135分制评分，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。\nagent_created: true\ndisable: false\n---\n\n# 纯量价选股系统 V3.5\n\n## 概述\n\n**6 种量价形态 + 多因子融合 + 多周期确认 + 行业共振 + 关注池曝光度追踪**，纯量价、零基本面依赖。覆盖 A 股 5,191 只（沪主板+深主板+创业板+科创板），含 7×全日定时扫描。\n\n### 六种形态\n\n| 变体 | 标签 | 强度 | 描述 |\n|:----:|:-----|:----:|:-----|\n| D | 🔥 突破延续 | ★★★★★ | 放量后持续上涨≥5%，拒绝回调，不强制缩量 |\n| E | 💜 蓄力突破 | ★★★★★ | 放量前连续≥5日阳线蓄力，标准缩量整理 |\n| C | ✅ 回踩确认 | ★★★★☆ | 缩量回踩放量日高点不破，反弹站稳 |\n| B | 📈 高位平台 | ★★★☆☆ | 缩量后价格在放量日区间上方窄幅运行 |\n| A | 📦 标准横盘 | ★★☆☆☆ | 缩量后价格在放量日区间内横盘（原有） |\n| R | 🔄 底部反转 | ★★★★★ | 暴跌>15%+地量+首阳放量≥2倍，独立形态 |\n\n### 板块差异化阈值\n\n| 板块 | 涨幅阈值 | 量比下限 | 数据源 |\n|:-----|:-------:|:-------:|:-----|\n| 主板大票(>100万手) | 3% | 2.0 | 腾讯 |\n| 主板中票(>30万手) | 4% | 1.8 | 腾讯 |\n| 主板小票 | 5% | 1.5 | 腾讯 |\n| 创业板(300/301) | 6% | 2.0 | 腾讯 |\n| 科创板(688) | 4% | 2.0 | 通达信 |\n| 北交所(4/8/920) | 5% | 3.0 | 通达信 |\n\n### 系统版本演进\n\n| 版本 | 核心变化 |\n|:-----|:---------|\n| V1.0 | 基准：放量→缩量→横盘 三阶段 |\n| V3.0 | 阶段3 扩展为 D/C/B/A 四种变体 |\n| V3.1 | 连阳蓄力、前高突破、板块共振三大增强 |\n| V3.2 | 市值分档降阈值、一字板过滤器修复 |\n| V3.3 | 科创板 TDX 数据源接入、北交所阈值配置 |\n| V3.4 | 创业板 8%→6%、末日晚信号延展、盘中监控模块 |\n| V3.5 | 变体E蓄力突破、多因子融合、多周期确认、行业精确分类、关注池曝光度、7×定时扫描 |\n\n---\n\n## 使用场景\n\n- **全市场扫描**：收盘后扫描全 A 股，输出 Top50 + 板块分析 + 操作建议\n- **盘中监控**：7 个时点（09:00/10:00/11:00/11:35/13:30/14:45/15:05）自动扫描\n- **单股诊断**：给定代码，判断形态 + 评分明细\n- **持仓诊断**：输入持仓文件，批量诊断每只票的形态和风险\n- **信号追踪**：对比两日信号，追踪 NEW/GONE/UPGRADE/DOWNGRADE\n\n## 快速开始\n\n```bash\ncd <skill_dir>/scripts\n\n# 全市场扫描\npython screener.py --all --top 30 --detail\n\n# 盘中监控（今日放量突破）\npython intraday.py --today --top 20\n\n# 单股诊断\npython screener.py 600406 --detail\n\n# 持仓诊断\npython position_diagnosis.py positions.json --detail\n\n# 信号追踪\npython signal_tracker.py --today data/signals_20260803.json\n\n# 参数覆盖 / 北交所\npython screener.py --all --params '{\"vol_ratio_min\":2.0}' --include-bj\n```\n\n---\n\n## 评分体系（135 分制）\n\n| 模块 | 分值 | 核心因子 |\n|:-----|:----:|:---------|\n| 放量质量 | 30 | 放量倍数 + 拉升幅度 + 60日新高 |\n| 缩量质量 | 20 | 缩量深度 + 缩量天数 |\n| 变体质量 | 25 | 变体感知：振幅/位置/回调/精准度/延续性 |\n| 趋势量能 | 15 | 60日新高 + MA10/MA20支撑 + 量能多头 |\n| 加分信号 | 15 | 3日量价齐升 + 3日量缩价跌 + 连阳蓄力 |\n| 多因子融合 | 20 | 市值流动性 + 波动率(ATR) + 趋势强度 |\n| 关注池曝光度 | 5 | 近50日历史命中次数（≥8次→+5, ≥3→+3） |\n| 多周期确认 | -5~+10 | 周线MACD金叉/MA10验证 |\n\n**分层**：≥100 强势形态 | 75~99 标准形态 | <75 关注形态\n**权重校准**：A/B 变体质量×0.85，R 放量质量×1.15（回测验证）\n\n---\n\n## 盘中监控模式（intraday.py）\n\n| 时点 | 名称 | 行为 |\n|:---:|:-----|:-----|\n| 09:00 | 盘前扫描 | 昨日信号 Top15 + 今日关注提示 |\n| 10:00 | 盘中监控 | 开盘30分钟盘中放量突破检测 |\n| 11:00 | 二次确认 | 昨日 Top5 盘中验证（持有/减仓） |\n| 11:35 | 午间小结 | 上午最强板块 + 异动 + 下午建议 |\n| 13:30 | 午后监控 | 午后新放量信号 + 上午强势延续性 |\n| 14:45 | 尾盘突击 | 尾盘放量突破 + 跳水预警 + 明日方向 |\n| 15:05 | 收盘全量 | 全扫描 + 板块分析 + 操作建议 |\n\n### 防污染设计\n- 盘中 6 次扫描写入 `intraday_log`，**不干扰关注池曝光度**\n- 仅 15:05 收盘扫描写入 `signals_YYYYMMDD.json`\n- 曝光度读取同日去重（同一天同一股票只计 1 次）\n\n---\n\n## 风险硬过滤（7 项）\n\n| 规则 | 判定 | 优先级 |\n|:-----|:-----|:------:|\n| ST/*ST | 名称含 ST | 最高 |\n| 退市风险 | 财务信号（akshare，未安装降级） | 最高 |\n| 次新股 | K线不足 60 根（北交所 90 根） | 高 |\n| 一字板 | high==low 且涨停且无量比（≥2.0 放行） | 高 |\n| 连板股 | 放量日前连续 ≥2 日涨停 | 高 |\n| 跌势反弹 | 放量日前 10 日累计跌幅 < -10% | 高 |\n| 换手率 | 放量日换手 < 3%（仅当日启用） | 中 |\n\n---\n\n## 数据源\n\n| 数据 | 来源 | 说明 |\n|:-----|:-----|:-----|\n| 全市场列表 | 东财 `push2.eastmoney.com` → 腾讯 → TDX 补充 | ~5191 只 |\n| 日 K 线 | 腾讯 `ifzq.gtimg.cn` + TDX fallback | 90 根，前复权 |\n| 实时行情 | 腾讯 `qt.gtimg.cn` | 换手率/名称/ST |\n| 5 分钟 K 线 | 通达信 MCP `period=\"0\"` | 盘中监控 |\n| 周线 K 线 | 通达信 MCP `period=\"5\"` | 多周期确认 |\n\n---\n\n## 资源文件\n\n### scripts/\n| 文件 | 说明 |\n|:-----|:-----|\n| `screener.py` | 主入口：全市场/单股/搜索/参数覆盖/自适应/ML，V3.5 含行业精确共振 |\n| `pattern_detect.py` | 形态识别引擎（6种形态 + 多周期周线确认） |\n| `scoring.py` | 135分制评分引擎（变体感知+多因子+曝光度+权重校准） |\n| `risk_filter.py` | 风险硬过滤（7 项规则） |\n| `data_provider.py` | 数据管道（腾讯+东财+TDX fallback，12并发） |\n| `tdx_data_provider.py` | TDX 适配器（共享 McpClient） |\n| `intraday.py` | 盘中监控（5分钟K线实时放量检测） |\n| `position_diagnosis.py` | 持仓诊断（批量形态+评分+风控+建议） |\n| `signal_tracker.py` | 信号追踪（NEW/GONE/UPGRADE/DOWNGRADE） |\n| `signal_history.py` | 曝光度统计（近50日关注池上榜次数） |\n| `colors.py` | 统一 ANSI 颜色常量 |\n| `mcp_utils.py` | 共享 MCP 客户端（握手+SSE解析+工具调用） |\n| `backtest.py` | 历史回测引擎 |\n| `adaptive.py` | 参数自适应 |\n| `ml_model.py` | ML 概率模型 |\n| `portfolio_backtest.py` | 每日精选组合回测 |\n\n### tests/（59 个用例）\n| 文件 | 说明 |\n|:-----|:-----|\n| `conftest.py` | 合成 K 线生成器 |\n| `test_pattern_detect.py` | 形态识别（含 V3.5 变体E） |\n| `test_risk_scoring.py` | 风险过滤 + 评分（含多因子/多周期/曝光度） |\n| `test_v2_modules.py` | 回测/ML/自适应测试 |\n\n---\n\n## 分享\n\n```bash\ncd ~/.workbuddy/skills\ntar -czf volume-price-screener.tar.gz volume-price-screener/\n# 对方: tar -xzf volume-price-screener.tar.gz -C ~/.workbuddy/skills/\n```\n\n依赖：`pip install requests numpy`（可选：`scikit-learn pytest`）\n\n---\n\n## 注意事项\n\n- 颜色约定：涨=红、跌=绿（A 股惯例）\n- 纯量价信号，不构成投资建议；高评分≠必涨\n- 全市场扫描约 2~5 分钟（5191 只 × 90 根 K 线，12 并发）\n- TDX 适配器需 WorkBuddy MCP 代理（`127.0.0.1:57400`），否则科创/北交所自动跳过\n- 定时扫描每工作日 7 次自动执行，结果写入 `data/intraday_log_*.txt` 和 `data/signals_*.json`\n\nFile v0.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn71y975j1zr9hcafzd1ybgs898br0jt\",\n  \"slug\": \"hectorlee-volume-price-screener\",\n  \"version\": \"0.1.2\",\n  \"publishedAt\": 1785916859674\n}\n\nFile v0.1.2:references/pattern_rules.md\n\n# 形态规则详解 V3.0（pattern_rules.md）\n\n## V3.0 新增：阶段3 四种形态变体\n\n阶段1（放量拉升）和阶段2（缩量计算）为所有变体共享。阶段3 按优先级 D>C>B>A 判定：\n\n| 变体 | 标签 | 缩量要求 | 核心条件 |\n|:-----|:-----|:--------:|:---------|\n| D | 突破延续 | 不强制 | 累计涨幅≥3%, ≥60%阳线, 未跌破开盘价, 振幅≤15% |\n| C | 回踩确认 | ≥2日 | 振幅≤10%, 至少1日low≤anchor.high×1.02, 之后close>anchor.high |\n| B | 高位平台 | ≥2日 | 振幅≤10%, ≥60%日close>anchor.high, 均价>anchor.high |\n| A | 标准横盘 | ≥2日 | 振幅≤10%, ≥60%日close∈[anchor.low, anchor.high] |\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n| 参数 | 默认值 | 说明 |\n|:-----|:------:|:-----|\n| `window` | 20 | 形态检测窗口（交易日） |\n| `vol_ma_n` | 20 | 均量周期（量比分母） |\n| `rise_pct_main` | 5.0 | 主板放量涨幅阈值(%) |\n| `rise_pct_gem` | 8.0 | 创业板/科创板放量涨幅阈值(%) |\n| `vol_ratio_min` | 1.5 | 放量倍数下限 |\n| `vol_ratio_opt` | 2.0 | 放量倍数\"更优\"线（评分参考） |\n| `shrink_min_days` | 2 | 最小连续缩量天数 |\n| `amp_max` | 10.0 | 横盘最大振幅(%) |\n| `range_ratio_min` | 0.6 | 收盘价落在锚点高低点区间内的占比下限 |\n| `shrink_days_best` | (4, 6) | 缩量天数最优区间（评分用） |\n| `shrink_depth_best` | 0.5 | 缩量深度最优线（评分用） |\n| `pullback_best` | 0.5 | 回调深度最优线（评分用） |\n| `trend_check_days` | 10 | 跌势检查天数 |\n| `trend_drop_pct` | -10.0 | 跌势阈值(%) |\n| `limit_pct_main` | 9.8 | 主板涨停阈值(%) |\n| `limit_pct_gem` | 19.8 | 创业板/科创板涨停阈值(%) |\n| `ma_n1` | 10 | 支撑均线 1 |\n| `ma_n2` | 20 | 支撑均线 2 |\n| `vol_ma_short` | 5 | 量能短均线 |\n| `vol_ma_long` | 10 | 量能长均线 |\n\n## 板块判定\n\n| 板块 | 代码前缀 | 涨幅阈值 | 涨停阈值 |\n|:-----|:---------|:--------:|:--------:|\n| 主板 | 60x / 000 / 001 / 002 / 003 | 5% | 9.8% |\n| 创业板 | 300 / 301 | 8% | 19.8% |\n| 科创板 | 688 | 8% | 19.8% |\n| 北交所 | 4x / 8x / 920 | 5% | 29.8%（默认不扫描） |\n\n## 四阶段判定细节\n\n### 阶段1：定位放量拉升日\n- 遍历最近 `window` 根 K 线\n- 涨幅 = (当日收盘 - 前日收盘) / 前日收盘 × 100%\n- 量比 = 当日量 / 前20日均量（不含当日）\n- 同时满足 `涨幅 ≥ 阈值(板块)` 且 `量比 ≥ 1.5` → 候选放量日\n- 多个候选 → 取**最近**（索引最大）为锚点\n- 浮点容差 1e-9（边界值如恰好 5.0% 算命中）\n\n### 阶段2：缩量确认\n- 锚点日之后逐日扫描，统计最长连续缩量段（量 < 锚点日量）\n- 最长段 ≥ 2 日 → 通过\n- `shrink_days` = 最长段长度；`shrink_depth` = 该段均量 / 锚点日量\n\n### 阶段3：横盘确认\n- 锚点日后**所有**交易日（至窗口末）\n- 振幅 = (最高 - 最低) / 最低 × 100% ≤ 10%\n- 收盘价落在锚点日 [low, high] 区间内的占比 ≥ 60%\n- 两条件同时满足 → 通过\n\n### 阶段4：加分信号\n- 窗口内任意连续 3 日：量递增且价递增 → 量价齐升 ✓\n- 窗口内任意连续 3 日：量递减且价递减 → 量缩价跌 ✓\n\n## 输出字段\n\n| 字段 | 说明 |\n|:-----|:-----|\n| `anchor_idx` | 放量日在 bars 中的索引 |\n| `surge_pct` | 放量日涨幅(%) |\n| `volume_ratio` | 量比 |\n| `shrink_days` | 最长连续缩量天数 |\n| `shrink_depth` | 缩量深度（0~1） |\n| `amplitude` | 横盘期振幅(%) |\n| `range_ratio` | 收盘价区间占比 |\n| `range_position` | upper / mid / lower |\n| `pullback_ratio` | 回调深度（相对拉升幅度） |\n| `low_point_rise` | 低点是否抬高 |\n| `conc_rise_3d` | 连续3日量价齐升 |\n| `conc_fall_3d` | 连续3日量缩价跌 |\n| `breakout_60d` | 放量日创60日新高 |\n| `ma_support` | 站稳 MA10 且 MA20 |\n| `vol_ma_bull` | 5日均量 > 10日均量 |\n| `divergence_warning` | 放量滞涨背离预警 |\n\nFile v0.1.2:references/scoring_rules.md\n\n# 评分细则（scoring_rules.md）\n\n## 评分总览（100 分制）\n\n```\n放量质量(30) + 缩量质量(20) + 横盘质量(25) + 趋势量能(15) + 加分信号(10) = 100\n```\n\n## 一、放量质量（30 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 放量倍数 | 1.5 ≤ 量比 < 2 | 8 |\n| | 2 ≤ 量比 < 3 | 12 |\n| | 量比 ≥ 3 | 15 |\n| 拉升幅度 | 达标线 | 5 |\n| | 每超 1 个百分点 | +2 |\n| | 上限 | 10 |\n| 60 日新高 | 放量日 high 创前 60 日新高 | +5 |\n\n> 拉升幅度示例（主板）：涨幅 5% → 5 分；7% → 9 分；≥7.5% → 10 分封顶\n\n## 二、缩量质量（20 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 缩量深度 | < 30% | 10 |\n| | 30%~50% | 8 |\n| | 50%~70% | 5 |\n| | > 70% | 3 |\n| 缩量天数 | 2~3 天 | 3 |\n| | 4~6 天 | 5 |\n| | 7~8 天 | 4 |\n| | 其他 | 0 |\n\n> 缩量深度 = 缩量段均量 / 放量日量。缩得越深，说明抛压越轻、筹码锁定越好。\n\n## 三、横盘质量（25 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 振幅 | ≤ 5% | 10 |\n| | 5%~10% | 7 |\n| 横盘位置 | 主体在上半部（收盘均值 ≥ 锚点K线中点） | 8 |\n| | 中部 | 5 |\n| | 下半部 | 3 |\n| 回调深度 | 回撤 ≤ 1/2 拉升幅度 | 5 |\n| | 1/2 ~ 2/3 | 2 |\n| | > 2/3 | 0 |\n| 低点抬高 | 后半段最低 > 前半段最低 | +2 |\n\n> 回调深度 = (放量日收盘 - 横盘期最低) / (放量日收盘 - 前日收盘)。回调越浅越强势。\n\n## 四、趋势与量能（15 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 平台突破 | 放量日创 60 日新高 | +8 |\n| 均线支撑 | 最新收盘 > MA10 且 > MA20 | +4 |\n| 量能均线多头 | 5 日均量 > 10 日均量 | +3 |\n\n## 五、加分信号（10 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 量价齐升 | 窗口内连续 3 日量升价升 | +5 |\n| 量缩价跌 | 窗口内连续 3 日量缩价跌 | +5 |\n\n## 分层与预警\n\n| 总分 | 分层 | 建议 |\n|:----:|:-----|:-----|\n| ≥ 80 | 强势形态 | 形态质量高，优先关注 |\n| 60~79 | 标准形态 | 形态成立，需结合其他维度 |\n| < 60 | 关注形态 | 边缘命中，谨慎对待 |\n\n**背离预警**（不扣分，独立标记）：\n- 横盘期出现：成交量 > 前5日均量 × 1.5 且当日涨幅 < 1% → 放量滞涨\n- 含义：横盘末端放量却拉不动价格，主力可能借横盘出货 → 排序自动降级\n\n## 评分示例\n\n标准命中（茅台 2026-07 实测）：\n```\n放量质量 17.0/30（量比2.3→12 + 拉升7%→5 + 新高✗→0）\n缩量质量  5.0/20（深度51%→5 + 天数9→0）\n横盘质量 17.0/25（振幅6.4%→7 + 位置upper→8 + 回调→2 + 低点✗→0）\n趋势量能  4.0/15（新高✗ + 均线✓→4 + 量能✗）\n加分信号 10.0/10（齐升✓ + 缩跌✓）\n总分 53.0 → 关注形态 + 背离预警\n```\n\nFile v0.1.2:references/test_cases.md\n\n# 测试用例库（test_cases.md）\n\n## 单元测试（pytest，31 用例，全部通过）\n\n### 形态识别（tests/test_pattern_detect.py，15 用例）\n\n| 用例 | 场景构造 | 预期 |\n|:-----|:---------|:-----|\n| test_standard_hit | 第45日放量+7%量比2.2，后14日缩量横盘 | 命中，锚点45 |\n| test_insufficient_volume | 涨幅5%达标但量比1.2 | 不命中 |\n| test_insufficient_surge | 量比2.5但涨幅3% | 不命中 |\n| test_insufficient_shrink | 放量后仅1日缩量 | 不命中 |\n| test_excessive_amplitude | 横盘期制造15%振幅K线 | 不命中 |\n| test_gem_threshold | 涨幅7%创业板(<8%) | 不命中；同条件主板命中 |\n| test_gem_threshold_boundary | 科创板恰好8% | 命中 |\n| test_boundary_values | 恰好5%涨幅+1.5量比 | 命中（含等号） |\n| test_multiple_anchors | 窗口内2根放量日 | 取最近锚点(50) |\n| test_insufficient_data | 仅20根K线 | 不命中 |\n| test_is_gem | 板块判定 | 300/301/688=True |\n| test_rise_threshold | 板块涨幅阈值 | 主板5/创科8 |\n| test_consecutive_signals | 窗口内构造3日量价齐升 | conc_rise_3d=True |\n| test_divergence_warning | 横盘期放量滞涨 | 背离预警=True |\n| test_low_point_rise | 后半段低点抬高 | low_point_rise=True |\n\n### 风险过滤 + 评分（tests/test_risk_scoring.py，16 用例）\n\n| 用例 | 场景 | 预期 |\n|:-----|:-----|:-----|\n| test_st_name_detection | ST/*ST 名称 | 识别正确 |\n| test_check_st | ST华业 / 贵州茅台 | 排除 / 放行 |\n| test_new_stock | 30根K vs 90根K | 剔除 / 放行 |\n| test_one_word_limit | 放量日一字涨停 | 剔除 |\n| test_not_one_word_limit | 正常放量日 | 放行 |\n| test_consecutive_limit | 放量日前2日涨停 | 剔除（连板） |\n| test_not_consecutive_limit | 正常走势 | 放行 |\n| test_downtrend_rebound | 前10日-15%趋势 | 剔除（跌势反弹） |\n| test_not_downtrend | 温和上涨 | 放行 |\n| test_turnover | 2% / 5% / None | 剔除 / 放行 / 跳过 |\n| test_comprehensive_st | 综合过滤含ST | 剔除 |\n| test_comprehensive_turnover_skip | 无换手数据 | 放行+跳过标记 |\n| test_comprehensive_pass | 全通过 | 放行 |\n| test_score_standard | 标准命中评分 | 0<总分≤100 |\n| test_score_components_bounds | 极端高分场景 | 各模块不超上限 |\n| test_score_levels | 高质量 vs 低质量 | 高低分层正确 |\n\n## 合成 K 线生成器（conftest.py）\n\n`build_kline()` 参数化构造可复现的合成行情：\n\n| 参数 | 默认 | 说明 |\n|:-----|:----:|:-----|\n| n | 60 | 总 K 线数 |\n| anchor | 45 | 放量日索引 |\n| surge_pct | 7.0 | 放量日涨幅(%) |\n| vol_ratio | 2.2 | 量比 |\n| post_days | auto | 横盘天数 |\n| post_vol_ratio | 0.4 | 横盘量/放量日量 |\n| post_amp | 0.005 | 横盘波动幅度 |\n| trend | 0.005 | 放量前日涨幅 |\n| base_vol | 1000 | 基础量 |\n| base_price | 10.0 | 起始价 |\n\n## 历史回测（设计方案 6.2 节，待实施）\n\n- 区间：近 3 年逐日滚动全市场扫描\n- 指标：命中率、命中后 5/10/20 日收益率 vs 沪深300、胜率、盈亏比\n- 对照组：随机股票池同窗口收益 → 超额收益显著性检验\n- 输出：命中分布 + 收益直方图 + 分位数报告\n\n## 实盘金丝雀（设计方案 6.3 节，待实施）\n\n- 连续 4 周每日实盘扫描，只输出不交易\n- 与人工复盘对比确认逻辑一致\n- 收集命中后 20 日走势，校准胜率\n\n## 性能基准（设计方案 6.4 节）\n\n| 场景 | 基准 | 实测 |\n|:-----|:----:|:-----|\n| 全市场4591只拉K线(90根,12并发) | < 3 分钟 | ~2 分钟 |\n| 形态检测单只 | < 1ms | < 1ms |\n| 单股诊断 | < 5s | ~0.5s |\n\nFile v0.1.2:references/v2_backtest_report.md\n\n# V2 回测与 ML 模型评估报告\n\n- 日期：2026-07-31\n- 数据：近 3 年（750 交易日）全市场 4591 只 A 股 + 沪深300 基准\n- 命中样本：103,758 条（滚动扫描，无未来函数：每交易日 t 用截至 t 的 K 线检测，收益用 t 之后 K 线）\n\n## 1. 形态超额收益（vs 沪深300）\n\n| 周期 | 样本 | 平均收益 | 基准 | 超额α | 胜率 | 盈亏比 | 跑赢率 |\n|:----:|:----:|:-------:|:----:|:-----:|:----:|:------:|:------:|\n| 5日 | 103758 | +0.35% | +0.18% | **+0.16%** | 47.0% | 1.31 | 46.0% |\n| 10日 | 103758 | +0.65% | +0.38% | **+0.26%** | 47.4% | 1.35 | 45.8% |\n| 20日 | 103758 | +0.72% | +0.56% | **+0.15%** | 45.6% | 1.38 | 43.8% |\n\n**结论**：形态相对沪深300 存在稳定但温和的正超额收益（α ≈ +0.15~+0.26%/周期），盈亏比 >1.3。形态有效，但并非暴利信号——是\"胜率 45% + 盈亏比 1.35\"的赔率结构。\n\n## 2. 随机对照（vs 全市场等权）\n\n| 指标 | 命中股 | 随机股 | 差异 |\n|:-----|:------:|:------:|:----:|\n| 20日平均收益 | +0.72% | +1.25% | -0.53% |\n| 正收益占比 | 45.6% | 48.3% | -2.7pp |\n\n**结论**：形态相对全市场等权随机池**无超额**。原因分析：沪深300 为大盘蓝筹加权，而随机池包含大量小盘股（近3年小盘占优）。**形态的 α 更多来自\"命中股多为中小市值弹性股\"的暴露，而非形态本身独立于市场的选股力**。这一点必须在实盘使用中警惕——形态必须配合市场环境（中小盘风格期）使用。\n\n## 3. ML 概率模型评估\n\n### 3.1 模型与切分\n- 模型：GradientBoostingClassifier（300 树，max_depth=3，lr=0.05）\n- 切分：时间序列 70/30（前 70% 训练，后 30% 验证，**无未来函数**）\n- 特征：14 个纯量价特征（surge/vol_ratio/shrink_days/shrink_depth/amplitude/position/pullback/low_rise/breakout/ma/vol_ma/conc_rise/conc_fall/score）\n\n### 3.2 整体指标\n- 验证集：31,128 样本，基线涨率 42.9%\n- 准确率：**54.8%**（+11.9pp vs 基线）\n- 标签（跑赢沪深300）准确率 57.7%（基线 43.8%）\n\n### 3.3 概率分层单调性（验证集，关键验证）\n\n| 分位 | 样本 | 平均20日 | 正收益比 |\n|:----:|:----:|:--------:|:--------:|\n| P0-20（最低概率） | 6226 | -0.77% | 43.2% |\n| P20-40 | 6225 | -0.84% | 42.5% |\n| P40-60 | 6221 | -0.81% | 41.6% |\n| P60-80 | 6229 | -0.61% | 41.7% |\n| **P80-100（最高概率）** | 6227 | **+0.26%** | **45.4%** |\n\n**结论**：概率分层呈现单调性——最高概率分位（P80-100）20 日平均收益 +0.26%、正收益比 45.4%，显著优于最低分位（-0.77%/43.2%），**收益差约 1.0pp**。ML 概率可用于**排序增强**（高概率优先），但不宜做硬过滤（无显著分位阈值断点）。\n\n### 3.4 特征重要性\n\n| 特征 | 重要性 | 含义 |\n|:-----|:------:|:-----|\n| surge_pct | 0.325 | 放量日涨幅（最主导） |\n| volume_ratio | 0.274 | 放量倍数 |\n| pullback_ratio | 0.143 | 回调深度 |\n| shrink_depth | 0.105 | 缩量深度 |\n| amplitude | 0.069 | 横盘振幅 |\n| score | 0.021 | 综合评分 |\n\n**洞察**：拉升强度（涨幅+量比）占特征重要性 60%，说明\"放得越猛\"的形态后续概率越高——与直觉一致（强资金介入）。\n\n## 4. 工程改进记录\n\n| 项 | 改进 | 效果 |\n|:---|:-----|:-----|\n| 回测扫描 | 复用 Bar 列表 + 只传最近90根 | 301s → 33s（9倍提速） |\n| K线缓存 | pickle 本地缓存 | 重复回测免拉数据（42s→0s） |\n| 随机对照 | 修复空范围崩溃 + 尝试上限 | 稳定运行 |\n| ML后端 | 实测 fit/predict 探测（macOS libomp 缺失自动降级 sklearn） | xgboost 失败不中断 |\n| 自适应参数 | 沪深300 波动率 → 动态阈值 | 低迷市场自动收紧振幅/放宽量比 |\n\n## 5. 实盘使用建议\n\n1. **形态定位**：作为\"赔率型\"信号使用——盈亏比 1.35，需严格止损纪律，不可单凭形态重仓\n2. **市场环境**：形态 α 依赖中小盘风格期，大盘蓝筹主导行情时命中意义减弱\n3. **ML 用法**：用 `--model models/ml_model_v2.pkl` 开启概率排序，优先关注 P80 以上分位（20日收益差约1pp）\n4. **参数自适应**：`--adaptive` 开启市场波动率调节，牛熊市阈值自适应\n5. **背离预警**：横盘期放量滞涨标记\"出货嫌疑\"，排序自动降级\n\n## 6. 已知局限与 V3 方向\n\n- 单标的滚动收益含重叠样本（同一形态多日被计），统计独立性打折\n- 未考虑交易成本/滑点（α 0.15% 需验证能否覆盖摩擦）\n- 未按市值/行业分层（α 归因待细化）\n- V3：按市值分层回测、剔除重叠样本、加入成本模型、特征工程扩展（板块效应/资金流）\n\nFile v0.1.2:references/v2_portfolio_report.md\n\n# 每日 Top-千分之一 组合回测报告\n\n- 日期：2026-07-31\n- 方法：`portfolio_backtest.py --walk-forward`（前推验证，无未来函数）\n- 数据：全市场 4591 只，3 年样本 103,758 条命中记录；训练期 2023-09~2025-09（459 天），**验证期 2025-09-08~2026-07-03（196 交易日）**\n\n## 1. 回测规则\n\n1. 每个交易日：从当日命中池按排序指标降序，取前 `top_k` 只（千分之一 ≈ 5 只；也可 `--top-k 1` 只选最强）\n2. 冷却期：同一股票 20 个交易日内不重复入选（避免重叠持仓）\n3. 收益评估（两层）：\n   - **逐日统计**：当日所选股票等权平均的 fwd5/10/20 收益（复用样本 fwd 字段）\n   - **净值模拟**：真实 K 线收盘价买入，持有 20 个交易日卖出，每日等权再平衡，可扣交易成本\n\n## 2. 核心结果（验证期，无泄漏）\n\n### 2.1 三种排序对比（每日 5 只，fwd20 逐日统计）\n\n| 排序 | 日均收益 | 胜率 | 盈亏比 | 超额α(vs沪深300) |\n|:-----|:-------:|:----:|:------:|:---------------:|\n| **评分排序** | **+0.63%** | 50.5% | 1.14 | **+0.23%** |\n| ML概率 | -0.15% | 49.5% | 0.97 | -0.55% |\n| 随机对照 | -1.16% | 44.4% | 0.88 | -1.56% |\n\n**关键结论**：\n- **评分排序（规则化的 100 分制）> 随机 > ML 概率**\n- ML 模型在样本内亮眼（+2.38%），但前推验证下失效（-0.15%）——**过拟合实锤**，当前版本不可用于实盘\n- 随机对照大幅跑输（-1.16%），证明\"形态识别 + 评分排序\"本身有真实选股力（相对随机 +1.79pp）\n\n### 2.2 净值模拟（真实价格，每日 5 只）\n\n| 排序 | 累计收益 | 年化 | 最大回撤 | 超额(vs 沪深300 +8.38%) |\n|:-----|:-------:|:----:|:-------:|:------------------------:|\n| **评分排序** | **+20.11%** | **+25.62%** | 13.26% | **+11.73pp** |\n| ML概率 | +8.11% | +10.19% | 13.03% | -0.28pp |\n| 随机 | -6.39% | -7.90% | 19.06% | -14.78pp |\n\n### 2.3 top_k 敏感性（评分排序，净值口径）\n\n| 每日选股数 | 占全市场 | 累计 | 年化 | 最大回撤 | 超额 |\n|:---------:|:-------:|:----:|:----:|:-------:|:----:|\n| **1** | 0.02% | **+24.25%** | **+31.04%** | **11.10%** | **+15.87pp** |\n| 3 | 0.07% | +10.80% | +13.62% | 12.05% | +2.42pp |\n| 5 | 0.11% | +20.11% | +25.62% | 13.26% | +11.73pp |\n| 10 | 0.22% | +11.87% | +14.99% | 14.04% | +3.49pp |\n| 20 | 0.44% | +9.91% | +12.48% | 13.31% | +1.53pp |\n\n**洞察：选得越精越好**——每日只取评分最高 1 只（前 0.02%）效果最佳（年化 31%，超额 +15.9pp，回撤最小）。千分之一（5 只）为次优，兼顾分散与收益。\n\n### 2.4 交易成本敏感性（评分排序）\n\n| 单边成本 | 每日5只年化 | 每日5只超额 | 每日1只年化 | 每日1只超额 |\n|:-------:|:---------:|:----------:|:----------:|:----------:|\n| 0.0% | +25.62% | +11.73pp | +31.04% | +15.87pp |\n| 0.1% | +22.35% | +9.21pp | — | — |\n| 0.15% | — | — | **+25.95%** | **+11.98pp** |\n| 0.2% | +19.16% | +6.74pp | — | — |\n| 0.3% | +16.06% | +4.33pp | — | — |\n| 0.5% | +10.09% | -0.35pp | — | — |\n\n> A 股实际成本约单边 0.15%（佣金 0.03% + 印花税 0.1% + 滑点），**扣费后策略依然有效**（每日1只年化 26%，超额 +12pp）。\n\n## 3. 结论与实盘建议\n\n1. **策略有效且经过无泄漏验证**：每日选评分最高 1~5 只（前千分之一内），20 日持有滚动，扣真实成本后年化 25%+，超额沪深300 约 12~16pp\n2. **首选配置**：`--sort score --top-k 1`（最强、回撤最小）；若需分散则 `--top-k 5`\n3. **ML 模型当前不可用**（过拟合）；后续需特征扩展 + 滚动重训 + 更严格验证后才可启用\n4. **风险提示**：\n   - 验证期仅 196 天，且为单一市场环境（中小盘风格期），α 存在环境依赖\n   - 回撤 11~13% 需纪律性止损\n   - 形态 α 依赖中小盘风格，大盘蓝筹主导行情时效果会衰减\n   - 未含停牌/涨跌停不可成交等微观结构约束\n\n## 4. 复现命令\n\n```bash\npython portfolio_backtest.py --walk-forward --top-k 5 --nav\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15 --sort score\npython portfolio_backtest.py --all-sorts --top-k 5      # 全样本（有泄漏，仅参考）\n```\n\nFile v0.1.2:skill-card.md\n\n## Description:\n\nPure volume-price A-share screening system that detects six technical patterns, scores candidates with multi-factor and multi-period signals, tracks sector resonance and watchlist exposure, and supports scheduled intraday scans.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[xiyanjun](https://clawhub.ai/user/xiyanjun)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to run A-share technical screening, intraday monitoring, single-stock diagnostics, portfolio diagnostics, signal tracking, and backtesting based on volume-price patterns. Outputs should be treated as market analysis, not investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Market-screening and diagnostic outputs may be inaccurate or misleading if treated as investment advice.\n\nMitigation: Treat results as technical analysis only and review decisions with appropriate financial judgment before acting.\n\nRisk: The skill can read holdings files supplied by the user and write local cache, history, log, signal, and export files.\n\nMitigation: Provide only intended local files and review generated files before sharing them outside the local environment.\n\nRisk: The skill uses bundled pickle model files and may interact with local cache files.\n\nMitigation: Load pickle model or cache files only from this trusted package or files you created yourself.\n\nRisk: Some scans depend on public market-data endpoints and an optional local TDX MCP connector, so data availability can affect coverage and results.\n\nMitigation: Confirm data-source availability, especially for STAR Market and Beijing Stock Exchange coverage, before relying on scan completeness.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/xiyanjun/skills/hectorlee-volume-price-screener)\n- [Pattern rules](artifact/references/pattern_rules.md)\n- [Scoring rules](artifact/references/scoring_rules.md)\n- [Test cases](artifact/references/test_cases.md)\n- [V2 backtest report](artifact/references/v2_backtest_report.md)\n- [V2 portfolio report](artifact/references/v2_portfolio_report.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and terminal text with optional JSON export files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write local cache, history, intraday log, signal, and export files when the user runs the bundled scripts.]\n\n## Skill Version(s):\n\n0.1.2 (source: ClawHub release metadata; artifact frontmatter version: 3.5.1)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.2:_user_meta.json\n\n{\n  \"name\": \"hectorlee-volume-price-screener\",\n  \"installedAt\": 1785742906189,\n  \"source\": \"userImport\"\n}\n\nFile v0.1.2:manifest.yaml\n\nname: hectorlee-volume-price-screener\nversion: 3.5.1\ndescription: \"纯量价关系A股选股系统。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，135分制评分，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)\"\ncategory: finance\nauthor: hectorlee\ntags:\n  - 选股\n  - 量价分析\n  - A股\n  - 技术分析\n  - 量化\n  - 盘中监控\ntriggers:\n  - 放量拉升\n  - 缩量调整\n  - 量价选股\n  - 量价形态\n  - 突破延续\n  - 蓄力突破\n  - 回踩确认\n  - 高位平台\n  - 底部反转\n  - 板块共振\n  - 盘中监控\ndependencies:\n  python:\n    - requests\n    - numpy\n  optional:\n    - scikit-learn\n    - pytest\nmcp_requirements:\n  - 通达信(tdx-connector): 科创板/北交所数据、周线/5分钟K线\nmin_python: \"3.9\"\n\nArchive v0.1.1: 40 files, 277596 bytes\n\nFiles: _user_meta.json (105b), .clawhubignore (43b), .gitignore (293b), manifest.yaml (814b), models (0b), models/ml_model_small.pkl (262376b), models/ml_model_v2.pkl (401534b), references (0b), references/pattern_rules.md (4091b), references/scoring_rules.md (2862b), references/test_cases.md (3669b), references/v2_backtest_report.md (4750b), references/v2_portfolio_report.md (4360b), scripts (0b), scripts/__init__.py (40b), scripts/adaptive.py (3400b), scripts/backtest.py (14850b), scripts/colors.py (421b), scripts/data_provider.py (12508b), scripts/intraday_tencent.py (11454b), scripts/intraday.py (10736b), scripts/mcp_utils.py (5556b), scripts/ml_model.py (8146b), scripts/pattern_detect.py (37434b), scripts/portfolio_backtest.py (16853b), scripts/position_diagnosis.py (13103b), scripts/risk_filter.py (7337b), scripts/scoring.py (19142b), scripts/screener.py (18666b), scripts/signal_history.py (4551b), scripts/signal_tracker.py (11249b), scripts/tdx_data_provider.py (2744b), skill-card.md (2613b), SKILL.md (8117b), tests (0b), tests/conftest.py (3232b), tests/test_pattern_detect.py (14333b), tests/test_risk_scoring.py (13275b), tests/test_v2_modules.py (9705b), _meta.json (150b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: hectorlee-volume-price-screener\nversion: 3.5.1\ndescription: 纯量价关系A股选股系统 V3.5。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，135分制评分，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。\nagent_created: true\ndisable: false\n---\n\n# 纯量价选股系统 V3.5\n\n## 概述\n\n**6 种量价形态 + 多因子融合 + 多周期确认 + 行业共振 + 关注池曝光度追踪**，纯量价、零基本面依赖。覆盖 A 股 5,191 只（沪主板+深主板+创业板+科创板），含 7×全日定时扫描。\n\n### 六种形态\n\n| 变体 | 标签 | 强度 | 描述 |\n|:----:|:-----|:----:|:-----|\n| D | 🔥 突破延续 | ★★★★★ | 放量后持续上涨≥5%，拒绝回调，不强制缩量 |\n| E | 💜 蓄力突破 | ★★★★★ | 放量前连续≥5日阳线蓄力，标准缩量整理 |\n| C | ✅ 回踩确认 | ★★★★☆ | 缩量回踩放量日高点不破，反弹站稳 |\n| B | 📈 高位平台 | ★★★☆☆ | 缩量后价格在放量日区间上方窄幅运行 |\n| A | 📦 标准横盘 | ★★☆☆☆ | 缩量后价格在放量日区间内横盘（原有） |\n| R | 🔄 底部反转 | ★★★★★ | 暴跌>15%+地量+首阳放量≥2倍，独立形态 |\n\n### 板块差异化阈值\n\n| 板块 | 涨幅阈值 | 量比下限 | 数据源 |\n|:-----|:-------:|:-------:|:-----|\n| 主板大票(>100万手) | 3% | 2.0 | 腾讯 |\n| 主板中票(>30万手) | 4% | 1.8 | 腾讯 |\n| 主板小票 | 5% | 1.5 | 腾讯 |\n| 创业板(300/301) | 6% | 2.0 | 腾讯 |\n| 科创板(688) | 4% | 2.0 | 通达信 |\n| 北交所(4/8/920) | 5% | 3.0 | 通达信 |\n\n### 系统版本演进\n\n| 版本 | 核心变化 |\n|:-----|:---------|\n| V1.0 | 基准：放量→缩量→横盘 三阶段 |\n| V3.0 | 阶段3 扩展为 D/C/B/A 四种变体 |\n| V3.1 | 连阳蓄力、前高突破、板块共振三大增强 |\n| V3.2 | 市值分档降阈值、一字板过滤器修复 |\n| V3.3 | 科创板 TDX 数据源接入、北交所阈值配置 |\n| V3.4 | 创业板 8%→6%、末日晚信号延展、盘中监控模块 |\n| V3.5 | 变体E蓄力突破、多因子融合、多周期确认、行业精确分类、关注池曝光度、7×定时扫描 |\n\n---\n\n## 使用场景\n\n- **全市场扫描**：收盘后扫描全 A 股，输出 Top50 + 板块分析 + 操作建议\n- **盘中监控**：7 个时点（09:00/10:00/11:00/11:35/13:30/14:45/15:05）自动扫描\n- **单股诊断**：给定代码，判断形态 + 评分明细\n- **持仓诊断**：输入持仓文件，批量诊断每只票的形态和风险\n- **信号追踪**：对比两日信号，追踪 NEW/GONE/UPGRADE/DOWNGRADE\n\n## 快速开始\n\n```bash\ncd <skill_dir>/scripts\n\n# 全市场扫描\npython screener.py --all --top 30 --detail\n\n# 盘中监控（今日放量突破）\npython intraday.py --today --top 20\n\n# 单股诊断\npython screener.py 600406 --detail\n\n# 持仓诊断\npython position_diagnosis.py positions.json --detail\n\n# 信号追踪\npython signal_tracker.py --today data/signals_20260803.json\n\n# 参数覆盖 / 北交所\npython screener.py --all --params '{\"vol_ratio_min\":2.0}' --include-bj\n```\n\n---\n\n## 评分体系（135 分制）\n\n| 模块 | 分值 | 核心因子 |\n|:-----|:----:|:---------|\n| 放量质量 | 30 | 放量倍数 + 拉升幅度 + 60日新高 |\n| 缩量质量 | 20 | 缩量深度 + 缩量天数 |\n| 变体质量 | 25 | 变体感知：振幅/位置/回调/精准度/延续性 |\n| 趋势量能 | 15 | 60日新高 + MA10/MA20支撑 + 量能多头 |\n| 加分信号 | 15 | 3日量价齐升 + 3日量缩价跌 + 连阳蓄力 |\n| 多因子融合 | 20 | 市值流动性 + 波动率(ATR) + 趋势强度 |\n| 关注池曝光度 | 5 | 近50日历史命中次数（≥8次→+5, ≥3→+3） |\n| 多周期确认 | -5~+10 | 周线MACD金叉/MA10验证 |\n\n**分层**：≥100 强势形态 | 75~99 标准形态 | <75 关注形态\n**权重校准**：A/B 变体质量×0.85，R 放量质量×1.15（回测验证）\n\n---\n\n## 盘中监控模式（intraday.py）\n\n| 时点 | 名称 | 行为 |\n|:---:|:-----|:-----|\n| 09:00 | 盘前扫描 | 昨日信号 Top15 + 今日关注提示 |\n| 10:00 | 盘中监控 | 开盘30分钟盘中放量突破检测 |\n| 11:00 | 二次确认 | 昨日 Top5 盘中验证（持有/减仓） |\n| 11:35 | 午间小结 | 上午最强板块 + 异动 + 下午建议 |\n| 13:30 | 午后监控 | 午后新放量信号 + 上午强势延续性 |\n| 14:45 | 尾盘突击 | 尾盘放量突破 + 跳水预警 + 明日方向 |\n| 15:05 | 收盘全量 | 全扫描 + 板块分析 + 操作建议 |\n\n### 防污染设计\n- 盘中 6 次扫描写入 `intraday_log`，**不干扰关注池曝光度**\n- 仅 15:05 收盘扫描写入 `signals_YYYYMMDD.json`\n- 曝光度读取同日去重（同一天同一股票只计 1 次）\n\n---\n\n## 风险硬过滤（7 项）\n\n| 规则 | 判定 | 优先级 |\n|:-----|:-----|:------:|\n| ST/*ST | 名称含 ST | 最高 |\n| 退市风险 | 财务信号（akshare，未安装降级） | 最高 |\n| 次新股 | K线不足 60 根（北交所 90 根） | 高 |\n| 一字板 | high==low 且涨停且无量比（≥2.0 放行） | 高 |\n| 连板股 | 放量日前连续 ≥2 日涨停 | 高 |\n| 跌势反弹 | 放量日前 10 日累计跌幅 < -10% | 高 |\n| 换手率 | 放量日换手 < 3%（仅当日启用） | 中 |\n\n---\n\n## 数据源\n\n| 数据 | 来源 | 说明 |\n|:-----|:-----|:-----|\n| 全市场列表 | 东财 `push2.eastmoney.com` → 腾讯 → TDX 补充 | ~5191 只 |\n| 日 K 线 | 腾讯 `ifzq.gtimg.cn` + TDX fallback | 90 根，前复权 |\n| 实时行情 | 腾讯 `qt.gtimg.cn` | 换手率/名称/ST |\n| 5 分钟 K 线 | 通达信 MCP `period=\"0\"` | 盘中监控 |\n| 周线 K 线 | 通达信 MCP `period=\"5\"` | 多周期确认 |\n\n---\n\n## 资源文件\n\n### scripts/\n| 文件 | 说明 |\n|:-----|:-----|\n| `screener.py` | 主入口：全市场/单股/搜索/参数覆盖/自适应/ML，V3.5 含行业精确共振 |\n| `pattern_detect.py` | 形态识别引擎（6种形态 + 多周期周线确认） |\n| `scoring.py` | 135分制评分引擎（变体感知+多因子+曝光度+权重校准） |\n| `risk_filter.py` | 风险硬过滤（7 项规则） |\n| `data_provider.py` | 数据管道（腾讯+东财+TDX fallback，12并发） |\n| `tdx_data_provider.py` | TDX 适配器（共享 McpClient） |\n| `intraday.py` | 盘中监控（5分钟K线实时放量检测） |\n| `position_diagnosis.py` | 持仓诊断（批量形态+评分+风控+建议） |\n| `signal_tracker.py` | 信号追踪（NEW/GONE/UPGRADE/DOWNGRADE） |\n| `signal_history.py` | 曝光度统计（近50日关注池上榜次数） |\n| `colors.py` | 统一 ANSI 颜色常量 |\n| `mcp_utils.py` | 共享 MCP 客户端（握手+SSE解析+工具调用） |\n| `backtest.py` | 历史回测引擎 |\n| `adaptive.py` | 参数自适应 |\n| `ml_model.py` | ML 概率模型 |\n| `portfolio_backtest.py` | 每日精选组合回测 |\n\n### tests/（59 个用例）\n| 文件 | 说明 |\n|:-----|:-----|\n| `conftest.py` | 合成 K 线生成器 |\n| `test_pattern_detect.py` | 形态识别（含 V3.5 变体E） |\n| `test_risk_scoring.py` | 风险过滤 + 评分（含多因子/多周期/曝光度） |\n| `test_v2_modules.py` | 回测/ML/自适应测试 |\n\n---\n\n## 分享\n\n```bash\ncd ~/.workbuddy/skills\ntar -czf volume-price-screener.tar.gz volume-price-screener/\n# 对方: tar -xzf volume-price-screener.tar.gz -C ~/.workbuddy/skills/\n```\n\n依赖：`pip install requests numpy`（可选：`scikit-learn pytest`）\n\n---\n\n## 注意事项\n\n- 颜色约定：涨=红、跌=绿（A 股惯例）\n- 纯量价信号，不构成投资建议；高评分≠必涨\n- 全市场扫描约 2~5 分钟（5191 只 × 90 根 K 线，12 并发）\n- TDX 适配器需 WorkBuddy MCP 代理（`127.0.0.1:57400`），否则科创/北交所自动跳过\n- 定时扫描每工作日 7 次自动执行，结果写入 `data/intraday_log_*.txt` 和 `data/signals_*.json`\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn71y975j1zr9hcafzd1ybgs898br0jt\",\n  \"slug\": \"hectorlee-volume-price-screener\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1785915694247\n}\n\nFile v0.1.1:references/pattern_rules.md\n\n# 形态规则详解 V3.0（pattern_rules.md）\n\n## V3.0 新增：阶段3 四种形态变体\n\n阶段1（放量拉升）和阶段2（缩量计算）为所有变体共享。阶段3 按优先级 D>C>B>A 判定：\n\n| 变体 | 标签 | 缩量要求 | 核心条件 |\n|:-----|:-----|:--------:|:---------|\n| D | 突破延续 | 不强制 | 累计涨幅≥3%, ≥60%阳线, 未跌破开盘价, 振幅≤15% |\n| C | 回踩确认 | ≥2日 | 振幅≤10%, 至少1日low≤anchor.high×1.02, 之后close>anchor.high |\n| B | 高位平台 | ≥2日 | 振幅≤10%, ≥60%日close>anchor.high, 均价>anchor.high |\n| A | 标准横盘 | ≥2日 | 振幅≤10%, ≥60%日close∈[anchor.low, anchor.high] |\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n| 参数 | 默认值 | 说明 |\n|:-----|:------:|:-----|\n| `window` | 20 | 形态检测窗口（交易日） |\n| `vol_ma_n` | 20 | 均量周期（量比分母） |\n| `rise_pct_main` | 5.0 | 主板放量涨幅阈值(%) |\n| `rise_pct_gem` | 8.0 | 创业板/科创板放量涨幅阈值(%) |\n| `vol_ratio_min` | 1.5 | 放量倍数下限 |\n| `vol_ratio_opt` | 2.0 | 放量倍数\"更优\"线（评分参考） |\n| `shrink_min_days` | 2 | 最小连续缩量天数 |\n| `amp_max` | 10.0 | 横盘最大振幅(%) |\n| `range_ratio_min` | 0.6 | 收盘价落在锚点高低点区间内的占比下限 |\n| `shrink_days_best` | (4, 6) | 缩量天数最优区间（评分用） |\n| `shrink_depth_best` | 0.5 | 缩量深度最优线（评分用） |\n| `pullback_best` | 0.5 | 回调深度最优线（评分用） |\n| `trend_check_days` | 10 | 跌势检查天数 |\n| `trend_drop_pct` | -10.0 | 跌势阈值(%) |\n| `limit_pct_main` | 9.8 | 主板涨停阈值(%) |\n| `limit_pct_gem` | 19.8 | 创业板/科创板涨停阈值(%) |\n| `ma_n1` | 10 | 支撑均线 1 |\n| `ma_n2` | 20 | 支撑均线 2 |\n| `vol_ma_short` | 5 | 量能短均线 |\n| `vol_ma_long` | 10 | 量能长均线 |\n\n## 板块判定\n\n| 板块 | 代码前缀 | 涨幅阈值 | 涨停阈值 |\n|:-----|:---------|:--------:|:--------:|\n| 主板 | 60x / 000 / 001 / 002 / 003 | 5% | 9.8% |\n| 创业板 | 300 / 301 | 8% | 19.8% |\n| 科创板 | 688 | 8% | 19.8% |\n| 北交所 | 4x / 8x / 920 | 5% | 29.8%（默认不扫描） |\n\n## 四阶段判定细节\n\n### 阶段1：定位放量拉升日\n- 遍历最近 `window` 根 K 线\n- 涨幅 = (当日收盘 - 前日收盘) / 前日收盘 × 100%\n- 量比 = 当日量 / 前20日均量（不含当日）\n- 同时满足 `涨幅 ≥ 阈值(板块)` 且 `量比 ≥ 1.5` → 候选放量日\n- 多个候选 → 取**最近**（索引最大）为锚点\n- 浮点容差 1e-9（边界值如恰好 5.0% 算命中）\n\n### 阶段2：缩量确认\n- 锚点日之后逐日扫描，统计最长连续缩量段（量 < 锚点日量）\n- 最长段 ≥ 2 日 → 通过\n- `shrink_days` = 最长段长度；`shrink_depth` = 该段均量 / 锚点日量\n\n### 阶段3：横盘确认\n- 锚点日后**所有**交易日（至窗口末）\n- 振幅 = (最高 - 最低) / 最低 × 100% ≤ 10%\n- 收盘价落在锚点日 [low, high] 区间内的占比 ≥ 60%\n- 两条件同时满足 → 通过\n\n### 阶段4：加分信号\n- 窗口内任意连续 3 日：量递增且价递增 → 量价齐升 ✓\n- 窗口内任意连续 3 日：量递减且价递减 → 量缩价跌 ✓\n\n## 输出字段\n\n| 字段 | 说明 |\n|:-----|:-----|\n| `anchor_idx` | 放量日在 bars 中的索引 |\n| `surge_pct` | 放量日涨幅(%) |\n| `volume_ratio` | 量比 |\n| `shrink_days` | 最长连续缩量天数 |\n| `shrink_depth` | 缩量深度（0~1） |\n| `amplitude` | 横盘期振幅(%) |\n| `range_ratio` | 收盘价区间占比 |\n| `range_position` | upper / mid / lower |\n| `pullback_ratio` | 回调深度（相对拉升幅度） |\n| `low_point_rise` | 低点是否抬高 |\n| `conc_rise_3d` | 连续3日量价齐升 |\n| `conc_fall_3d` | 连续3日量缩价跌 |\n| `breakout_60d` | 放量日创60日新高 |\n| `ma_support` | 站稳 MA10 且 MA20 |\n| `vol_ma_bull` | 5日均量 > 10日均量 |\n| `divergence_warning` | 放量滞涨背离预警 |\n\nFile v0.1.1:references/scoring_rules.md\n\n# 评分细则（scoring_rules.md）\n\n## 评分总览（100 分制）\n\n```\n放量质量(30) + 缩量质量(20) + 横盘质量(25) + 趋势量能(15) + 加分信号(10) = 100\n```\n\n## 一、放量质量（30 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 放量倍数 | 1.5 ≤ 量比 < 2 | 8 |\n| | 2 ≤ 量比 < 3 | 12 |\n| | 量比 ≥ 3 | 15 |\n| 拉升幅度 | 达标线 | 5 |\n| | 每超 1 个百分点 | +2 |\n| | 上限 | 10 |\n| 60 日新高 | 放量日 high 创前 60 日新高 | +5 |\n\n> 拉升幅度示例（主板）：涨幅 5% → 5 分；7% → 9 分；≥7.5% → 10 分封顶\n\n## 二、缩量质量（20 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 缩量深度 | < 30% | 10 |\n| | 30%~50% | 8 |\n| | 50%~70% | 5 |\n| | > 70% | 3 |\n| 缩量天数 | 2~3 天 | 3 |\n| | 4~6 天 | 5 |\n| | 7~8 天 | 4 |\n| | 其他 | 0 |\n\n> 缩量深度 = 缩量段均量 / 放量日量。缩得越深，说明抛压越轻、筹码锁定越好。\n\n## 三、横盘质量（25 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 振幅 | ≤ 5% | 10 |\n| | 5%~10% | 7 |\n| 横盘位置 | 主体在上半部（收盘均值 ≥ 锚点K线中点） | 8 |\n| | 中部 | 5 |\n| | 下半部 | 3 |\n| 回调深度 | 回撤 ≤ 1/2 拉升幅度 | 5 |\n| | 1/2 ~ 2/3 | 2 |\n| | > 2/3 | 0 |\n| 低点抬高 | 后半段最低 > 前半段最低 | +2 |\n\n> 回调深度 = (放量日收盘 - 横盘期最低) / (放量日收盘 - 前日收盘)。回调越浅越强势。\n\n## 四、趋势与量能（15 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 平台突破 | 放量日创 60 日新高 | +8 |\n| 均线支撑 | 最新收盘 > MA10 且 > MA20 | +4 |\n| 量能均线多头 | 5 日均量 > 10 日均量 | +3 |\n\n## 五、加分信号（10 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 量价齐升 | 窗口内连续 3 日量升价升 | +5 |\n| 量缩价跌 | 窗口内连续 3 日量缩价跌 | +5 |\n\n## 分层与预警\n\n| 总分 | 分层 | 建议 |\n|:----:|:-----|:-----|\n| ≥ 80 | 强势形态 | 形态质量高，优先关注 |\n| 60~79 | 标准形态 | 形态成立，需结合其他维度 |\n| < 60 | 关注形态 | 边缘命中，谨慎对待 |\n\n**背离预警**（不扣分，独立标记）：\n- 横盘期出现：成交量 > 前5日均量 × 1.5 且当日涨幅 < 1% → 放量滞涨\n- 含义：横盘末端放量却拉不动价格，主力可能借横盘出货 → 排序自动降级\n\n## 评分示例\n\n标准命中（茅台 2026-07 实测）：\n```\n放量质量 17.0/30（量比2.3→12 + 拉升7%→5 + 新高✗→0）\n缩量质量  5.0/20（深度51%→5 + 天数9→0）\n横盘质量 17.0/25（振幅6.4%→7 + 位置upper→8 + 回调→2 + 低点✗→0）\n趋势量能  4.0/15（新高✗ + 均线✓→4 + 量能✗）\n加分信号 10.0/10（齐升✓ + 缩跌✓）\n总分 53.0 → 关注形态 + 背离预警\n```\n\nFile v0.1.1:references/test_cases.md\n\n# 测试用例库（test_cases.md）\n\n## 单元测试（pytest，31 用例，全部通过）\n\n### 形态识别（tests/test_pattern_detect.py，15 用例）\n\n| 用例 | 场景构造 | 预期 |\n|:-----|:---------|:-----|\n| test_standard_hit | 第45日放量+7%量比2.2，后14日缩量横盘 | 命中，锚点45 |\n| test_insufficient_volume | 涨幅5%达标但量比1.2 | 不命中 |\n| test_insufficient_surge | 量比2.5但涨幅3% | 不命中 |\n| test_insufficient_shrink | 放量后仅1日缩量 | 不命中 |\n| test_excessive_amplitude | 横盘期制造15%振幅K线 | 不命中 |\n| test_gem_threshold | 涨幅7%创业板(<8%) | 不命中；同条件主板命中 |\n| test_gem_threshold_boundary | 科创板恰好8% | 命中 |\n| test_boundary_values | 恰好5%涨幅+1.5量比 | 命中（含等号） |\n| test_multiple_anchors | 窗口内2根放量日 | 取最近锚点(50) |\n| test_insufficient_data | 仅20根K线 | 不命中 |\n| test_is_gem | 板块判定 | 300/301/688=True |\n| test_rise_threshold | 板块涨幅阈值 | 主板5/创科8 |\n| test_consecutive_signals | 窗口内构造3日量价齐升 | conc_rise_3d=True |\n| test_divergence_warning | 横盘期放量滞涨 | 背离预警=True |\n| test_low_point_rise | 后半段低点抬高 | low_point_rise=True |\n\n### 风险过滤 + 评分（tests/test_risk_scoring.py，16 用例）\n\n| 用例 | 场景 | 预期 |\n|:-----|:-----|:-----|\n| test_st_name_detection | ST/*ST 名称 | 识别正确 |\n| test_check_st | ST华业 / 贵州茅台 | 排除 / 放行 |\n| test_new_stock | 30根K vs 90根K | 剔除 / 放行 |\n| test_one_word_limit | 放量日一字涨停 | 剔除 |\n| test_not_one_word_limit | 正常放量日 | 放行 |\n| test_consecutive_limit | 放量日前2日涨停 | 剔除（连板） |\n| test_not_consecutive_limit | 正常走势 | 放行 |\n| test_downtrend_rebound | 前10日-15%趋势 | 剔除（跌势反弹） |\n| test_not_downtrend | 温和上涨 | 放行 |\n| test_turnover | 2% / 5% / None | 剔除 / 放行 / 跳过 |\n| test_comprehensive_st | 综合过滤含ST | 剔除 |\n| test_comprehensive_turnover_skip | 无换手数据 | 放行+跳过标记 |\n| test_comprehensive_pass | 全通过 | 放行 |\n| test_score_standard | 标准命中评分 | 0<总分≤100 |\n| test_score_components_bounds | 极端高分场景 | 各模块不超上限 |\n| test_score_levels | 高质量 vs 低质量 | 高低分层正确 |\n\n## 合成 K 线生成器（conftest.py）\n\n`build_kline()` 参数化构造可复现的合成行情：\n\n| 参数 | 默认 | 说明 |\n|:-----|:----:|:-----|\n| n | 60 | 总 K 线数 |\n| anchor | 45 | 放量日索引 |\n| surge_pct | 7.0 | 放量日涨幅(%) |\n| vol_ratio | 2.2 | 量比 |\n| post_days | auto | 横盘天数 |\n| post_vol_ratio | 0.4 | 横盘量/放量日量 |\n| post_amp | 0.005 | 横盘波动幅度 |\n| trend | 0.005 | 放量前日涨幅 |\n| base_vol | 1000 | 基础量 |\n| base_price | 10.0 | 起始价 |\n\n## 历史回测（设计方案 6.2 节，待实施）\n\n- 区间：近 3 年逐日滚动全市场扫描\n- 指标：命中率、命中后 5/10/20 日收益率 vs 沪深300、胜率、盈亏比\n- 对照组：随机股票池同窗口收益 → 超额收益显著性检验\n- 输出：命中分布 + 收益直方图 + 分位数报告\n\n## 实盘金丝雀（设计方案 6.3 节，待实施）\n\n- 连续 4 周每日实盘扫描，只输出不交易\n- 与人工复盘对比确认逻辑一致\n- 收集命中后 20 日走势，校准胜率\n\n## 性能基准（设计方案 6.4 节）\n\n| 场景 | 基准 | 实测 |\n|:-----|:----:|:-----|\n| 全市场4591只拉K线(90根,12并发) | < 3 分钟 | ~2 分钟 |\n| 形态检测单只 | < 1ms | < 1ms |\n| 单股诊断 | < 5s | ~0.5s |\n\nFile v0.1.1:references/v2_backtest_report.md\n\n# V2 回测与 ML 模型评估报告\n\n- 日期：2026-07-31\n- 数据：近 3 年（750 交易日）全市场 4591 只 A 股 + 沪深300 基准\n- 命中样本：103,758 条（滚动扫描，无未来函数：每交易日 t 用截至 t 的 K 线检测，收益用 t 之后 K 线）\n\n## 1. 形态超额收益（vs 沪深300）\n\n| 周期 | 样本 | 平均收益 | 基准 | 超额α | 胜率 | 盈亏比 | 跑赢率 |\n|:----:|:----:|:-------:|:----:|:-----:|:----:|:------:|:------:|\n| 5日 | 103758 | +0.35% | +0.18% | **+0.16%** | 47.0% | 1.31 | 46.0% |\n| 10日 | 103758 | +0.65% | +0.38% | **+0.26%** | 47.4% | 1.35 | 45.8% |\n| 20日 | 103758 | +0.72% | +0.56% | **+0.15%** | 45.6% | 1.38 | 43.8% |\n\n**结论**：形态相对沪深300 存在稳定但温和的正超额收益（α ≈ +0.15~+0.26%/周期），盈亏比 >1.3。形态有效，但并非暴利信号——是\"胜率 45% + 盈亏比 1.35\"的赔率结构。\n\n## 2. 随机对照（vs 全市场等权）\n\n| 指标 | 命中股 | 随机股 | 差异 |\n|:-----|:------:|:------:|:----:|\n| 20日平均收益 | +0.72% | +1.25% | -0.53% |\n| 正收益占比 | 45.6% | 48.3% | -2.7pp |\n\n**结论**：形态相对全市场等权随机池**无超额**。原因分析：沪深300 为大盘蓝筹加权，而随机池包含大量小盘股（近3年小盘占优）。**形态的 α 更多来自\"命中股多为中小市值弹性股\"的暴露，而非形态本身独立于市场的选股力**。这一点必须在实盘使用中警惕——形态必须配合市场环境（中小盘风格期）使用。\n\n## 3. ML 概率模型评估\n\n### 3.1 模型与切分\n- 模型：GradientBoostingClassifier（300 树，max_depth=3，lr=0.05）\n- 切分：时间序列 70/30（前 70% 训练，后 30% 验证，**无未来函数**）\n- 特征：14 个纯量价特征（surge/vol_ratio/shrink_days/shrink_depth/amplitude/position/pullback/low_rise/breakout/ma/vol_ma/conc_rise/conc_fall/score）\n\n### 3.2 整体指标\n- 验证集：31,128 样本，基线涨率 42.9%\n- 准确率：**54.8%**（+11.9pp vs 基线）\n- 标签（跑赢沪深300）准确率 57.7%（基线 43.8%）\n\n### 3.3 概率分层单调性（验证集，关键验证）\n\n| 分位 | 样本 | 平均20日 | 正收益比 |\n|:----:|:----:|:--------:|:--------:|\n| P0-20（最低概率） | 6226 | -0.77% | 43.2% |\n| P20-40 | 6225 | -0.84% | 42.5% |\n| P40-60 | 6221 | -0.81% | 41.6% |\n| P60-80 | 6229 | -0.61% | 41.7% |\n| **P80-100（最高概率）** | 6227 | **+0.26%** | **45.4%** |\n\n**结论**：概率分层呈现单调性——最高概率分位（P80-100）20 日平均收益 +0.26%、正收益比 45.4%，显著优于最低分位（-0.77%/43.2%），**收益差约 1.0pp**。ML 概率可用于**排序增强**（高概率优先），但不宜做硬过滤（无显著分位阈值断点）。\n\n### 3.4 特征重要性\n\n| 特征 | 重要性 | 含义 |\n|:-----|:------:|:-----|\n| surge_pct | 0.325 | 放量日涨幅（最主导） |\n| volume_ratio | 0.274 | 放量倍数 |\n| pullback_ratio | 0.143 | 回调深度 |\n| shrink_depth | 0.105 | 缩量深度 |\n| amplitude | 0.069 | 横盘振幅 |\n| score | 0.021 | 综合评分 |\n\n**洞察**：拉升强度（涨幅+量比）占特征重要性 60%，说明\"放得越猛\"的形态后续概率越高——与直觉一致（强资金介入）。\n\n## 4. 工程改进记录\n\n| 项 | 改进 | 效果 |\n|:---|:-----|:-----|\n| 回测扫描 | 复用 Bar 列表 + 只传最近90根 | 301s → 33s（9倍提速） |\n| K线缓存 | pickle 本地缓存 | 重复回测免拉数据（42s→0s） |\n| 随机对照 | 修复空范围崩溃 + 尝试上限 | 稳定运行 |\n| ML后端 | 实测 fit/predict 探测（macOS libomp 缺失自动降级 sklearn） | xgboost 失败不中断 |\n| 自适应参数 | 沪深300 波动率 → 动态阈值 | 低迷市场自动收紧振幅/放宽量比 |\n\n## 5. 实盘使用建议\n\n1. **形态定位**：作为\"赔率型\"信号使用——盈亏比 1.35，需严格止损纪律，不可单凭形态重仓\n2. **市场环境**：形态 α 依赖中小盘风格期，大盘蓝筹主导行情时命中意义减弱\n3. **ML 用法**：用 `--model models/ml_model_v2.pkl` 开启概率排序，优先关注 P80 以上分位（20日收益差约1pp）\n4. **参数自适应**：`--adaptive` 开启市场波动率调节，牛熊市阈值自适应\n5. **背离预警**：横盘期放量滞涨标记\"出货嫌疑\"，排序自动降级\n\n## 6. 已知局限与 V3 方向\n\n- 单标的滚动收益含重叠样本（同一形态多日被计），统计独立性打折\n- 未考虑交易成本/滑点（α 0.15% 需验证能否覆盖摩擦）\n- 未按市值/行业分层（α 归因待细化）\n- V3：按市值分层回测、剔除重叠样本、加入成本模型、特征工程扩展（板块效应/资金流）\n\nFile v0.1.1:references/v2_portfolio_report.md\n\n# 每日 Top-千分之一 组合回测报告\n\n- 日期：2026-07-31\n- 方法：`portfolio_backtest.py --walk-forward`（前推验证，无未来函数）\n- 数据：全市场 4591 只，3 年样本 103,758 条命中记录；训练期 2023-09~2025-09（459 天），**验证期 2025-09-08~2026-07-03（196 交易日）**\n\n## 1. 回测规则\n\n1. 每个交易日：从当日命中池按排序指标降序，取前 `top_k` 只（千分之一 ≈ 5 只；也可 `--top-k 1` 只选最强）\n2. 冷却期：同一股票 20 个交易日内不重复入选（避免重叠持仓）\n3. 收益评估（两层）：\n   - **逐日统计**：当日所选股票等权平均的 fwd5/10/20 收益（复用样本 fwd 字段）\n   - **净值模拟**：真实 K 线收盘价买入，持有 20 个交易日卖出，每日等权再平衡，可扣交易成本\n\n## 2. 核心结果（验证期，无泄漏）\n\n### 2.1 三种排序对比（每日 5 只，fwd20 逐日统计）\n\n| 排序 | 日均收益 | 胜率 | 盈亏比 | 超额α(vs沪深300) |\n|:-----|:-------:|:----:|:------:|:---------------:|\n| **评分排序** | **+0.63%** | 50.5% | 1.14 | **+0.23%** |\n| ML概率 | -0.15% | 49.5% | 0.97 | -0.55% |\n| 随机对照 | -1.16% | 44.4% | 0.88 | -1.56% |\n\n**关键结论**：\n- **评分排序（规则化的 100 分制）> 随机 > ML 概率**\n- ML 模型在样本内亮眼（+2.38%），但前推验证下失效（-0.15%）——**过拟合实锤**，当前版本不可用于实盘\n- 随机对照大幅跑输（-1.16%），证明\"形态识别 + 评分排序\"本身有真实选股力（相对随机 +1.79pp）\n\n### 2.2 净值模拟（真实价格，每日 5 只）\n\n| 排序 | 累计收益 | 年化 | 最大回撤 | 超额(vs 沪深300 +8.38%) |\n|:-----|:-------:|:----:|:-------:|:------------------------:|\n| **评分排序** | **+20.11%** | **+25.62%** | 13.26% | **+11.73pp** |\n| ML概率 | +8.11% | +10.19% | 13.03% | -0.28pp |\n| 随机 | -6.39% | -7.90% | 19.06% | -14.78pp |\n\n### 2.3 top_k 敏感性（评分排序，净值口径）\n\n| 每日选股数 | 占全市场 | 累计 | 年化 | 最大回撤 | 超额 |\n|:---------:|:-------:|:----:|:----:|:-------:|:----:|\n| **1** | 0.02% | **+24.25%** | **+31.04%** | **11.10%** | **+15.87pp** |\n| 3 | 0.07% | +10.80% | +13.62% | 12.05% | +2.42pp |\n| 5 | 0.11% | +20.11% | +25.62% | 13.26% | +11.73pp |\n| 10 | 0.22% | +11.87% | +14.99% | 14.04% | +3.49pp |\n| 20 | 0.44% | +9.91% | +12.48% | 13.31% | +1.53pp |\n\n**洞察：选得越精越好**——每日只取评分最高 1 只（前 0.02%）效果最佳（年化 31%，超额 +15.9pp，回撤最小）。千分之一（5 只）为次优，兼顾分散与收益。\n\n### 2.4 交易成本敏感性（评分排序）\n\n| 单边成本 | 每日5只年化 | 每日5只超额 | 每日1只年化 | 每日1只超额 |\n|:-------:|:---------:|:----------:|:----------:|:----------:|\n| 0.0% | +25.62% | +11.73pp | +31.04% | +15.87pp |\n| 0.1% | +22.35% | +9.21pp | — | — |\n| 0.15% | — | — | **+25.95%** | **+11.98pp** |\n| 0.2% | +19.16% | +6.74pp | — | — |\n| 0.3% | +16.06% | +4.33pp | — | — |\n| 0.5% | +10.09% | -0.35pp | — | — |\n\n> A 股实际成本约单边 0.15%（佣金 0.03% + 印花税 0.1% + 滑点），**扣费后策略依然有效**（每日1只年化 26%，超额 +12pp）。\n\n## 3. 结论与实盘建议\n\n1. **策略有效且经过无泄漏验证**：每日选评分最高 1~5 只（前千分之一内），20 日持有滚动，扣真实成本后年化 25%+，超额沪深300 约 12~16pp\n2. **首选配置**：`--sort score --top-k 1`（最强、回撤最小）；若需分散则 `--top-k 5`\n3. **ML 模型当前不可用**（过拟合）；后续需特征扩展 + 滚动重训 + 更严格验证后才可启用\n4. **风险提示**：\n   - 验证期仅 196 天，且为单一市场环境（中小盘风格期），α 存在环境依赖\n   - 回撤 11~13% 需纪律性止损\n   - 形态 α 依赖中小盘风格，大盘蓝筹主导行情时效果会衰减\n   - 未含停牌/涨跌停不可成交等微观结构约束\n\n## 4. 复现命令\n\n```bash\npython portfolio_backtest.py --walk-forward --top-k 5 --nav\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15 --sort score\npython portfolio_backtest.py --all-sorts --top-k 5      # 全样本（有泄漏，仅参考）\n```\n\nFile v0.1.1:skill-card.md\n\n## Description:\n\nScreens China A-share stocks using volume-price patterns, multi-factor scoring, intraday monitoring, risk filters, and optional local TDX market-data access.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[xiyanjun](https://clawhub.ai/user/xiyanjun)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, analysts, and agent users can use this skill to run A-share market scans, diagnose individual positions, monitor intraday volume-price signals, and produce risk-aware screening summaries. The output is analytical support and should not be treated as investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill produces market analysis that could be mistaken for investment advice.\n\nMitigation: Treat screening results as analytical support only and review them with independent judgment before any trading decision.\n\nRisk: The skill fetches market data from Tencent/EastMoney and can use a local TDX MCP connector.\n\nMitigation: Install it only when those data connections are expected, and run it in an environment where local MCP access and outbound market-data requests are acceptable.\n\nRisk: The package includes or may create pickle model/cache files.\n\nMitigation: Load only bundled or locally generated pickle files that you trust.\n\n## Reference(s):\n\n- [Server-resolved GitHub source](https://github.com/xiyanjun/hectorlee-volume-price-screener)\n- [Pattern Rules](artifact/references/pattern_rules.md)\n- [Scoring Rules](artifact/references/scoring_rules.md)\n- [Test Cases](artifact/references/test_cases.md)\n- [V2 Backtest and ML Model Evaluation Report](artifact/references/v2_backtest_report.md)\n- [Daily Top Portfolio Backtest Report](artifact/references/v2_portfolio_report.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown or terminal text with optional JSON data files from the bundled scripts]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs may include ranked stock-screening lists, scoring details, risk-filter explanations, position diagnostics, signal-tracking summaries, and commands for running local scripts.]\n\n## Skill Version(s):\n\n0.1.1 (source: ClawHub release metadata; artifact frontmatter reports 3.5.1)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.1:_user_meta.json\n\n{\n  \"name\": \"hectorlee-volume-price-screener\",\n  \"installedAt\": 1785742906189,\n  \"source\": \"userImport\"\n}\n\nFile v0.1.1:manifest.yaml\n\nname: hectorlee-volume-price-screener\nversion: 3.5.0\ndescription: \"纯量价关系A股选股系统。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，135分制评分，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)\"\ncategory: finance\nauthor: hectorlee\ntags:\n  - 选股\n  - 量价分析\n  - A股\n  - 技术分析\n  - 量化\n  - 盘中监控\ntriggers:\n  - 放量拉升\n  - 缩量调整\n  - 量价选股\n  - 量价形态\n  - 突破延续\n  - 蓄力突破\n  - 回踩确认\n  - 高位平台\n  - 底部反转\n  - 板块共振\n  - 盘中监控\ndependencies:\n  python:\n    - requests\n    - numpy\n  optional:\n    - scikit-learn\n    - pytest\nmcp_requirements:\n  - 通达信(tdx-connector): 科创板/北交所数据、周线/5分钟K线\nmin_python: \"3.9\"\n\nArchive v0.1.0: 35 files, 269683 bytes\n\nFiles: manifest.yaml (814b), models (0b), models/ml_model_small.pkl (262376b), models/ml_model_v2.pkl (401534b), references (0b), references/pattern_rules.md (4091b), references/scoring_rules.md (2862b), references/test_cases.md (3669b), references/v2_backtest_report.md (4750b), references/v2_portfolio_report.md (4360b), scripts (0b), scripts/__init__.py (40b), scripts/adaptive.py (3400b), scripts/backtest.py (14850b), scripts/colors.py (421b), scripts/data_provider.py (12452b), scripts/intraday.py (8720b), scripts/mcp_utils.py (5556b), scripts/ml_model.py (8146b), scripts/pattern_detect.py (36082b), scripts/portfolio_backtest.py (16853b), scripts/position_diagnosis.py (13103b), scripts/risk_filter.py (7337b), scripts/scoring.py (18754b), scripts/screener.py (17855b), scripts/signal_history.py (4551b), scripts/signal_tracker.py (11249b), scripts/tdx_data_provider.py (2744b), SKILL.md (8102b), tests (0b), tests/conftest.py (3232b), tests/test_pattern_detect.py (14333b), tests/test_risk_scoring.py (13275b), tests/test_v2_modules.py (9705b), _meta.json (150b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: hectorlee-volume-price-screener\ndescription: 纯量价关系A股选股系统 V3.5。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，135分制评分，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。\nagent_created: true\ndisable: false\n---\n\n# 纯量价选股系统 V3.5\n\n## 概述\n\n**6 种量价形态 + 多因子融合 + 多周期确认 + 行业共振 + 关注池曝光度追踪**，纯量价、零基本面依赖。覆盖 A 股 5,191 只（沪主板+深主板+创业板+科创板），含 7×全日定时扫描。\n\n### 六种形态\n\n| 变体 | 标签 | 强度 | 描述 |\n|:----:|:-----|:----:|:-----|\n| D | 🔥 突破延续 | ★★★★★ | 放量后持续上涨≥5%，拒绝回调，不强制缩量 |\n| E | 💜 蓄力突破 | ★★★★★ | 放量前连续≥5日阳线蓄力，标准缩量整理 |\n| C | ✅ 回踩确认 | ★★★★☆ | 缩量回踩放量日高点不破，反弹站稳 |\n| B | 📈 高位平台 | ★★★☆☆ | 缩量后价格在放量日区间上方窄幅运行 |\n| A | 📦 标准横盘 | ★★☆☆☆ | 缩量后价格在放量日区间内横盘（原有） |\n| R | 🔄 底部反转 | ★★★★★ | 暴跌>15%+地量+首阳放量≥2倍，独立形态 |\n\n### 板块差异化阈值\n\n| 板块 | 涨幅阈值 | 量比下限 | 数据源 |\n|:-----|:-------:|:-------:|:-----|\n| 主板大票(>100万手) | 3% | 2.0 | 腾讯 |\n| 主板中票(>30万手) | 4% | 1.8 | 腾讯 |\n| 主板小票 | 5% | 1.5 | 腾讯 |\n| 创业板(300/301) | 6% | 2.0 | 腾讯 |\n| 科创板(688) | 4% | 2.0 | 通达信 |\n| 北交所(4/8/920) | 5% | 3.0 | 通达信 |\n\n### 系统版本演进\n\n| 版本 | 核心变化 |\n|:-----|:---------|\n| V1.0 | 基准：放量→缩量→横盘 三阶段 |\n| V3.0 | 阶段3 扩展为 D/C/B/A 四种变体 |\n| V3.1 | 连阳蓄力、前高突破、板块共振三大增强 |\n| V3.2 | 市值分档降阈值、一字板过滤器修复 |\n| V3.3 | 科创板 TDX 数据源接入、北交所阈值配置 |\n| V3.4 | 创业板 8%→6%、末日晚信号延展、盘中监控模块 |\n| V3.5 | 变体E蓄力突破、多因子融合、多周期确认、行业精确分类、关注池曝光度、7×定时扫描 |\n\n---\n\n## 使用场景\n\n- **全市场扫描**：收盘后扫描全 A 股，输出 Top50 + 板块分析 + 操作建议\n- **盘中监控**：7 个时点（09:00/10:00/11:00/11:35/13:30/14:45/15:05）自动扫描\n- **单股诊断**：给定代码，判断形态 + 评分明细\n- **持仓诊断**：输入持仓文件，批量诊断每只票的形态和风险\n- **信号追踪**：对比两日信号，追踪 NEW/GONE/UPGRADE/DOWNGRADE\n\n## 快速开始\n\n```bash\ncd <skill_dir>/scripts\n\n# 全市场扫描\npython screener.py --all --top 30 --detail\n\n# 盘中监控（今日放量突破）\npython intraday.py --today --top 20\n\n# 单股诊断\npython screener.py 600406 --detail\n\n# 持仓诊断\npython position_diagnosis.py positions.json --detail\n\n# 信号追踪\npython signal_tracker.py --today data/signals_20260803.json\n\n# 参数覆盖 / 北交所\npython screener.py --all --params '{\"vol_ratio_min\":2.0}' --include-bj\n```\n\n---\n\n## 评分体系（135 分制）\n\n| 模块 | 分值 | 核心因子 |\n|:-----|:----:|:---------|\n| 放量质量 | 30 | 放量倍数 + 拉升幅度 + 60日新高 |\n| 缩量质量 | 20 | 缩量深度 + 缩量天数 |\n| 变体质量 | 25 | 变体感知：振幅/位置/回调/精准度/延续性 |\n| 趋势量能 | 15 | 60日新高 + MA10/MA20支撑 + 量能多头 |\n| 加分信号 | 15 | 3日量价齐升 + 3日量缩价跌 + 连阳蓄力 |\n| 多因子融合 | 20 | 市值流动性 + 波动率(ATR) + 趋势强度 |\n| 关注池曝光度 | 5 | 近50日历史命中次数（≥8次→+5, ≥3→+3） |\n| 多周期确认 | -5~+10 | 周线MACD金叉/MA10验证 |\n\n**分层**：≥100 强势形态 | 75~99 标准形态 | <75 关注形态\n**权重校准**：A/B 变体质量×0.85，R 放量质量×1.15（回测验证）\n\n---\n\n## 盘中监控模式（intraday.py）\n\n| 时点 | 名称 | 行为 |\n|:---:|:-----|:-----|\n| 09:00 | 盘前扫描 | 昨日信号 Top15 + 今日关注提示 |\n| 10:00 | 盘中监控 | 开盘30分钟盘中放量突破检测 |\n| 11:00 | 二次确认 | 昨日 Top5 盘中验证（持有/减仓） |\n| 11:35 | 午间小结 | 上午最强板块 + 异动 + 下午建议 |\n| 13:30 | 午后监控 | 午后新放量信号 + 上午强势延续性 |\n| 14:45 | 尾盘突击 | 尾盘放量突破 + 跳水预警 + 明日方向 |\n| 15:05 | 收盘全量 | 全扫描 + 板块分析 + 操作建议 |\n\n### 防污染设计\n- 盘中 6 次扫描写入 `intraday_log`，**不干扰关注池曝光度**\n- 仅 15:05 收盘扫描写入 `signals_YYYYMMDD.json`\n- 曝光度读取同日去重（同一天同一股票只计 1 次）\n\n---\n\n## 风险硬过滤（7 项）\n\n| 规则 | 判定 | 优先级 |\n|:-----|:-----|:------:|\n| ST/*ST | 名称含 ST | 最高 |\n| 退市风险 | 财务信号（akshare，未安装降级） | 最高 |\n| 次新股 | K线不足 60 根（北交所 90 根） | 高 |\n| 一字板 | high==low 且涨停且无量比（≥2.0 放行） | 高 |\n| 连板股 | 放量日前连续 ≥2 日涨停 | 高 |\n| 跌势反弹 | 放量日前 10 日累计跌幅 < -10% | 高 |\n| 换手率 | 放量日换手 < 3%（仅当日启用） | 中 |\n\n---\n\n## 数据源\n\n| 数据 | 来源 | 说明 |\n|:-----|:-----|:-----|\n| 全市场列表 | 东财 `push2.eastmoney.com` → 腾讯 → TDX 补充 | ~5191 只 |\n| 日 K 线 | 腾讯 `ifzq.gtimg.cn` + TDX fallback | 90 根，前复权 |\n| 实时行情 | 腾讯 `qt.gtimg.cn` | 换手率/名称/ST |\n| 5 分钟 K 线 | 通达信 MCP `period=\"0\"` | 盘中监控 |\n| 周线 K 线 | 通达信 MCP `period=\"5\"` | 多周期确认 |\n\n---\n\n## 资源文件\n\n### scripts/\n| 文件 | 说明 |\n|:-----|:-----|\n| `screener.py` | 主入口：全市场/单股/搜索/参数覆盖/自适应/ML，V3.5 含行业精确共振 |\n| `pattern_detect.py` | 形态识别引擎（6种形态 + 多周期周线确认） |\n| `scoring.py` | 135分制评分引擎（变体感知+多因子+曝光度+权重校准） |\n| `risk_filter.py` | 风险硬过滤（7 项规则） |\n| `data_provider.py` | 数据管道（腾讯+东财+TDX fallback，12并发） |\n| `tdx_data_provider.py` | TDX 适配器（共享 McpClient） |\n| `intraday.py` | 盘中监控（5分钟K线实时放量检测） |\n| `position_diagnosis.py` | 持仓诊断（批量形态+评分+风控+建议） |\n| `signal_tracker.py` | 信号追踪（NEW/GONE/UPGRADE/DOWNGRADE） |\n| `signal_history.py` | 曝光度统计（近50日关注池上榜次数） |\n| `colors.py` | 统一 ANSI 颜色常量 |\n| `mcp_utils.py` | 共享 MCP 客户端（握手+SSE解析+工具调用） |\n| `backtest.py` | 历史回测引擎 |\n| `adaptive.py` | 参数自适应 |\n| `ml_model.py` | ML 概率模型 |\n| `portfolio_backtest.py` | 每日精选组合回测 |\n\n### tests/（59 个用例）\n| 文件 | 说明 |\n|:-----|:-----|\n| `conftest.py` | 合成 K 线生成器 |\n| `test_pattern_detect.py` | 形态识别（含 V3.5 变体E） |\n| `test_risk_scoring.py` | 风险过滤 + 评分（含多因子/多周期/曝光度） |\n| `test_v2_modules.py` | 回测/ML/自适应测试 |\n\n---\n\n## 分享\n\n```bash\ncd ~/.workbuddy/skills\ntar -czf volume-price-screener.tar.gz volume-price-screener/\n# 对方: tar -xzf volume-price-screener.tar.gz -C ~/.workbuddy/skills/\n```\n\n依赖：`pip install requests numpy`（可选：`scikit-learn pytest`）\n\n---\n\n## 注意事项\n\n- 颜色约定：涨=红、跌=绿（A 股惯例）\n- 纯量价信号，不构成投资建议；高评分≠必涨\n- 全市场扫描约 2~5 分钟（5191 只 × 90 根 K 线，12 并发）\n- TDX 适配器需 WorkBuddy MCP 代理（`127.0.0.1:57400`），否则科创/北交所自动跳过\n- 定时扫描每工作日 7 次自动执行，结果写入 `data/intraday_log_*.txt` 和 `data/signals_*.json`\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn71y975j1zr9hcafzd1ybgs898br0jt\",\n  \"slug\": \"hectorlee-volume-price-screener\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1785747232158\n}\n\nFile v0.1.0:references/pattern_rules.md\n\n# 形态规则详解 V3.0（pattern_rules.md）\n\n## V3.0 新增：阶段3 四种形态变体\n\n阶段1（放量拉升）和阶段2（缩量计算）为所有变体共享。阶段3 按优先级 D>C>B>A 判定：\n\n| 变体 | 标签 | 缩量要求 | 核心条件 |\n|:-----|:-----|:--------:|:---------|\n| D | 突破延续 | 不强制 | 累计涨幅≥3%, ≥60%阳线, 未跌破开盘价, 振幅≤15% |\n| C | 回踩确认 | ≥2日 | 振幅≤10%, 至少1日low≤anchor.high×1.02, 之后close>anchor.high |\n| B | 高位平台 | ≥2日 | 振幅≤10%, ≥60%日close>anchor.high, 均价>anchor.high |\n| A | 标准横盘 | ≥2日 | 振幅≤10%, ≥60%日close∈[anchor.low, anchor.high] |\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n| 参数 | 默认值 | 说明 |\n|:-----|:------:|:-----|\n| `window` | 20 | 形态检测窗口（交易日） |\n| `vol_ma_n` | 20 | 均量周期（量比分母） |\n| `rise_pct_main` | 5.0 | 主板放量涨幅阈值(%) |\n| `rise_pct_gem` | 8.0 | 创业板/科创板放量涨幅阈值(%) |\n| `vol_ratio_min` | 1.5 | 放量倍数下限 |\n| `vol_ratio_opt` | 2.0 | 放量倍数\"更优\"线（评分参考） |\n| `shrink_min_days` | 2 | 最小连续缩量天数 |\n| `amp_max` | 10.0 | 横盘最大振幅(%) |\n| `range_ratio_min` | 0.6 | 收盘价落在锚点高低点区间内的占比下限 |\n| `shrink_days_best` | (4, 6) | 缩量天数最优区间（评分用） |\n| `shrink_depth_best` | 0.5 | 缩量深度最优线（评分用） |\n| `pullback_best` | 0.5 | 回调深度最优线（评分用） |\n| `trend_check_days` | 10 | 跌势检查天数 |\n| `trend_drop_pct` | -10.0 | 跌势阈值(%) |\n| `limit_pct_main` | 9.8 | 主板涨停阈值(%) |\n| `limit_pct_gem` | 19.8 | 创业板/科创板涨停阈值(%) |\n| `ma_n1` | 10 | 支撑均线 1 |\n| `ma_n2` | 20 | 支撑均线 2 |\n| `vol_ma_short` | 5 | 量能短均线 |\n| `vol_ma_long` | 10 | 量能长均线 |\n\n## 板块判定\n\n| 板块 | 代码前缀 | 涨幅阈值 | 涨停阈值 |\n|:-----|:---------|:--------:|:--------:|\n| 主板 | 60x / 000 / 001 / 002 / 003 | 5% | 9.8% |\n| 创业板 | 300 / 301 | 8% | 19.8% |\n| 科创板 | 688 | 8% | 19.8% |\n| 北交所 | 4x / 8x / 920 | 5% | 29.8%（默认不扫描） |\n\n## 四阶段判定细节\n\n### 阶段1：定位放量拉升日\n- 遍历最近 `window` 根 K 线\n- 涨幅 = (当日收盘 - 前日收盘) / 前日收盘 × 100%\n- 量比 = 当日量 / 前20日均量（不含当日）\n- 同时满足 `涨幅 ≥ 阈值(板块)` 且 `量比 ≥ 1.5` → 候选放量日\n- 多个候选 → 取**最近**（索引最大）为锚点\n- 浮点容差 1e-9（边界值如恰好 5.0% 算命中）\n\n### 阶段2：缩量确认\n- 锚点日之后逐日扫描，统计最长连续缩量段（量 < 锚点日量）\n- 最长段 ≥ 2 日 → 通过\n- `shrink_days` = 最长段长度；`shrink_depth` = 该段均量 / 锚点日量\n\n### 阶段3：横盘确认\n- 锚点日后**所有**交易日（至窗口末）\n- 振幅 = (最高 - 最低) / 最低 × 100% ≤ 10%\n- 收盘价落在锚点日 [low, high] 区间内的占比 ≥ 60%\n- 两条件同时满足 → 通过\n\n### 阶段4：加分信号\n- 窗口内任意连续 3 日：量递增且价递增 → 量价齐升 ✓\n- 窗口内任意连续 3 日：量递减且价递减 → 量缩价跌 ✓\n\n## 输出字段\n\n| 字段 | 说明 |\n|:-----|:-----|\n| `anchor_idx` | 放量日在 bars 中的索引 |\n| `surge_pct` | 放量日涨幅(%) |\n| `volume_ratio` | 量比 |\n| `shrink_days` | 最长连续缩量天数 |\n| `shrink_depth` | 缩量深度（0~1） |\n| `amplitude` | 横盘期振幅(%) |\n| `range_ratio` | 收盘价区间占比 |\n| `range_position` | upper / mid / lower |\n| `pullback_ratio` | 回调深度（相对拉升幅度） |\n| `low_point_rise` | 低点是否抬高 |\n| `conc_rise_3d` | 连续3日量价齐升 |\n| `conc_fall_3d` | 连续3日量缩价跌 |\n| `breakout_60d` | 放量日创60日新高 |\n| `ma_support` | 站稳 MA10 且 MA20 |\n| `vol_ma_bull` | 5日均量 > 10日均量 |\n| `divergence_warning` | 放量滞涨背离预警 |\n\nFile v0.1.0:references/scoring_rules.md\n\n# 评分细则（scoring_rules.md）\n\n## 评分总览（100 分制）\n\n```\n放量质量(30) + 缩量质量(20) + 横盘质量(25) + 趋势量能(15) + 加分信号(10) = 100\n```\n\n## 一、放量质量（30 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 放量倍数 | 1.5 ≤ 量比 < 2 | 8 |\n| | 2 ≤ 量比 < 3 | 12 |\n| | 量比 ≥ 3 | 15 |\n| 拉升幅度 | 达标线 | 5 |\n| | 每超 1 个百分点 | +2 |\n| | 上限 | 10 |\n| 60 日新高 | 放量日 high 创前 60 日新高 | +5 |\n\n> 拉升幅度示例（主板）：涨幅 5% → 5 分；7% → 9 分；≥7.5% → 10 分封顶\n\n## 二、缩量质量（20 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 缩量深度 | < 30% | 10 |\n| | 30%~50% | 8 |\n| | 50%~70% | 5 |\n| | > 70% | 3 |\n| 缩量天数 | 2~3 天 | 3 |\n| | 4~6 天 | 5 |\n| | 7~8 天 | 4 |\n| | 其他 | 0 |\n\n> 缩量深度 = 缩量段均量 / 放量日量。缩得越深，说明抛压越轻、筹码锁定越好。\n\n## 三、横盘质量（25 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 振幅 | ≤ 5% | 10 |\n| | 5%~10% | 7 |\n| 横盘位置 | 主体在上半部（收盘均值 ≥ 锚点K线中点） | 8 |\n| | 中部 | 5 |\n| | 下半部 | 3 |\n| 回调深度 | 回撤 ≤ 1/2 拉升幅度 | 5 |\n| | 1/2 ~ 2/3 | 2 |\n| | > 2/3 | 0 |\n| 低点抬高 | 后半段最低 > 前半段最低 | +2 |\n\n> 回调深度 = (放量日收盘 - 横盘期最低) / (放量日收盘 - 前日收盘)。回调越浅越强势。\n\n## 四、趋势与量能（15 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 平台突破 | 放量日创 60 日新高 | +8 |\n| 均线支撑 | 最新收盘 > MA10 且 > MA20 | +4 |\n| 量能均线多头 | 5 日均量 > 10 日均量 | +3 |\n\n## 五、加分信号（10 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 量价齐升 | 窗口内连续 3 日量升价升 | +5 |\n| 量缩价跌 | 窗口内连续 3 日量缩价跌 | +5 |\n\n## 分层与预警\n\n| 总分 | 分层 | 建议 |\n|:----:|:-----|:-----|\n| ≥ 80 | 强势形态 | 形态质量高，优先关注 |\n| 60~79 | 标准形态 | 形态成立，需结合其他维度 |\n| < 60 | 关注形态 | 边缘命中，谨慎对待 |\n\n**背离预警**（不扣分，独立标记）：\n- 横盘期出现：成交量 > 前5日均量 × 1.5 且当日涨幅 < 1% → 放量滞涨\n- 含义：横盘末端放量却拉不动价格，主力可能借横盘出货 → 排序自动降级\n\n## 评分示例\n\n标准命中（茅台 2026-07 实测）：\n```\n放量质量 17.0/30（量比2.3→12 + 拉升7%→5 + 新高✗→0）\n缩量质量  5.0/20（深度51%→5 + 天数9→0）\n横盘质量 17.0/25（振幅6.4%→7 + 位置upper→8 + 回调→2 + 低点✗→0）\n趋势量能  4.0/15（新高✗ + 均线✓→4 + 量能✗）\n加分信号 10.0/10（齐升✓ + 缩跌✓）\n总分 53.0 → 关注形态 + 背离预警\n```\n\nFile v0.1.0:references/test_cases.md\n\n# 测试用例库（test_cases.md）\n\n## 单元测试（pytest，31 用例，全部通过）\n\n### 形态识别（tests/test_pattern_detect.py，15 用例）\n\n| 用例 | 场景构造 | 预期 |\n|:-----|:---------|:-----|\n| test_standard_hit | 第45日放量+7%量比2.2，后14日缩量横盘 | 命中，锚点45 |\n| test_insufficient_volume | 涨幅5%达标但量比1.2 | 不命中 |\n| test_insufficient_surge | 量比2.5但涨幅3% | 不命中 |\n| test_insufficient_shrink | 放量后仅1日缩量 | 不命中 |\n| test_excessive_amplitude | 横盘期制造15%振幅K线 | 不命中 |\n| test_gem_threshold | 涨幅7%创业板(<8%) | 不命中；同条件主板命中 |\n| test_gem_threshold_boundary | 科创板恰好8% | 命中 |\n| test_boundary_values | 恰好5%涨幅+1.5量比 | 命中（含等号） |\n| test_multiple_anchors | 窗口内2根放量日 | 取最近锚点(50) |\n| test_insufficient_data | 仅20根K线 | 不命中 |\n| test_is_gem | 板块判定 | 300/301/688=True |\n| test_rise_threshold | 板块涨幅阈值 | 主板5/创科8 |\n| test_consecutive_signals | 窗口内构造3日量价齐升 | conc_rise_3d=True |\n| test_divergence_warning | 横盘期放量滞涨 | 背离预警=True |\n| test_low_point_rise | 后半段低点抬高 | low_point_rise=True |\n\n### 风险过滤 + 评分（tests/test_risk_scoring.py，16 用例）\n\n| 用例 | 场景 | 预期 |\n|:-----|:-----|:-----|\n| test_st_name_detection | ST/*ST 名称 | 识别正确 |\n| test_check_st | ST华业 / 贵州茅台 | 排除 / 放行 |\n| test_new_stock | 30根K vs 90根K | 剔除 / 放行 |\n| test_one_word_limit | 放量日一字涨停 | 剔除 |\n| test_not_one_word_limit | 正常放量日 | 放行 |\n| test_consecutive_limit | 放量日前2日涨停 | 剔除（连板） |\n| test_not_consecutive_limit | 正常走势 | 放行 |\n| test_downtrend_rebound | 前10日-15%趋势 | 剔除（跌势反弹） |\n| test_not_downtrend | 温和上涨 | 放行 |\n| test_turnover | 2% / 5% / None | 剔除 / 放行 / 跳过 |\n| test_comprehensive_st | 综合过滤含ST | 剔除 |\n| test_comprehensive_turnover_skip | 无换手数据 | 放行+跳过标记 |\n| test_comprehensive_pass | 全通过 | 放行 |\n| test_score_standard | 标准命中评分 | 0<总分≤100 |\n| test_score_components_bounds | 极端高分场景 | 各模块不超上限 |\n| test_score_levels | 高质量 vs 低质量 | 高低分层正确 |\n\n## 合成 K 线生成器（conftest.py）\n\n`build_kline()` 参数化构造可复现的合成行情：\n\n| 参数 | 默认 | 说明 |\n|:-----|:----:|:-----|\n| n | 60 | 总 K 线数 |\n| anchor | 45 | 放量日索引 |\n| surge_pct | 7.0 | 放量日涨幅(%) |\n| vol_ratio | 2.2 | 量比 |\n| post_days | auto | 横盘天数 |\n| post_vol_ratio | 0.4 | 横盘量/放量日量 |\n| post_amp | 0.005 | 横盘波动幅度 |\n| trend | 0.005 | 放量前日涨幅 |\n| base_vol | 1000 | 基础量 |\n| base_price | 10.0 | 起始价 |\n\n## 历史回测（设计方案 6.2 节，待实施）\n\n- 区间：近 3 年逐日滚动全市场扫描\n- 指标：命中率、命中后 5/10/20 日收益率 vs 沪深300、胜率、盈亏比\n- 对照组：随机股票池同窗口收益 → 超额收益显著性检验\n- 输出：命中分布 + 收益直方图 + 分位数报告\n\n## 实盘金丝雀（设计方案 6.3 节，待实施）\n\n- 连续 4 周每日实盘扫描，只输出不交易\n- 与人工复盘对比确认逻辑一致\n- 收集命中后 20 日走势，校准胜率\n\n## 性能基准（设计方案 6.4 节）\n\n| 场景 | 基准 | 实测 |\n|:-----|:----:|:-----|\n| 全市场4591只拉K线(90根,12并发) | < 3 分钟 | ~2 分钟 |\n| 形态检测单只 | < 1ms | < 1ms |\n| 单股诊断 | < 5s | ~0.5s |\n\nFile v0.1.0:references/v2_backtest_report.md\n\n# V2 回测与 ML 模型评估报告\n\n- 日期：2026-07-31\n- 数据：近 3 年（750 交易日）全市场 4591 只 A 股 + 沪深300 基准\n- 命中样本：103,758 条（滚动扫描，无未来函数：每交易日 t 用截至 t 的 K 线检测，收益用 t 之后 K 线）\n\n## 1. 形态超额收益（vs 沪深300）\n\n| 周期 | 样本 | 平均收益 | 基准 | 超额α | 胜率 | 盈亏比 | 跑赢率 |\n|:----:|:----:|:-------:|:----:|:-----:|:----:|:------:|:------:|\n| 5日 | 103758 | +0.35% | +0.18% | **+0.16%** | 47.0% | 1.31 | 46.0% |\n| 10日 | 103758 | +0.65% | +0.38% | **+0.26%** | 47.4% | 1.35 | 45.8% |\n| 20日 | 103758 | +0.72% | +0.56% | **+0.15%** | 45.6% | 1.38 | 43.8% |\n\n**结论**：形态相对沪深300 存在稳定但温和的正超额收益（α ≈ +0.15~+0.26%/周期），盈亏比 >1.3。形态有效，但并非暴利信号——是\"胜率 45% + 盈亏比 1.35\"的赔率结构。\n\n## 2. 随机对照（vs 全市场等权）\n\n| 指标 | 命中股 | 随机股 | 差异 |\n|:-----|:------:|:------:|:----:|\n| 20日平均收益 | +0.72% | +1.25% | -0.53% |\n| 正收益占比 | 45.6% | 48.3% | -2.7pp |\n\n**结论**：形态相对全市场等权随机池**无超额**。原因分析：沪深300 为大盘蓝筹加权，而随机池包含大量小盘股（近3年小盘占优）。**形态的 α 更多来自\"命中股多为中小市值弹性股\"的暴露，而非形态本身独立于市场的选股力**。这一点必须在实盘使用中警惕——形态必须配合市场环境（中小盘风格期）使用。\n\n## 3. ML 概率模型评估\n\n### 3.1 模型与切分\n- 模型：GradientBoostingClassifier（300 树，max_depth=3，lr=0.05）\n- 切分：时间序列 70/30（前 70% 训练，后 30% 验证，**无未来函数**）\n- 特征：14 个纯量价特征（surge/vol_ratio/shrink_days/shrink_depth/amplitude/position/pullback/low_rise/breakout/ma/vol_ma/conc_rise/conc_fall/score）\n\n### 3.2 整体指标\n- 验证集：31,128 样本，基线涨率 42.9%\n- 准确率：**54.8%**（+11.9pp vs 基线）\n- 标签（跑赢沪深300）准确率 57.7%（基线 43.8%）\n\n### 3.3 概率分层单调性（验证集，关键验证）\n\n| 分位 | 样本 | 平均20日 | 正收益比 |\n|:----:|:----:|:--------:|:--------:|\n| P0-20（最低概率） | 6226 | -0.77% | 43.2% |\n| P20-40 | 6225 | -0.84% | 42.5% |\n| P40-60 | 6221 | -0.81% | 41.6% |\n| P60-80 | 6229 | -0.61% | 41.7% |\n| **P80-100（最高概率）** | 6227 | **+0.26%** | **45.4%** |\n\n**结论**：概率分层呈现单调性——最高概率分位（P80-100）20 日平均收益 +0.26%、正收益比 45.4%，显著优于最低分位（-0.77%/43.2%），**收益差约 1.0pp**。ML 概率可用于**排序增强**（高概率优先），但不宜做硬过滤（无显著分位阈值断点）。\n\n### 3.4 特征重要性\n\n| 特征 | 重要性 | 含义 |\n|:-----|:------:|:-----|\n| surge_pct | 0.325 | 放量日涨幅（最主导） |\n| volume_ratio | 0.274 | 放量倍数 |\n| pullback_ratio | 0.143 | 回调深度 |\n| shrink_depth | 0.105 | 缩量深度 |\n| amplitude | 0.069 | 横盘振幅 |\n| score | 0.021 | 综合评分 |\n\n**洞察**：拉升强度（涨幅+量比）占特征重要性 60%，说明\"放得越猛\"的形态后续概率越高——与直觉一致（强资金介入）。\n\n## 4. 工程改进记录\n\n| 项 | 改进 | 效果 |\n|:---|:-----|:-----|\n| 回测扫描 | 复用 Bar 列表 + 只传最近90根 | 301s → 33s（9倍提速） |\n| K线缓存 | pickle 本地缓存 | 重复回测免拉数据（42s→0s） |\n| 随机对照 | 修复空范围崩溃 + 尝试上限 | 稳定运行 |\n| ML后端 | 实测 fit/predict 探测（macOS libomp 缺失自动降级 sklearn） | xgboost 失败不中断 |\n| 自适应参数 | 沪深300 波动率 → 动态阈值 | 低迷市场自动收紧振幅/放宽量比 |\n\n## 5. 实盘使用建议\n\n1. **形态定位**：作为\"赔率型\"信号使用——盈亏比 1.35，需严格止损纪律，不可单凭形态重仓\n2. **市场环境**：形态 α 依赖中小盘风格期，大盘蓝筹主导行情时命中意义减弱\n3. **ML 用法**：用 `--model models/ml_model_v2.pkl` 开启概率排序，优先关注 P80 以上分位（20日收益差约1pp）\n4. **参数自适应**：`--adaptive` 开启市场波动率调节，牛熊市阈值自适应\n5. **背离预警**：横盘期放量滞涨标记\"出货嫌疑\"，排序自动降级\n\n## 6. 已知局限与 V3 方向\n\n- 单标的滚动收益含重叠样本（同一形态多日被计），统计独立性打折\n- 未考虑交易成本/滑点（α 0.15% 需验证能否覆盖摩擦）\n- 未按市值/行业分层（α 归因待细化）\n- V3：按市值分层回测、剔除重叠样本、加入成本模型、特征工程扩展（板块效应/资金流）\n\nFile v0.1.0:references/v2_portfolio_report.md\n\n# 每日 Top-千分之一 组合回测报告\n\n- 日期：2026-07-31\n- 方法：`portfolio_backtest.py --walk-forward`（前推验证，无未来函数）\n- 数据：全市场 4591 只，3 年样本 103,758 条命中记录；训练期 2023-09~2025-09（459 天），**验证期 2025-09-08~2026-07-03（196 交易日）**\n\n## 1. 回测规则\n\n1. 每个交易日：从当日命中池按排序指标降序，取前 `top_k` 只（千分之一 ≈ 5 只；也可 `--top-k 1` 只选最强）\n2. 冷却期：同一股票 20 个交易日内不重复入选（避免重叠持仓）\n3. 收益评估（两层）：\n   - **逐日统计**：当日所选股票等权平均的 fwd5/10/20 收益（复用样本 fwd 字段）\n   - **净值模拟**：真实 K 线收盘价买入，持有 20 个交易日卖出，每日等权再平衡，可扣交易成本\n\n## 2. 核心结果（验证期，无泄漏）\n\n### 2.1 三种排序对比（每日 5 只，fwd20 逐日统计）\n\n| 排序 | 日均收益 | 胜率 | 盈亏比 | 超额α(vs沪深300) |\n|:-----|:-------:|:----:|:------:|:---------------:|\n| **评分排序** | **+0.63%** | 50.5% | 1.14 | **+0.23%** |\n| ML概率 | -0.15% | 49.5% | 0.97 | -0.55% |\n| 随机对照 | -1.16% | 44.4% | 0.88 | -1.56% |\n\n**关键结论**：\n- **评分排序（规则化的 100 分制）> 随机 > ML 概率**\n- ML 模型在样本内亮眼（+2.38%），但前推验证下失效（-0.15%）——**过拟合实锤**，当前版本不可用于实盘\n- 随机对照大幅跑输（-1.16%），证明\"形态识别 + 评分排序\"本身有真实选股力（相对随机 +1.79pp）\n\n### 2.2 净值模拟（真实价格，每日 5 只）\n\n| 排序 | 累计收益 | 年化 | 最大回撤 | 超额(vs 沪深300 +8.38%) |\n|:-----|:-------:|:----:|:-------:|:------------------------:|\n| **评分排序** | **+20.11%** | **+25.62%** | 13.26% | **+11.73pp** |\n| ML概率 | +8.11% | +10.19% | 13.03% | -0.28pp |\n| 随机 | -6.39% | -7.90% | 19.06% | -14.78pp |\n\n### 2.3 top_k 敏感性（评分排序，净值口径）\n\n| 每日选股数 | 占全市场 | 累计 | 年化 | 最大回撤 | 超额 |\n|:---------:|:-------:|:----:|:----:|:-------:|:----:|\n| **1** | 0.02% | **+24.25%** | **+31.04%** | **11.10%** | **+15.87pp** |\n| 3 | 0.07% | +10.80% | +13.62% | 12.05% | +2.42pp |\n| 5 | 0.11% | +20.11% | +25.62% | 13.26% | +11.73pp |\n| 10 | 0.22% | +11.87% | +14.99% | 14.04% | +3.49pp |\n| 20 | 0.44% | +9.91% | +12.48% | 13.31% | +1.53pp |\n\n**洞察：选得越精越好**——每日只取评分最高 1 只（前 0.02%）效果最佳（年化 31%，超额 +15.9pp，回撤最小）。千分之一（5 只）为次优，兼顾分散与收益。\n\n### 2.4 交易成本敏感性（评分排序）\n\n| 单边成本 | 每日5只年化 | 每日5只超额 | 每日1只年化 | 每日1只超额 |\n|:-------:|:---------:|:----------:|:----------:|:----------:|\n| 0.0% | +25.62% | +11.73pp | +31.04% | +15.87pp |\n| 0.1% | +22.35% | +9.21pp | — | — |\n| 0.15% | — | — | **+25.95%** | **+11.98pp** |\n| 0.2% | +19.16% | +6.74pp | — | — |\n| 0.3% | +16.06% | +4.33pp | — | — |\n| 0.5% | +10.09% | -0.35pp | — | — |\n\n> A 股实际成本约单边 0.15%（佣金 0.03% + 印花税 0.1% + 滑点），**扣费后策略依然有效**（每日1只年化 26%，超额 +12pp）。\n\n## 3. 结论与实盘建议\n\n1. **策略有效且经过无泄漏验证**：每日选评分最高 1~5 只（前千分之一内），20 日持有滚动，扣真实成本后年化 25%+，超额沪深300 约 12~16pp\n2. **首选配置**：`--sort score --top-k 1`（最强、回撤最小）；若需分散则 `--top-k 5`\n3. **ML 模型当前不可用**（过拟合）；后续需特征扩展 + 滚动重训 + 更严格验证后才可启用\n4. **风险提示**：\n   - 验证期仅 196 天，且为单一市场环境（中小盘风格期），α 存在环境依赖\n   - 回撤 11~13% 需纪律性止损\n   - 形态 α 依赖中小盘风格，大盘蓝筹主导行情时效果会衰减\n   - 未含停牌/涨跌停不可成交等微观结构约束\n\n## 4. 复现命令\n\n```bash\npython portfolio_backtest.py --walk-forward --top-k 5 --nav\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15 --sort score\npython portfolio_backtest.py --all-sorts --top-k 5      # 全样本（有泄漏，仅参考）\n```\n\nFile v0.1.0:manifest.yaml\n\nname: hectorlee-volume-price-screener\nversion: 3.5.0\ndescription: \"纯量价关系A股选股系统。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，135分制评分，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)\"\ncategory: finance\nauthor: hectorlee\ntags:\n  - 选股\n  - 量价分析\n  - A股\n  - 技术分析\n  - 量化\n  - 盘中监控\ntriggers:\n  - 放量拉升\n  - 缩量调整\n  - 量价选股\n  - 量价形态\n  - 突破延续\n  - 蓄力突破\n  - 回踩确认\n  - 高位平台\n  - 底部反转\n  - 板块共振\n  - 盘中监控\ndependencies:\n  python:\n    - requests\n    - numpy\n  optional:\n    - scikit-learn\n    - pytest\nmcp_requirements:\n  - 通达信(tdx-connector): 科创板/北交所数据、周线/5分钟K线\nmin_python: \"3.9\"","readmeExcerpt":"Skill: hectorlee-volume-price-screener Owner: xiyanjun Summary: 纯量价关系A股选股系统 V3.7.1。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，130分制评分(+多周期确认-5~+10)，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。 Tags: latest:3.7.1 Version history: v3.7.1 | 2026-08-24T17:50:49.388Z | user 接入 hithink 本地库（同花顺全市场前复权日K，无 WAF 极速拉取） v0.1.3 | 2026-08-13T10:06:07.878Z","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"cd <skill_dir>/scripts\n\n# 全市场扫描\npython screener.py --all --top 30 --detail\n\n# 盘中监控（今日放量突破）\npython intraday.py --today --top 20\n\n# 单股诊断\npython screener.py 600406 --detail\n\n# 持仓诊断\npython position_diagnosis.py positions.json --detail\n\n# 信号追踪\npython signal_tracker.py --today data/signals_20260803.json\n\n# 参数覆盖 / 北交所\npython screener.py --all --params '{\"vol_ratio_min\":2.0}' --include-bj"},{"language":"bash","snippet":"cd ~/.workbuddy/skills\ntar -czf volume-price-screener.tar.gz volume-price-screener/\n# 对方: tar -xzf volume-price-screener.tar.gz -C ~/.workbuddy/skills/"},{"language":"text","snippet":"放量质量(30) + 缩量质量(20) + 横盘质量(25) + 趋势量能(15) + 加分信号(10) = 100"},{"language":"text","snippet":"放量质量 17.0/30（量比2.3→12 + 拉升7%→5 + 新高✗→0）\n缩量质量  5.0/20（深度51%→5 + 天数9→0）\n横盘质量 17.0/25（振幅6.4%→7 + 位置upper→8 + 回调→2 + 低点✗→0）\n趋势量能  4.0/15（新高✗ + 均线✓→4 + 量能✗）\n加分信号 10.0/10（齐升✓ + 缩跌✓）\n总分 53.0 → 关注形态 + 背离预警"},{"language":"bash","snippet":"python portfolio_backtest.py --walk-forward --top-k 5 --nav\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15\npython portfolio_backtest.py --walk-forward --top-k 1 --nav --cost 0.15 --sort score\npython portfolio_backtest.py --all-sorts --top-k 5      # 全样本（有泄漏，仅参考）"},{"language":"bash","snippet":"cd <skill_dir>/scripts\n\n# 全市场扫描\npython screener.py --all --top 30 --detail\n\n# 盘中监控（今日放量突破）\npython intraday.py --today --top 20\n\n# 单股诊断\npython screener.py 600406 --detail\n\n# 持仓诊断\npython position_diagnosis.py positions.json --detail\n\n# 信号追踪\npython signal_tracker.py --today data/signals_20260803.json\n\n# 参数覆盖 / 北交所\npython screener.py --all --params '{\"vol_ratio_min\":2.0}' --include-bj"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: hectorlee-volume-price-screener\nslug: hectorlee-volume-price-screener\nversion: 3.7.1\ndisplayName: 量价选股\ndescription: 纯量价关系A股选股系统 V3.7.1。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，130分制评分(+多周期确认-5~+10)，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。\nagent_created: true\n---\n\n# 纯量价选股系统 V3.7.1\n\n## 概述\n\n**6 种量价形态 + 多因子融合 + 多周期确认 + 行业共振 + 关注池曝光度追踪**，纯量价、零基本面依赖。覆盖 A 股 5,191 只（沪主板+深主板+创业板+科创板），含 7×全日定时扫描。\n\n### 六种形态\n\n| 变体 | 标签 | 强度 | 描述 |\n|:----:|:-----|:----:|:-----|\n| D | 🔥 突破延续 | ★★★★★ | 放量后持续上涨≥5%，拒绝回调，不强制缩量 |\n| E | 💜 蓄力突破 | ★★★★★ | 放量前连续≥5日阳线蓄力，标准缩量整理 |\n| C | ✅ 回踩确认 | ★★★★☆ | 缩量回踩放量日高点不破，反弹站稳 |\n| B | 📈 高位平台 | ★★★☆☆ | 缩量后价格在放量日区间上方窄幅运行 |\n| A | 📦 标准横盘 | ★★☆☆☆ | 缩量后价格在放量日区间内横盘（原有） |\n| R | 🔄 底部反转 | ★★★★★ | 暴跌>15%+地量+首阳放量≥2倍，独立形态 |\n\n### 板块差异化阈值\n\n| 板块 | 涨幅阈值 | 量比下限 | 数据源 |\n|:-----|:-------:|:-------:|:-----|\n| 主板大票(>100万手) | 3% | 2.0 | 腾讯 |\n| 主板中票(>30万手) | 4% | 1.8 | 腾讯 |\n| 主板小票 | 5% | 1.5 | 腾讯 |\n| 创业板(300/301) | 6% | 2.0 | 腾讯 |\n| 科创板(688) | 4% | 2.0 | 通达信 |\n| 北交所(4/8/920) | 5% | 3.0 | 通达信 |\n\n### 系统版本演进\n\n| 版本 | 核心变化 |\n|:-----|:---------|\n| V1.0 | 基准：放量→缩量→横盘 三阶段 |\n| V3.0 | 阶段3 扩展为 D/C/B/A 四种变体 |\n| V3.1 | 连阳蓄力、前高突破、板块共振三大增强 |\n| V3.2 | 市值分档降阈值、一字板过滤器修复 |\n| V3.3 | 科创板 TDX 数据源接入、北交所阈值配置 |\n| V3.4 | 创业板 8%→6%、末日晚信号延展、盘中监控模块 |\n| V3.5 | 变体E蓄力突破、多因子融合、多周期确认、行业精确分类、关注池曝光度、7×定时扫描 |\n| V3.6 | 自适应进攻型振幅阈值（趋势斜率陡峭时放宽至15%） |\n| V3.7 | 背离预警扣分（横盘期放量滞涨=出货嫌疑） |\n\n---\n\n## 使用场景\n\n- **全市场扫描**：收盘后扫描全 A 股，输出 Top50 + 板块分析 + 操作建议\n- **盘中监控**：7 个时点（09:00/10:00/11:00/11:35/13:30/14:45/15:05）自动扫描\n- **单股诊断**：给定代码，判断形态 + 评分明细\n- **持仓诊断**：输入持仓文件，批量诊断每只票的形态和风险\n- **信号追踪**：对比两日信号，追踪 NEW/GONE/UPGRADE/DOWNGRADE\n\n## 快速开始\n\n```bash\ncd <skill_dir>/scripts\n\n# 全市场扫描\npython screener.py --all --top 30 --detail\n\n# 盘中监控（今日放量突破）\npython intraday.py --today --top 20\n\n# 单股诊断\npython screener.py 600406 --detail\n\n# 持仓诊断\npython position_diagnosis.py positions.json --detail\n\n# 信号追踪\npython signal_tracker.py --today data/signals_20260803.json\n\n# 参数覆盖 / 北交所\npython screener.py --all --params '{\"vol_ratio_min\":2.0}' --include-bj\n```\n\n---\n\n## 评分体系（130 分制 + 多周期确认 -5~+10）\n\n| 模块 | 分值 | 核心因子 |\n|:-----|:----:|:---------|\n| 放量质量 | 30 | 放量倍数 + 拉升幅度 + 60日新高 |\n| 缩量质量 | 20 | 缩量深度 + 缩量天数 |\n| 变体质量 | 25 | 变体感知：振幅/位置/回调/精准度/延续性 |\n| 趋势量能 | 15 | 60日新高 + MA10/MA20支撑 + 量能多头 |\n| 加分信号 | 15 | 3日量价齐升 + 3日量缩价跌 + 连阳蓄力 |\n| 多因子融合 | 20 | 市值流动性 + 波动率(ATR) + 趋势强度 |\n| 关注池曝光度 | 5 | 近50日历史命中次数（≥8次→+5, ≥3→+3） |\n| 多周期确认 | -5~+10 | 周线MACD金叉/MA10验证 |\n\n**总分构成**：七维定值合计 130 分 + 多周期确认 -5~+10（理论满分约 135）；V3.7 背离预警（横盘期放量滞涨）额外 -10。\n\n**分层**：≥100 强势形态 | 75~99 标准形态 | <75 关注形态\n**权重校准**：A/B 变体质量×0.85，R 放量质量×1.15（回测验证）\n\n---\n\n## 盘中监控模式（intraday.py）\n\n| 时点 | 名称 | 行为 |\n|:---:|:-----|:-----|\n| 09:00 | 盘前扫描 | 昨日信号 Top15 + 今日关注提示 |\n| 10:00 | 盘中监控 | 开盘30分钟盘中放量突破检测 |\n| 11:00 | 二次确认 | 昨日 Top5 盘中验证（持有/减仓） |\n| 11:35 | 午间小结 | 上午最强板块 + 异动 + 下午建议 |\n| 13:30 | 午后监控 | 午后新放量信号 + 上午强势延续性 |\n| 14:45 | 尾盘突击 | 尾盘放量突破 + 跳水预警 + 明日方向 |\n| 16:05 | 收盘全量 | 全扫描 + 板块分析 + 操作建议（16:00 后 hithink 库已同步当日数据） |\n\n### 防污染设计\n- 盘中 "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn71y975j1zr9hcafzd1ybgs898br0jt\",\n  \"slug\": \"hectorlee-volume-price-screener\",\n  \"version\": \"3.7.1\",\n  \"publishedAt\": 1787593849388\n}"},{"path":"references/pattern_rules.md","content":"# 形态规则详解 V3.0（pattern_rules.md）\n\n## V3.0 新增：阶段3 四种形态变体\n\n阶段1（放量拉升）和阶段2（缩量计算）为所有变体共享。阶段3 按优先级 D>C>B>A 判定：\n\n| 变体 | 标签 | 缩量要求 | 核心条件 |\n|:-----|:-----|:--------:|:---------|\n| D | 突破延续 | 不强制 | 累计涨幅≥3%, ≥60%阳线, 未跌破开盘价, 振幅≤15% |\n| C | 回踩确认 | ≥2日 | 振幅≤10%, 至少1日low≤anchor.high×1.02, 之后close>anchor.high |\n| B | 高位平台 | ≥2日 | 振幅≤10%, ≥60%日close>anchor.high, 均价>anchor.high |\n| A | 标准横盘 | ≥2日 | 振幅≤10%, ≥60%日close∈[anchor.low, anchor.high] |\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n## 参数表（DEFAULT_PARAMS，可经 --params JSON 覆盖）\n\n| 参数 | 默认值 | 说明 |\n|:-----|:------:|:-----|\n| `window` | 20 | 形态检测窗口（交易日） |\n| `vol_ma_n` | 20 | 均量周期（量比分母） |\n| `rise_pct_main` | 5.0 | 主板放量涨幅阈值(%) |\n| `rise_pct_gem` | 8.0 | 创业板/科创板放量涨幅阈值(%) |\n| `vol_ratio_min` | 1.5 | 放量倍数下限 |\n| `vol_ratio_opt` | 2.0 | 放量倍数\"更优\"线（评分参考） |\n| `shrink_min_days` | 2 | 最小连续缩量天数 |\n| `amp_max` | 10.0 | 横盘最大振幅(%) |\n| `range_ratio_min` | 0.6 | 收盘价落在锚点高低点区间内的占比下限 |\n| `shrink_days_best` | (4, 6) | 缩量天数最优区间（评分用） |\n| `shrink_depth_best` | 0.5 | 缩量深度最优线（评分用） |\n| `pullback_best` | 0.5 | 回调深度最优线（评分用） |\n| `trend_check_days` | 10 | 跌势检查天数 |\n| `trend_drop_pct` | -10.0 | 跌势阈值(%) |\n| `limit_pct_main` | 9.8 | 主板涨停阈值(%) |\n| `limit_pct_gem` | 19.8 | 创业板/科创板涨停阈值(%) |\n| `ma_n1` | 10 | 支撑均线 1 |\n| `ma_n2` | 20 | 支撑均线 2 |\n| `vol_ma_short` | 5 | 量能短均线 |\n| `vol_ma_long` | 10 | 量能长均线 |\n\n## 板块判定\n\n| 板块 | 代码前缀 | 涨幅阈值 | 涨停阈值 |\n|:-----|:---------|:--------:|:--------:|\n| 主板 | 60x / 000 / 001 / 002 / 003 | 5% | 9.8% |\n| 创业板 | 300 / 301 | 8% | 19.8% |\n| 科创板 | 688 | 8% | 19.8% |\n| 北交所 | 4x / 8x / 920 | 5% | 29.8%（默认不扫描） |\n\n## 四阶段判定细节\n\n### 阶段1：定位放量拉升日\n- 遍历最近 `window` 根 K 线\n- 涨幅 = (当日收盘 - 前日收盘) / 前日收盘 × 100%\n- 量比 = 当日量 / 前20日均量（不含当日）\n- 同时满足 `涨幅 ≥ 阈值(板块)` 且 `量比 ≥ 1.5` → 候选放量日\n- 多个候选 → 取**最近**（索引最大）为锚点\n- 浮点容差 1e-9（边界值如恰好 5.0% 算命中）\n\n### 阶段2：缩量确认\n- 锚点日之后逐日扫描，统计最长连续缩量段（量 < 锚点日量）\n- 最长段 ≥ 2 日 → 通过\n- `shrink_days` = 最长段长度；`shrink_depth` = 该段均量 / 锚点日量\n\n### 阶段3：横盘确认\n- 锚点日后**所有**交易日（至窗口末）\n- 振幅 = (最高 - 最低) / 最低 × 100% ≤ 10%\n- 收盘价落在锚点日 [low, high] 区间内的占比 ≥ 60%\n- 两条件同时满足 → 通过\n\n### 阶段4：加分信号\n- 窗口内任意连续 3 日：量递增且价递增 → 量价齐升 ✓\n- 窗口内任意连续 3 日：量递减且价递减 → 量缩价跌 ✓\n\n## 输出字段\n\n| 字段 | 说明 |\n|:-----|:-----|\n| `anchor_idx` | 放量日在 bars 中的索引 |\n| `surge_pct` | 放量日涨幅(%) |\n| `volume_ratio` | 量比 |\n| `shrink_days` | 最长连续缩量天数 |\n| `shrink_depth` | 缩量深度（0~1） |\n| `amplitude` | 横盘期振幅(%) |\n| `range_ratio` | 收盘价区间占比 |\n| `range_position` | upper / mid / lower |\n| `pullback_ratio` | 回调深度（相对拉升幅度） |\n| `low_point_rise` | 低点是否抬高 |\n| `conc_rise_3d` | 连续3日量价齐升 |\n| `conc_fall_3d` | 连续3日量缩价跌 |\n| `breakout_60d` | 放量日创60日新高 |\n| `ma_support` | 站稳 MA10 且 MA20 |\n| `vol_ma_bull` | 5日均量 > 10日均量 |\n| `divergence_warning` | 放量滞涨背离预警 |"},{"path":"references/scoring_rules.md","content":"# 评分细则（scoring_rules.md）\n\n## 评分总览（100 分制）\n\n```\n放量质量(30) + 缩量质量(20) + 横盘质量(25) + 趋势量能(15) + 加分信号(10) = 100\n```\n\n## 一、放量质量（30 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 放量倍数 | 1.5 ≤ 量比 < 2 | 8 |\n| | 2 ≤ 量比 < 3 | 12 |\n| | 量比 ≥ 3 | 15 |\n| 拉升幅度 | 达标线 | 5 |\n| | 每超 1 个百分点 | +2 |\n| | 上限 | 10 |\n| 60 日新高 | 放量日 high 创前 60 日新高 | +5 |\n\n> 拉升幅度示例（主板）：涨幅 5% → 5 分；7% → 9 分；≥7.5% → 10 分封顶\n\n## 二、缩量质量（20 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 缩量深度 | < 30% | 10 |\n| | 30%~50% | 8 |\n| | 50%~70% | 5 |\n| | > 70% | 3 |\n| 缩量天数 | 2~3 天 | 3 |\n| | 4~6 天 | 5 |\n| | 7~8 天 | 4 |\n| | 其他 | 0 |\n\n> 缩量深度 = 缩量段均量 / 放量日量。缩得越深，说明抛压越轻、筹码锁定越好。\n\n## 三、横盘质量（25 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 振幅 | ≤ 5% | 10 |\n| | 5%~10% | 7 |\n| 横盘位置 | 主体在上半部（收盘均值 ≥ 锚点K线中点） | 8 |\n| | 中部 | 5 |\n| | 下半部 | 3 |\n| 回调深度 | 回撤 ≤ 1/2 拉升幅度 | 5 |\n| | 1/2 ~ 2/3 | 2 |\n| | > 2/3 | 0 |\n| 低点抬高 | 后半段最低 > 前半段最低 | +2 |\n\n> 回调深度 = (放量日收盘 - 横盘期最低) / (放量日收盘 - 前日收盘)。回调越浅越强势。\n\n## 四、趋势与量能（15 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 平台突破 | 放量日创 60 日新高 | +8 |\n| 均线支撑 | 最新收盘 > MA10 且 > MA20 | +4 |\n| 量能均线多头 | 5 日均量 > 10 日均量 | +3 |\n\n## 五、加分信号（10 分）\n\n| 因子 | 条件 | 得分 |\n|:-----|:-----|:----:|\n| 量价齐升 | 窗口内连续 3 日量升价升 | +5 |\n| 量缩价跌 | 窗口内连续 3 日量缩价跌 | +5 |\n\n## 分层与预警\n\n| 总分 | 分层 | 建议 |\n|:----:|:-----|:-----|\n| ≥ 80 | 强势形态 | 形态质量高，优先关注 |\n| 60~79 | 标准形态 | 形态成立，需结合其他维度 |\n| < 60 | 关注形态 | 边缘命中，谨慎对待 |\n\n**背离预警**（不扣分，独立标记）：\n- 横盘期出现：成交量 > 前5日均量 × 1.5 且当日涨幅 < 1% → 放量滞涨\n- 含义：横盘末端放量却拉不动价格，主力可能借横盘出货 → 排序自动降级\n\n## 评分示例\n\n标准命中（茅台 2026-07 实测）：\n```\n放量质量 17.0/30（量比2.3→12 + 拉升7%→5 + 新高✗→0）\n缩量质量  5.0/20（深度51%→5 + 天数9→0）\n横盘质量 17.0/25（振幅6.4%→7 + 位置upper→8 + 回调→2 + 低点✗→0）\n趋势量能  4.0/15（新高✗ + 均线✓→4 + 量能✗）\n加分信号 10.0/10（齐升✓ + 缩跌✓）\n总分 53.0 → 关注形态 + 背离预警\n```"},{"path":"references/test_cases.md","content":"# 测试用例库（test_cases.md）\n\n## 单元测试（pytest，31 用例，全部通过）\n\n### 形态识别（tests/test_pattern_detect.py，15 用例）\n\n| 用例 | 场景构造 | 预期 |\n|:-----|:---------|:-----|\n| test_standard_hit | 第45日放量+7%量比2.2，后14日缩量横盘 | 命中，锚点45 |\n| test_insufficient_volume | 涨幅5%达标但量比1.2 | 不命中 |\n| test_insufficient_surge | 量比2.5但涨幅3% | 不命中 |\n| test_insufficient_shrink | 放量后仅1日缩量 | 不命中 |\n| test_excessive_amplitude | 横盘期制造15%振幅K线 | 不命中 |\n| test_gem_threshold | 涨幅7%创业板(<8%) | 不命中；同条件主板命中 |\n| test_gem_threshold_boundary | 科创板恰好8% | 命中 |\n| test_boundary_values | 恰好5%涨幅+1.5量比 | 命中（含等号） |\n| test_multiple_anchors | 窗口内2根放量日 | 取最近锚点(50) |\n| test_insufficient_data | 仅20根K线 | 不命中 |\n| test_is_gem | 板块判定 | 300/301/688=True |\n| test_rise_threshold | 板块涨幅阈值 | 主板5/创科8 |\n| test_consecutive_signals | 窗口内构造3日量价齐升 | conc_rise_3d=True |\n| test_divergence_warning | 横盘期放量滞涨 | 背离预警=True |\n| test_low_point_rise | 后半段低点抬高 | low_point_rise=True |\n\n### 风险过滤 + 评分（tests/test_risk_scoring.py，16 用例）\n\n| 用例 | 场景 | 预期 |\n|:-----|:-----|:-----|\n| test_st_name_detection | ST/*ST 名称 | 识别正确 |\n| test_check_st | ST华业 / 贵州茅台 | 排除 / 放行 |\n| test_new_stock | 30根K vs 90根K | 剔除 / 放行 |\n| test_one_word_limit | 放量日一字涨停 | 剔除 |\n| test_not_one_word_limit | 正常放量日 | 放行 |\n| test_consecutive_limit | 放量日前2日涨停 | 剔除（连板） |\n| test_not_consecutive_limit | 正常走势 | 放行 |\n| test_downtrend_rebound | 前10日-15%趋势 | 剔除（跌势反弹） |\n| test_not_downtrend | 温和上涨 | 放行 |\n| test_turnover | 2% / 5% / None | 剔除 / 放行 / 跳过 |\n| test_comprehensive_st | 综合过滤含ST | 剔除 |\n| test_comprehensive_turnover_skip | 无换手数据 | 放行+跳过标记 |\n| test_comprehensive_pass | 全通过 | 放行 |\n| test_score_standard | 标准命中评分 | 0<总分≤100 |\n| test_score_components_bounds | 极端高分场景 | 各模块不超上限 |\n| test_score_levels | 高质量 vs 低质量 | 高低分层正确 |\n\n## 合成 K 线生成器（conftest.py）\n\n`build_kline()` 参数化构造可复现的合成行情：\n\n| 参数 | 默认 | 说明 |\n|:-----|:----:|:-----|\n| n | 60 | 总 K 线数 |\n| anchor | 45 | 放量日索引 |\n| surge_pct | 7.0 | 放量日涨幅(%) |\n| vol_ratio | 2.2 | 量比 |\n| post_days | auto | 横盘天数 |\n| post_vol_ratio | 0.4 | 横盘量/放量日量 |\n| post_amp | 0.005 | 横盘波动幅度 |\n| trend | 0.005 | 放量前日涨幅 |\n| base_vol | 1000 | 基础量 |\n| base_price | 10.0 | 起始价 |\n\n## 历史回测（设计方案 6.2 节，待实施）\n\n- 区间：近 3 年逐日滚动全市场扫描\n- 指标：命中率、命中后 5/10/20 日收益率 vs 沪深300、胜率、盈亏比\n- 对照组：随机股票池同窗口收益 → 超额收益显著性检验\n- 输出：命中分布 + 收益直方图 + 分位数报告\n\n## 实盘金丝雀（设计方案 6.3 节，待实施）\n\n- 连续 4 周每日实盘扫描，只输出不交易\n- 与人工复盘对比确认逻辑一致\n- 收集命中后 20 日走势，校准胜率\n\n## 性能基准（设计方案 6.4 节）\n\n| 场景 | 基准 | 实测 |\n|:-----|:----:|:-----|\n| 全市场4591只拉K线(90根,12并发) | < 3 分钟 | ~2 分钟 |\n| 形态检测单只 | < 1ms | < 1ms |\n| 单股诊断 | < 5s | ~0.5s |"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"纯量价关系A股选股系统 V3.7.1。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，130分制评分(+多周期确认-5~+10)，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。 Skill: hectorlee-volume-price-screener Owner: xiyanjun Summary: 纯量价关系A股选股系统 V3.7.1。6种量价形态(D/E/C/B/A/R)+多因子+多周期+行业共振+关注度追踪，130分制评分(+多周期确认-5~+10)，全A股覆盖(含科创板/北交所TDX数据源)，7×日定时扫描(09:00~15:05)，硬过滤ST/退市/次新/一字板/连板/跌势反弹。触发词：放量拉升、缩量调整、量价选股、量价形态、突破延续、蓄力突破、回踩确认、高位平台、底部反转、板块共振、盘中监控。 Tags: latest:3.7.1 Version history: v3.7.1 | 2026-08-24T17:50:49.388Z | user 接入 hithink 本地库（同花顺全市场前复权日K，无 WAF 极速拉取） v0.1.3 | 2026-08-13T10:06:07.878Z","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1001,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T19:57:27.057Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T19:57:27.057Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-13T16:16:19.499Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}