Reference/Opportunity Alignment Rules

Opportunity Alignment Rules

This page documents the current rule-based methodology behind the Performance page's opportunity-alignment labels.

It is written for business review. The goal is to make clear which rules are current implementation facts and which rules may need business sign-off.

What The Model Is Trying To Answer

Opportunity alignment asks:

At the time Alpha traded, did the available dashboard context support or oppose the trade direction?

It does not answer:

  • whether execution was good
  • whether the trade made money
  • whether the trade should have been placed
  • whether Alpha had a different strategy intent

The current model is a deterministic rules engine, not a learned model.

Current Trade Intent Assumption

Until Alpha provides strategy intent, the model uses direction as a proxy:

Alpha directionCurrent assumed strategy
buyLong volatility
sellShort volatility
anything elseUnknown

This is a major assumption. It can be wrong for hedges, rolls, spread legs, closing trades, directional calls/puts, and portfolio overlays.

Signals Currently Used

The scoring model uses these opportunity-context fields:

SignalFieldIncluded in score?
DVol percentiledvol_percentileYes
VRPvrpYes
Gamma regimegamma_regimeYes
Stationaritystationarity_statusYes
Smile richnesssmile_rich_cheapYes when sourced; currently not sourced for Alpha proxy rows
Term structureterm_structure_stateYes

Important boundary:

BTC proxy liquidity is not part of the opportunity score.

Liquidity is displayed as context coverage/backdrop only. Execution-quality liquidity needs MSTR/COIN traded-contract bid/ask, spread, OI, volume, and quote age at execution time.

Score Construction

Each row starts at 50 when:

  • trade direction is buy or sell
  • at least one scoring signal is observed

The model then adds drivers and detractors.

If context is unavailable, unmapped, or direction is unknown, the score is null and the label is insufficient_data.

Headline Labels

Score rangeLabelPerformance grouping
70-100alignedSupportive
55-69partially_alignedSupportive
45-54mixedMixed/no-edge
30-44weak_alignmentOpposing
0-29misalignedOpposing
nullinsufficient_dataNot scored

Performance page headline percentage:

supportive among decisive rows = supportive / (supportive + opposing)

Mixed/no-edge rows remain visible but are excluded from the decisive denominator.

Current 365d production read:

supportive = 322 rows
mixed      = 225 rows
opposing   = 202 rows
decisive   = 524 rows

headline = 322 / 524 = 61.5%

This is not a performance grade. It is a strategy-read percentage.

Signal Point Rules

DVol Percentile

Trade assumptionConditionImpactReason
Long-vol buyDVol percentile <= 25+20Implied vol is cheap versus its own recent range.
Long-vol buyDVol percentile >= 75-20Implied vol is rich, weakening a long-vol entry.
Short-vol sellDVol percentile >= 75+20Implied vol is rich, supporting short-vol.
Short-vol sellDVol percentile <= 25-20Implied vol is cheap, weakening short-vol.

VRP

Trade assumptionConditionImpactReason
Long-vol buyVRP <= 0+15Implied vol is low versus realized vol.
Long-vol buyVRP >= 5-15Implied vol is rich versus realized vol.
Short-vol sellVRP >= 5+15Positive/rich VRP supports selling vol.
Short-vol sellVRP <= 0-15Low/negative VRP weakens selling vol.

Smile Rich/Cheap

Trade assumptionConditionImpactReason
Long-vol buySmile cheap+15Buying optionality looks more attractive.
Long-vol buySmile rich-15Buying optionality looks less attractive.
Short-vol sellSmile rich+15Selling rich optionality looks more attractive.
Short-vol sellSmile cheap-15Selling cheap optionality looks less attractive.

Current Alpha boundary:

Smile is intentionally not sourced for MSTR/COIN Alpha proxy rows.

BTC smile may be useful market context, but it is not a clean trade-level smile proxy for MSTR/COIN options.

Gamma Regime

Trade assumptionConditionImpactReason
Long-vol buyshort_gamma+5Short-gamma regimes can amplify moves.
Long-vol buylong_gamma-5Long-gamma regimes can damp moves.
Short-vol selllong_gamma+5Long-gamma regimes can support vol selling.
Short-vol sellshort_gamma-5Short-gamma regimes can hurt short-vol exposure.

Stationarity

ConditionImpactReason
stable+5Historical gamma-regime behavior is behaving enough like the current sample to trust more.
unstable-5Historical regime relationships are less reliable.
insufficientno point impactNot enough evidence to add or subtract points; confidence is still reduced.

Term Structure

Trade assumptionConditionImpactReason
Long-vol buyfront_rich or backwardated+5Near-term risk concentration can support long-vol exposure.
Short-vol sellfront_cheap or contango+5Benign front-end structure can support short-vol carry.

Current implementation note:

Term structure currently adds supportive points in favorable cases, but it does not subtract points in the opposite cases.

This asymmetry should be reviewed with the business.

Confidence Penalties

The alignment score and confidence are separate.

  • The score says whether observed signals supported the assumed trade direction.
  • Confidence says how much trust to place in that score.

Confidence starts at 1.0 and is multiplied down.

Context Quality

Context qualityPenalty
unavailable or unmappedx0.15
stale with no observed signalsx0.25
proxy_mappedx0.90

Proxy Mapping

Mapping qualityPenalty
proxy_mappedmultiply by mapping confidence
unmappedx0.10

Current proxy mapping:

UnderlyingMarket proxyMapping confidence
MSTRBTCabout 0.80
COINBTCabout 0.75

Signal Coverage

The model expects six scoring signals:

dvol_percentile
vrp
gamma_regime
stationarity_status
smile_rich_cheap
term_structure_state

Coverage penalty:

confidence *= 0.4 + 0.6 * (observed_signals / 6)

Stationarity Confidence

Stationarity statePenalty
unstablex0.70
insufficientx0.80

Current 365d production average confidence:

48.4%

Business Sign-Off Questions

  1. Should buys always be treated as long-vol and sells as short-vol until strategy intent exists?
  2. Are the DVol thresholds of 25 and 75 the right cheap/rich cutoffs?
  3. Is VRP <= 0 the right long-vol support threshold?
  4. Is VRP >= 5 the right short-vol support threshold?
  5. Should gamma regime only carry +/-5, or should it be more important?
  6. Should stationarity add/subtract points, reduce confidence only, or both?
  7. Should term structure have negative points in unfavorable cases?
  8. Should mixed rows be excluded from the headline denominator, or should the headline show total supportive share?
  9. Should proxy-mapped MSTR/COIN context reduce confidence by the current mapping confidence?
  10. Should these thresholds become configurable instead of hard-coded?

Recommended Demo Explanation

Use this wording when walking the Performance page:

The opportunity number is not a P&L score and not a trading grade. Each Alpha row is classified from the context we had at entry. Aligned and partially aligned rows count as supportive; weak and misaligned rows count as opposing; mixed rows stay visible but do not enter the decisive denominator. Current production is 322 supportive, 225 mixed, and 202 opposing rows, so the headline is 322 divided by 524 decisive rows, or 61.5%. Because the mixed bucket is still material and confidence is below 50%, the right read is not "good" or "bad"; it is "segment before judging."