How Balance Compare Works: Compression, Structure, and Tradable Breakouts

by Simon Colman, Founder & Lead Analyst

A chart can be right and a trade can still be wrong.

The underlying can move in the expected direction and your option can go nowhere. Liquidity can thin out. Spreads can widen. Implied volatility can collapse. You can be “right” on price and still fail to monetise the position.

Balance Compare is built around that reality. The model is simple: price defines structure, structure defines levels, and option prices decide whether the setup is tradable.

Price First, Always

Everything in Balance Compare starts with price. There are no narratives, no discretionary overrides, and no hidden inputs.

Indicators are not “extra signals.” They are ways of organising price so the system can define boundaries, targets, and failure points without interpretation.

Trend Grants Permission

The system does not trade every market. It trades only when the regime is clear.

Trend permission is defined by EMA structure:

  • Bullish: EMA20 > EMA50 > EMA100
  • Bearish: EMA20 < EMA50 < EMA100
  • Flat/rotational markets are ignored

Trend does not trigger entry. Trend determines whether entries are allowed at all, and in which direction.

Compression Lives Inside Zones

Most of the time, markets compress. They churn inside boundaries. They spend energy without making progress.

Balance Compare treats that compression as the starting point.

The model defines containment bands called zones. When price stays inside a zone, it is compressing within measurable limits. When price pushes from one zone into the next, compression breaks and expansion begins.

Those zones are not abstract. They are the execution framework.

Fibonacci Zones Are Those Zones

The “zones” used by the model are Fibonacci zones computed from the full swing range in the data set (swing low to swing high). The current price is normalised into that swing and mapped into one of four containment regions:

  • 0.000 → 0.236
  • 0.236 → 0.500
  • 0.500 → 0.786
  • 0.786 → 1.000

Each zone has three useful numbers:

  • low (zone boundary)
  • high (zone boundary)
  • mid (the zone midpoint)

These are not used to “predict.” They are used to define where price is contained and what it would mean for price to progress.

Strategy Selection Is EMA-Driven

Strategy selection comes from EMA structure first, then price location relative to the current zone.

Only one strategy can be chosen at a time:

  • BREAKOUT

    • used when the next trend leg is expected to begin
    • the trigger is defined using the next zone in the trend direction
  • TREND_CONTINUATION

    • used when the trend is intact and the market is progressing through structure
    • the trigger is more conservative (EMA20), but targets are still structural

If the EMA regime is not valid, strategy selection is null. No trade.

Execution Geometry: Trigger, Target, Invalidation

Once a strategy is selected, Fibonacci zones provide the execution geometry.

  • Trigger

    • the boundary of the next Fibonacci zone in the trend direction
    • this is the “entry into the next containment band”
  • Target

    • the midpoint of that next zone
    • the first objective is structural progress, not hope
  • Invalidation

    • a structural failure back through the current zone boundary against the trend direction
    • invalidation is not emotional; it is defined by the same zones that defined the setup

This is where compression matters: real moves travel through structure. False moves stall inside structure.

Tradability Filter: The Options-Pricing Status Engine

This is the layer most technical systems do not have.

A chart setup is not enough. A breakout “existing” on the underlying is not enough. An options trade only exists if the option can be sold later for more than you paid. That is not philosophy. That is how markets clear.

Balance Compare uses option prices to decide whether the setup is tradable.

After a valid setup exists (direction + trigger + spot), the engine:

  • pulls near-ATM options around 2-month and 3-month expiries (minimum DTE enforced)
  • takes the cheaper of the two premiums as the reference cost
  • computes:

premium_ratio = min(premium_2m, premium_3m) / expected_upside_to_trigger

This ratio is the system’s tradability proxy. It is not saying “price will move.” It is saying: if price moves, is there enough room for the option to reprice in your favour after spreads, IV dynamics, and execution friction?

That produces four states:

  • WAITING (premium_ratio < 0.25)

    • convexity is cheap relative to the defined upside
    • the setup is tradable, but the move may never show up in the option
    • you are early, and you accept that early often means no payout
  • ACTIVE_EARLY (0.25 ≤ premium_ratio < 0.50)

    • convexity is no longer a bargain, but the trade can still work economically
    • the option can still reprice if expansion begins
  • ACTIVE (0.50 ≤ premium_ratio < 0.75)

    • the underlying may still complete the leg, but the option is demanding more for participation
    • you can be right on direction and still fail to monetise the option if IV compresses or liquidity deteriorates
  • ACTIVE_LATE (premium_ratio ≥ 0.75)

    • the option is priced such that the remaining move is unlikely to compensate
    • the chart can still be “right,” but the trade is not

This is the point of the status engine: it forces the system to trade only what can be monetised, not what can be narrated.

Entry Rules

Entries are governed by status:

  • Enter on WAITING (normal size)
  • Enter on ACTIVE_EARLY (reduced size)
  • Enter on ACTIVE (smallest size / marginal initiation)
  • Skip on ACTIVE_LATE

The system is not trying to be clever. It is trying to avoid paying peak prices for convexity.

Exit Rules

Exits are mechanical.

  • Fast-failure exit

    • if price reaches the invalidation moving in the opposite direction to the forecast,
    • this is how false trades are cut before they reduce reduce capital
  • Time-Based exit

    • if price reaches the invalidation moving in the opposite direction to the forecast,
    • this is how false trades are cut before they reduce reduce capital
  • Profit exit

    • if price reaches the structural target, the position is closed
    • you take the payoff when the leg completes, not after it becomes a different trade

There is no “manage it later.” The entire point is to remove improvisation from the outcome. Also most trades will end in an exit the idea is to exit the trade with minimal downside.

Why Options

Options are used because they cap downside and concentrate upside.

Yes, the mapping from underlying to option P&L is imperfect. That is exactly why the model requires the status engine. The goal is not to pretend options behave like spot. The goal is to participate only when the payoff geometry justifies the uncertainty.

When the model is right and the market reprices the option, options deliver the asymmetric outcome the strategy is built for.

Bottom Line

  • EMAs decide whether trading is permitted and in which direction.
  • Fibonacci zones define compression structure and execution geometry.
  • Options prices decide whether the setup is tradable in reality, not just on a chart.

Balance Compare is not a forecasting engine. It is a filtering engine.

It trades the moves that can be monetised. It ignores the ones that cannot.

More guides

Oil Trading Outlook 2026: Range-Bound Markets and Volatility

Analysis of 2026 oil markets covering supply discipline, demand segmentation, and why value-chain positioning matters more than crude direction in volatile conditions.

Read more

Precious Metals Outlook 2026: Financialised Correlation and Structural Divergence

Analysis of 2026 precious metals markets covering gold, silver, platinum, and palladium — examining financialisation, monetary regimes, and the distinction between flow-driven correlation and structural fundamentals.

Read more