Jump to content

Component:Probability Zone

From PlusEV Wiki Page
Revision as of 00:10, 10 January 2026 by 152.57.36.146 (talk)
 ---
 = Component: Probability Zone Analysis =
 File: probability_zone_analysis.py
Type: Support Component
Lines: 947
Branch: task/T26_probability_zone
Code: View Source
 ----
 == Purpose ==
 Answers the question: "Where is price in the range, and what are the odds of continuation?"
 This component implements the probability zone concepts from trade_philosophy.pdf:
 # Divides price range into halves and thirds
 # Calculates continuation probability based on zone
 # Detects Three-Finger Spread (profit-taking pressure)
 # Identifies crash bars (structural breaks)
 # Filters signals based on zone probability
 ----
 == Trading Market Principle ==
 "Trade with the odds. Top third after pullback = 80% continuation. Bottom third = 15%."
 * Price in top third = high probability of new high (80%) → favor LONG
 * Price in bottom third = low probability of new high (15%) → avoid LONG
 * Three-finger spread = profit-taking imminent → avoid new positions
 * Crash bar = structural break → short the bounce
 * Sideways market = mean reversion → opposite logic applies
 ----
 == Probability Zones ==
 Divide recent swing range into zones:
      ┌───────────────────────────────────────┐ ← Swing High
      │                                       │
      │         TOP THIRD (80%)               │ ← 80% continuation probability
      │     (Above 66.7% of range)            │
      ├───────────────────────────────────────┤
      │                                       │
      │         TOP HALF (65%)                │ ← 65% continuation probability
      │     (50% - 66.7% of range)            │
      ├───────────────────────────────────────┤ ← 50% Line
      │                                       │
      │         BOTTOM HALF (35%)             │ ← 35% continuation probability
      │     (33.3% - 50% of range)            │
      ├───────────────────────────────────────┤
      │                                       │
      │         BOTTOM THIRD (15%)            │ ← Only 15% continuation (85% DOWN)
      │     (Below 33.3% of range)            │
      │                                       │
      └───────────────────────────────────────┘ ← Swing Low
  
Zone Range Position Continuation Prob Trading Implication
Top Third ≥ 66.7% 80% Strong LONG zone after pullback
Top Half 50% - 66.7% 65% OK for LONG with confirmation
Bottom Half 33.3% - 50% 35% Cautious LONG, watch for confirmation
Bottom Third < 33.3% 15% Avoid LONG (85% chance of lower)
 ----
 == Three-Finger Spread ==
 Detects large separation between Price, 21 MA, and 200 MA:
  BULLISH THREE-FINGER SPREAD:
      Price >> 21 MA >> 200 MA (large gaps)

      Interpretation:
      - Many traders with unrealized profits
      - Any red bar can trigger mass profit-taking
      - Creates fast, violent declines
      - AVOID LONGS in this condition

  BEARISH THREE-FINGER SPREAD:
      Price << 21 MA << 200 MA (large gaps)

      Interpretation:
      - Many traders with unrealized losses
      - Potential for short squeeze
      - AVOID SHORTS in this condition
  
 Detection Threshold: 2% minimum spread between each level
 ----
 == Crash Bar Detection ==
 Identifies structural breaks (crash bars):
  Crash Bar Criteria:
      1. Range ≥ 2× average range of prior 10 bars
      2. Close near extreme (within 30% of high/low)
      3. Fast, violent, elongated movement

  IF crash bar detected:
      - Block LONG signals
      - Allow SHORT signals with 1.5x strength

  Post-Crash (within 5 bars):
      - Bounce to top zone = prime SHORT entry
      - Block LONG signals
  
 ----
 == Pullback Classification ==
 Classifies pullbacks as healthy or collapse:
Type Criteria Trading Action
HEALTHY_PULLBACK ≤ 50% retracement, 45-degree drift Good entry opportunity
COLLAPSE ≥ 60% retracement, vertical drop Avoid buying the dip
BOUNCE Between healthy and collapse Short opportunity in downtrend
NO_PULLBACK < 10% retracement Price at highs, wait for pullback
 ----
 == Signal Filtering Logic ==
 === Trending Market ===
  UPTREND:
      Top Third:      LONG ✓ (80% odds), SHORT ✗
      Top Half:       LONG ✓ (65% odds), SHORT ✗
      Bottom Half:    LONG ⚠ (35% odds, reduced strength), SHORT ✗
      Bottom Third:   LONG ✗ (15% odds), SHORT ✓ (trend break signal)

  DOWNTREND:
      Bottom Third:   SHORT ✓, LONG ✗
      Top Third:      SHORT ✓ (bounce entry), LONG ✗
  
 === Sideways/Creeper Market ===
 Mean reversion logic (opposite of trending):
  SIDEWAYS:
      Top Third:      LONG needs confirmation, SHORT ✓
      Top Half:       LONG needs confirmation, SHORT ✓
      Bottom Half:    LONG needs confirmation, SHORT ✓
      Bottom Third:   LONG ✓ (85% reversal up), SHORT ✗
  
 ----
 == Configuration ==
Parameter Value Description
top_third_threshold 0.667 Above 66.7% = top third
bottom_third_threshold 0.333 Below 33.3% = bottom third
top_third_probability 0.80 80% continuation
bottom_third_probability 0.15 15% continuation
swing_lookback_bars 20 Bars for swing detection
three_finger_min_spread_pct 0.02 2% minimum spread
crash_bar_multiplier 2.0 Bar 2x average = crash
crash_bar_close_threshold 0.30 Close within 30% of extreme
healthy_pullback_max_depth 0.50 Max 50% for healthy
collapse_min_depth 0.60 Min 60% for collapse
 ----
 == Output ==
 ProbabilityZoneResult:
Field Type Description
zone Enum TOP_THIRD, TOP_HALF, BOTTOM_HALF, BOTTOM_THIRD
zone_position_pct float 0-100, where in range
continuation_probability float 0.15 - 0.80
swing_high float Recent swing high
swing_low float Recent swing low
has_three_finger_spread bool Large MA spread detected
ma_structure Enum UPTREND, DOWNTREND, SIDEWAYS, THREE_FINGER_*
pullback_type Enum HEALTHY, COLLAPSE, BOUNCE, NO_PULLBACK
is_crash_bar bool Crash bar detected
crash_bar_magnitude float How many times larger than average
allows_long bool Should LONG be allowed?
allows_short bool Should SHORT be allowed?
signal_strength_modifier float 0.5 - 1.5 multiplier
 ----
 == Dependencies ==
 Used By:
 * signal_generation_trade_management.py - Gate 4: Probability Zone Filter
 Provides:
 * Zone classification for signal filtering
 * Continuation probability for strength adjustment
 ----
 == Quick Reference ==
Condition LONG SHORT Reason
Top third, uptrend ✓ Strong ✗ Block 80% continuation
Bottom third, uptrend ✗ Block ✓ Allow 85% down probability
Three-finger spread (bull) ✗ Block ✓ Allow Profit-taking imminent
Three-finger spread (bear) ✓ Allow ✗ Block Potential reversal
Crash bar detected ✗ Block ✓ Strong Structural break
Post-crash bounce to top ✗ Block ✓ Strong Bounce short opportunity
Collapse detected ✗ Block ✓ Allow Not healthy pullback
Sideways, top third Needs confirm ✓ Allow Mean reversion
Sideways, bottom third ✓ Strong ✗ Block 85% reversal up
 ----