Install
openclaw skills install @qinjobs/money-claw-us-stocksopenclaw skills install @qinjobs/money-claw-us-stocks严格区分三个层级:
不要把盘前涨幅、盘前最高价或上一常规时段的 last price 当作正式开盘 Gap。不要把 evidence score 当成上涨概率。
按需读取:
盘前价/盘前量/最新价/昨收/今开/停牌,不凭颜色猜字段。UNKNOWN,不得当成 0。POST_SPLIT 风险。至少收集:
symbol, timestamp, market_status, security_type, listed_days
prev_close, pre_price, pre_high, pre_volume, bid, ask
market_cap, total_shares, float_shares
median_dollar_volume_20, avg_volume_20, pre_return_20d_pct
split_today, post_split, last_split_date, dilution_overhang, halted
premarket_supply_risk, supply_risk_type, supply_risk_source, supply_risk_checked_at
open_price, last_price, regular_volume, vwap, first_5m_structure
prior_abnormal_volume_warmup, turnover_expanding
catalyst, catalyst_source
若缺少真实 float,计算:
implied_total_shares = market_cap / current_price
只能称为“估算总股数”,不得称为 float。批量候选使用:
python scripts/score_candidates.py candidates.csv --format markdown
python scripts/score_candidates.py candidates.json --format json
字段定义见 references/factor-model.md。
使用以下事件前硬门槛:
security_type in {Common, Ordinary, ADR, ADS}
AND listed_days >= 20
AND split_today == false
AND 0.30 <= prev_close <= 5.00
AND median_dollar_volume_20 <= 1,000,000
AND (verified_float <= 15,000,000 OR total_shares <= 10,000,000)
prev_close <= 5 视为模型范围,不解释为独立有效因子。EXCLUDE。计算:
pre_gap_pct = (pre_price / prev_close - 1) * 100
pre_turnover = pre_volume / supply_shares
spread_pct = (ask - bid) / ((ask + bid) / 2) * 100
pre_high_fade_pct = (pre_price / pre_high - 1) * 100
pre_dollar_volume = pre_price * pre_volume
pre_rv20 = pre_volume / avg_volume_20
分层:
pre_gap >= 100%:强候选,等待正式开盘。50% <= pre_gap < 100%:观察。20% <= pre_gap < 50%:只在供应极紧且成交继续扩张时观察。pre_gap < 20%:不进入常规 gap squeeze。只有以下质量条件全部通过,才输出 WAIT_OPEN:
pre_turnover >= 0.50
AND spread_pct <= 2.50
AND pre_high_fade_pct >= -20.00
AND premarket_supply_risk == false
始终使用正式开盘价计算:
official_gap_pct = (open_price / prev_close - 1) * 100
仅在以下条件全部满足时输出 EXECUTE:
official_gap_pct >= 100
AND last_price >= VWAP
AND regular_volume / supply_shares >= 1.00
AND spread_pct <= 2.50
AND first_5m_structure == confirmed
AND premarket_supply_risk == false
AND halted != true
等待第一根 5 分钟 K 线,突破 max(premarket_high, opening_range_high) 后回踩不破再执行。
只在 official_gap < 20% 且以下条件全部满足时输出 EXECUTE:
regular_volume / supply_shares >= 1.00 very early after open
AND last_price >= VWAP
AND turnover_expanding == true
AND prior_abnormal_volume_warmup == true
AND spread_pct <= 2.50
AND first_5m_structure == confirmed
AND premarket_supply_risk == false
AND halted != true
不要把常规 Gap >= 100% 模型的命中率套用到 CPHI subtype。
上游只有 EXECUTE 才能进入日内执行模块。逐个完成的 5 分钟 bar 更新:
last_price, high_price, vwap, bid, ask
ma5, ma10, ma20, current_bar_volume, bar_volume_ma5, macd_hist
turnover_expanding, retest_confirmed, halted, dilution_overhang
official_primary_source, catalyst_age_minutes
批量或单票快照使用:
python scripts/classify_intraday_phase.py snapshots.json --format markdown
只使用以下阶段:
| 阶段 | 执行 |
|---|---|
OPEN_CONFIRMATION | 等待 VWAP、均线和周转确认 |
TREND_EXPANSION | 只做突破后的首次或二次缩量回踩 |
CONTROLLED_PULLBACK | 回踩确认后才允许入场;已有仓位减为 core |
PARABOLIC_EXTENSION | 禁止追涨;已有仓位减仓 50–80% |
BLOW_OFF_DISTRIBUTION | 禁止新开;退出 runner |
FAILED_TREND | 退出 |
HALTED | 禁止新开;复牌后重算 |
WAIT_DATA | 修复数据 |
以下组合定义末端派发,而不是新突破:
day_gain_pct >= 250%
AND high_fade_pct <= -10%
AND current_bar_volume / bar_volume_ma5 >= 2.00
AND (last_price < MA5 OR macd_hist <= 0)
消息发酵按 UNVERIFIED / FRESH / FERMENTING / CROWDED 分层。未验证消息不交易;
消息越拥挤,越不能用题材强度替代回踩、spread 和供应检查。完整规则见
references/intraday-500pct-playbook.md。
halted=true 时输出 WATCH,禁止新开仓;复牌后重新确认 VWAP、spread、周转和价格结构。supply_risk_source 与 supply_risk_checked_at。优先核验 424B5/424B3、
S-1/S-3、EFFECT、8-K Item 1.01/3.02、发行公告及定价公告。premarket_supply_risk=true 并直接输出
EXCLUDE:active ATM、public/registered direct offering、可立即出售的 registered
resale、PIPE/equity line、warrant exercise/inducement/repricing、可转债转股、解禁或
其他会在当前事件窗口增加可售股份的安排。premarket_supply_risk=UNKNOWN,输出 WAIT_DATA 并继续核验。dilution_overhang 为旧字段。新数据以 premarket_supply_risk 为准;旧数据缺少新字段时
可回退到 dilution_overhang,但必须标记 SUPPLY_RISK_LEGACY_FALLBACK。只使用以下机器状态:
| 状态 | 含义 |
|---|---|
EXECUTE | 结构、路径、VWAP、周转、流动性和供应风险全部确认 |
WAIT_OPEN | 强盘前候选,等待正式开盘确认 |
WAIT_DATA | 关键字段缺失 |
WATCH | 部分因子符合、执行门槛失败或正在停牌 |
EXCLUDE | 证券类型、当日 split、结构/事件强度失败,或确认存在盘前供给风险 |
同时输出:
path_type:CONVENTIONAL_GAP、CPHI_SUBTYPE 或 NONE。risk_flags:HALTED、SUPPLY_RISK_CONFIRMED、PREMARKET_SUPPLY_RISK、
SUPPLY_RISK_UNKNOWN、SUPPLY_RISK_LEGACY_FALLBACK、DILUTION_OVERHANG、
POST_SPLIT、SUPPLY_PROXY、MISSING_DATA。先给30秒结论,再给候选排名、有效因子、缺失字段、风险、升级条件、失效条件和排除名单。所有百分比和金额保留两位小数。
默认单笔风险:
risk_budget = account_equity * 0.25%
shares = floor(risk_budget / abs(entry - stop))
PARABOLIC_EXTENSION 时减仓 50–80%;进入 BLOW_OFF_DISTRIBUTION 时退出 runner。