Add T0.95 late-order heat stage
Request: - Reflect that near-final market heat can be used when the user can still place an IPO order at T0.95. Changes: - Added T0_95_final_heat as a separate analyst decision stage with executability and no-leakage rules. - Added an experimental T0.95 rule overlay for late-order heat scoring and calibration discipline. - Updated archivist guidance and the market-heat archiver so snapshots can be explicitly stored as T0_95_final_heat. - Added market_heat_stage to the analysis dataset and refreshed the model report to show T0.95 coverage separately. Verification: - Ran py_compile for the modified scripts. - Checked archive_t0_5_market_heat.py --help for the new --stage option. - Rebuilt data/snapshots/analysis_model_v0_dataset.csv and reports/2026-06-15_analysis_model_v0.md. - Ran git diff --check. Next useful context: - Current archived heat rows remain T0_5_market_heat only; there are no true T0.95 rows yet. - external_ipo_history.public_oversubscription_times is still calibration-only unless a comparable value is archived before the executable order cutoff.
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
version: ipo_score_v0_95_final_heat_trial
|
||||
effective_date: 2026-06-15
|
||||
status: experimental_overlay
|
||||
owner_skill: analyst
|
||||
base_model: ipo_score_v0
|
||||
|
||||
purpose: >
|
||||
Add a stage-safe T0.95 late-order overlay for Hong Kong IPO subscription
|
||||
decisions. T0.95 is used only when the user can still place, amend, or
|
||||
cancel an IPO order near the subscription cutoff and a reproducible
|
||||
near-deadline market-heat snapshot has been archived.
|
||||
|
||||
data_policy:
|
||||
stage: T0_95_final_heat
|
||||
required_condition: >
|
||||
observed_at must be earlier than the user's actual executable order,
|
||||
amend, or cancel cutoff. If this cannot be established, treat the data as
|
||||
post-hoc research rather than as a live T0.95 input.
|
||||
allowed_inputs:
|
||||
- archived_near_deadline_margin_subscription_multiple
|
||||
- provider
|
||||
- observed_at
|
||||
- subscription_deadline
|
||||
- user_order_cutoff_if_known
|
||||
- T0_prospectus_score
|
||||
calibration_only_inputs:
|
||||
- external_ipo_history.public_oversubscription_times
|
||||
- external_ipo_history.one_hand_win_rate_pct
|
||||
- external_ipo_history.grey_market_return_pct
|
||||
- external_ipo_history.first_day_return_pct
|
||||
forbidden_live_inputs:
|
||||
- official_allotment_results_released_after_order_cutoff
|
||||
- public_oversubscription_times_from_T1
|
||||
- international_oversubscription_times_from_T1
|
||||
- grey_market_result
|
||||
- post_listing_price_performance
|
||||
caveat: >
|
||||
Historical final public oversubscription is close to what T0.95 tries to
|
||||
approximate, so it may be used for post-hoc bucket calibration. It must not
|
||||
be represented as data that was visible before the original order cutoff.
|
||||
|
||||
score_components:
|
||||
T0_95_final_heat:
|
||||
margin_subscription_multiple:
|
||||
source: archived_near_deadline_market_data_snapshot
|
||||
points:
|
||||
missing: 0
|
||||
lt_10x: -4
|
||||
gte_10_lt_100x: -2
|
||||
gte_100_lt_1000x: 2
|
||||
gte_1000_lt_5000x: 6
|
||||
gte_5000x: 8
|
||||
timing_quality:
|
||||
source: observed_at_vs_order_cutoff
|
||||
points:
|
||||
observed_after_order_cutoff: disallowed
|
||||
older_than_24h_before_cutoff: -2
|
||||
same_day_before_cutoff: 0
|
||||
within_3h_before_cutoff: 1
|
||||
|
||||
decision_bands:
|
||||
T0_plus_T0_95:
|
||||
score_lt_5: no_late_order
|
||||
score_5_to_8: optional_small_order
|
||||
score_9_to_13: selective_late_order
|
||||
score_gte_14: priority_late_order
|
||||
|
||||
comparison_policy:
|
||||
- Compare T0.95 snapshots only when each snapshot is still actionable for the user's order workflow.
|
||||
- Prefer the latest archived snapshot before the executable order cutoff.
|
||||
- If two IPOs have different close times, normalize by time remaining before cutoff rather than by calendar date alone.
|
||||
- Always discuss allocation probability; very high heat may raise D1 payoff odds while lowering one-lot win rate.
|
||||
- T0.95 can upgrade a T0 watchlist item into a late order candidate, but should not rescue a structurally weak T0 case without explicit PM judgment.
|
||||
@@ -1,5 +1,28 @@
|
||||
# Rule Change Log
|
||||
|
||||
## 2026-06-15 - Add T0.95 late-order heat stage
|
||||
|
||||
Request:
|
||||
|
||||
- Treat near-deadline heat as usable when the user can still place an IPO order at T0.95.
|
||||
|
||||
Change:
|
||||
|
||||
- Added `T0_95_final_heat` to the analyst skill as a separate actionable late-order stage.
|
||||
- Added `rules/ipo_score_v0_95_final_heat_trial.yaml` for stage-safe T0.95 heat scoring and timing discipline.
|
||||
- Updated the archivist skill and `scripts/archive_t0_5_market_heat.py` so market-heat snapshots can be explicitly archived as `T0_95_final_heat`.
|
||||
|
||||
Rationale:
|
||||
|
||||
- If the user can still place, amend, or cancel an order near the subscription cutoff, near-final heat is a legitimate live decision input.
|
||||
- Historical final public oversubscription can help calibrate near-final heat buckets, but it remains post-hoc calibration unless the value was visible before the user's executable order cutoff.
|
||||
|
||||
Verification:
|
||||
|
||||
- Kept the script default stage as `T0_5_market_heat` for backward compatibility.
|
||||
- Added explicit `--stage T0_95_final_heat` support for late-order snapshots.
|
||||
- Verified with py_compile, script help output, dataset rebuild, and `git diff --check`.
|
||||
|
||||
## 2026-06-15 - Use Chinese for analyst reports
|
||||
|
||||
Request:
|
||||
|
||||
Reference in New Issue
Block a user