FAQ

How this system works, what the metrics mean, and how it evolves.

Understanding the metrics

What is the Opportunity Score?

A bipolar directional edge score from -100% to +100%. It answers the single question: "should I buy or sell right now?" Positive = buy setup, negative = sell setup, near zero = no edge. The score is derived from the directional bias between LONG and SHORT confluence — the gap between how strongly the market supports buying vs selling, normalized to a clean scale. The sign IS the direction, the magnitude IS the conviction.

What do the different score zones mean?
+70% to +100%Strong BuyHigh conviction long

Multiple dimensions strongly agree on a buy setup. Derivatives crowding, institutional flows, HTF structure, and exchange flows all pointing the same way. Position size scales up aggressively in this zone.

+40% to +70%Moderate BuyBullish lean

Directional lean toward buying, but not all dimensions agree. Some components support, others are neutral. Position size is moderate — check the confluence breakdown to see what's driving the lean.

-15% to +40%No EdgeWait

Dimensions are balanced or all weak. The system still picks the higher-scoring direction but sizes the position small (pilot). Wait for dimensions to converge before adding risk.

-70% to -15%Moderate SellBearish lean

Directional lean toward selling. Tighten stops on longs, start scanning for short entries. Position size is moderate.

-100% to -70%Strong SellHigh conviction short

Multiple dimensions strongly agree on a sell setup. The mirror of Strong Buy — the system sees a high-probability reversal to the downside, sized aggressively.

What is the Composite Fear & Greed Index?

A secondary context metric scored 0–100 that measures crowd sentiment. It is not the primary metric — the Opportunity Score is. The F&G index uses three components: Positioning (50%) from derivatives data, Institutional Flows (30%) from ETF data, and Trend (20%) from HTF technicals. It is useful as crowd temperature context for the LLM synthesizer but does not contribute to the mechanical confluence scoring — doing so would triple-count signals already measured by the source dimensions.

What are the four confluence dimensions?

Four independent dimensions each score -1 to +1 (rendered -100% to +100%) for a given direction. HTF Structure: volatility compression, CVD divergence, RSI stretch, volume profile displacement, and MA mean-reversion pull. Derivatives: crowded longs/shorts, stress events (capitulation/unwinding), funding extremes, and open interest fuel. ETF Flows: flow sigma with regime-contradiction bonus, reversal confirmation after streaks, reversal ratio, and reversal regime. Exchange Flows: 7d/30d reserve changes and 30-day reserve extremes. The total is the IC-weighted average across the four dimensions (also -1..+1, weights sum to 1) so adding or removing a dimension never changes the displayed range. Sentiment was removed from confluence scoring — it is a composite of derivatives (50%) + ETFs (30%) + HTF (20%), so including it would triple-count those dimensions.

What does it mean when dimensions disagree?

When dimensions are split (some positive, some negative), the Opportunity Score will be near zero — no edge. The signal has real predictive power only when multiple dimensions converge in the same direction. Check the confluence breakdown rows to see which dimensions agree and which oppose.

Should I trade directly from the Opportunity Score?

The Opportunity Score tells you the mechanical system's assessment. A strong reading (+70 or -70) means multiple independent data sources agree on direction. However, the system is designed for swing trading reversals — always consider the broader context and your own risk management. The trade idea section shows the full confluence breakdown, entry/target levels, and whether a trade was actually taken.

How metrics are calculated

Where does the data come from?

Four sources. CoinGlass API provides derivatives data (funding rate OI-weighted across Binance, OKX, Bybit, dYdX, and Hyperliquid; 30-day funding history at 8-hour resolution via Binance; open interest at 4-hour resolution over 30 days; liquidation volumes at 8-hour resolution over 90 days; Coinbase premium), ETF flow data (daily net flows, GBTC premium), and exchange balance data (historical balances per exchange with 1d/7d/30d changes). Binance Spot provides 4H and daily OHLCV candles (300 4H, 104 daily) for technical indicators. Binance Futures provides 4H candles for CVD analysis. The Unbias API provides accuracy-weighted analyst consensus (currently collecting baseline data).

How is the Positioning score calculated?

Each raw metric (funding, OI, liquidations) is ranked into percentiles over 1-week, 1-month, and 3-month windows. Two independent classifiers run on this data. The Positioning classifier (slow, structural) detects crowded longs/shorts: funding percentile above 80 with elevated OI triggers CROWDED_LONG, below 20 triggers CROWDED_SHORT. The Stress classifier (fast, event-driven) detects capitulation (liquidations above 85th percentile with OI drop and price move), unwinding (moderate OI decline with elevated liquidations), and deleveraging (consecutive negative funding with gradual OI decline). Both use hysteresis thresholds to prevent rapid state flipping.

How is the Institutional Flows score calculated?

The classifier tracks consecutive inflow/outflow streaks — 3+ days of the same direction triggers a strong signal. Flow magnitude is measured as sigma (standard deviations from the 30-day mean) to catch outsized days. Reversal detection fires when 2+ days of opposite flow appear after a streak, with magnitude at least 20% of the prior phase. States: STRONG_INFLOW, STRONG_OUTFLOW, REVERSAL_TO_INFLOW, REVERSAL_TO_OUTFLOW, and MIXED.

How is the Exchange Flows score calculated?

Exchange flows track coins moving on and off exchanges across 20+ exchanges. Coins leaving exchanges (outflow) signal accumulation — investors moving to self-custody with no intent to sell. Coins entering exchanges (inflow) signal distribution — positioning to sell. The score maps 7-day reserve change to a 0–100 scale (outflow = bullish/high, inflow = bearish/low), boosted by trend confirmation (falling reserves = bullish), 30-day extremes (reserves at 30d low = strong accumulation), and regime state. States: ACCUMULATION, DISTRIBUTION, EF_NEUTRAL, HEAVY_INFLOW, HEAVY_OUTFLOW. Note: Exchange Flows was removed from the sentiment composite (proved unreliable as a sentiment signal) but remains a standalone dimension and contributes to trade idea confluence scoring.

How are the technical indicators computed?

SMA-50 and SMA-200 on 4H candles (300 candle history). RSI-14 on daily candles (104 candle history) plus 4H for momentum. CVD uses dual-window analysis (20-candle short, 75-candle long) with pivot-based divergence detection — see the CVD question below. Market structure is detected via pivot analysis (higher-highs/higher-lows vs lower-highs/lower-lows). VWAP is anchored weekly and monthly. ATR-14 on 4H candles measures volatility. Volume Profile is computed from futures 4H candles (750 candle history, ~4 months) with displacement-based range detection — see the Volume Profile section below.

How does CVD divergence detection work?

CVD (Cumulative Volume Delta) measures the difference between aggressive buying and selling: buy volume hits the ask, sell volume hits the bid. The system compares swing highs/lows of price vs CVD to detect two distinct mechanisms. Absorption: CVD makes a new extreme but price does not — the opposing side is actively absorbing aggression (e.g. CVD higher high while price stalls = buyers being absorbed by large limit sellers). This is the stronger signal because heavy hands are actively working. Exhaustion: price makes a new extreme but CVD does not — aggression is simply disappearing (e.g. price higher high while CVD stalls = buyers are gone, move running on thin liquidity). Both are divergences, but absorption implies active distribution/accumulation while exhaustion implies the trend is running out of fuel. The system also compares spot CVD vs futures CVD: if futures CVD rises during a bounce while spot CVD stays flat or falls, the bounce is classified as a suspect bounce driven by short covering with no real demand behind it.

How does the Momentum Divergence detection work?

It detects when price direction and internal momentum disagree: price making new highs while RSI makes lower highs (bearish divergence / distribution), or price making new lows while RSI makes higher lows (bullish divergence / accumulation). CVD from Binance Futures amplifies the signal — if volume flow contradicts the price trend, the divergence is stronger. Note: this was removed from the sentiment composite score (proved unreliable as a sentiment signal) but the detection is still computed and available to the LLM synthesizer and trade idea confluence scoring.

What does 'code computes, LLMs reason' mean?

All metrics are computed deterministically by code: percentiles, state machines, technical indicators. No LLM is involved in scoring. LLM agents (Claude Sonnet) then interpret the computed metrics — they receive the regime states and context, and produce the written brief explaining what it means. The separation ensures scores are reproducible and auditable, while interpretation benefits from language model reasoning.

Volume Profile

What is Volume Profile?

Volume Profile shows how much trading volume occurred at each price level over a period. Unlike time-based volume bars, it reveals where the market spent the most time transacting — these high-volume levels act as price magnets. The system computes it from Binance futures 4H candles (~4 months of history) by distributing each candle's volume uniformly across the price bins it spans.

What is the POC (Point of Control)?

The price level with the highest traded volume — the strongest single price magnet. Price tends to gravitate toward the POC during range-bound conditions. In the composite target calculation, the POC carries the highest weight (25%) because it represents empirical consensus on fair value.

What is the Value Area (VA)?

The price range containing 70% of all traded volume, built by expanding outward from the POC. VA High and VA Low define the boundaries. When price is inside the VA, it's trading within fair value. When outside, it's extended and more likely to mean-revert. The system reports your position as ABOVE VA, INSIDE VA, or BELOW VA.

How does displacement-based range detection work?

Volume Profile is most meaningful during ranges — not trends. The system automatically detects where the current range started by walking backward through candles looking for a displacement: a single candle moving more than 5×ATR, or a 3-candle window moving more than 5×ATR. The profile is anchored to the first candle after that displacement. This ensures the profile only includes volume from the current trading range, not from a prior trend phase. Minimum range: 20 candles (~3.3 days). If no displacement is found in the full 750-candle window, all candles are used.

What are HVNs and LVNs?

High Volume Nodes (HVNs) are secondary price magnets — bins with significant volume concentration, excluding the POC. Price tends to consolidate around HVNs. Low Volume Nodes (LVNs) are acceleration zones — thin areas between HVNs where price moves quickly because there's little historical agreement. LVNs often act as support/resistance gaps: price either bounces off them or rips through.

How does Volume Profile affect trade ideas?

Two ways. First, the POC is the highest-weighted level (25%) in the composite target calculation — it pulls the target toward the strongest volume magnet. Second, price position relative to the Value Area contributes 15% of the HTF confluence score: price below the VA is a bullish signal (POC magnet pulls up), price above is bearish. The signal strength scales with POC thickness — a concentrated POC with 5%+ of total volume gets full weight.

Liquidity Sweep Levels

What are liquidity sweep levels?

Stale weekly and monthly highs and lows that accumulate stop orders over time. Traders place stops above highs and below lows — the longer a level sits untested, the more orders cluster around it. Market makers and large players are incentivized to push price through these levels to trigger the accumulated orders, creating a 'sweep.' The system tracks these levels as directional price magnets.

How is sweep attraction calculated?

Sweep attraction = log2(age in days) / (distance % + 0.5) × 100. Closer and older levels score highest — a nearby level with weeks of accumulated stops is the most likely to be swept. Age uses log2 for diminishing returns (a 30-day-old level is much more attractive than a 7-day one, but 90-day vs 60-day matters less). Distance is in the denominator: levels close to current price score higher because they're easier to reach. Levels less than 3 days old are ignored (too fresh to accumulate meaningful liquidity).

How do sweep levels affect trade ideas?

The highest-attraction sweep level in the trade direction gets 10% weight in the composite target — for a LONG idea, the nearest unswept high above price pulls the target up; for SHORT, the nearest unswept low below pulls it down. Sweep proximity was removed from the HTF confluence score (±15 noise that didn't improve reversal detection) but the levels remain valuable as directional price targets.

What timeframes are tracked?

Current calendar month and current calendar week highs and lows, computed from daily candles. When a new month starts on the 1st, the counter resets and new highs/lows begin forming. Same for weeks on Monday. Only the actively forming period is tracked — previous months/weeks are discarded. Near-duplicate levels (weekly and monthly within 0.5% of each other) are deduplicated, keeping the one with higher attraction.

Trade ideas

How are trade ideas generated?

Fully mechanical — no LLM involved in the decision. The system scores LONG and SHORT using granular confluence scoring across four dimensions. Each dimension produces a conviction score from -1 to +1 (rendered as -100% to +100%). The direction with the higher weighted-average total is always taken; position size scales with conviction × inverse volatility (no skip threshold).

What are the four confluence dimensions?

Derivatives (crowded longs/shorts, stress events like capitulation/unwinding, funding extremes, OI fuel), ETF Flows (flow sigma with regime-contradiction bonus, reversal confirmation, reversal ratio, reversal regime), HTF Structure (volatility compression, CVD divergence, RSI stretch, volume profile displacement, MA mean-reversion pull), and Exchange Flows (7d/30d reserve changes, 30-day reserve extremes). Each scores -1 to +1 independently (shown as -100% to +100%). Sentiment was removed — it is a composite of the other dimensions, so including it would triple-count signals.

How does conviction scale into position size?

Total conviction is the IC-weighted average of the four dimension scores, in -1..+1 (shown as -100% to +100%). Every directional setup is taken — no skip threshold — but position size scales non-linearly with conviction × inverse volatility. A +75% conviction with the volatility compression bonus produces a much larger position than +25% with no compression. The dimension count is invariant: adding a fifth dimension changes only the average, not the displayed range or the scale of every threshold downstream.

What is the volatility compression (coiled spring) signal?

After a big price move, volatility tends to decay — ATR drops as the market consolidates. This 'coiled spring' often precedes the next explosive move. The system detects it by comparing current ATR to its recent 50-candle distribution: when ATR is in the bottom 30th percentile AND a recent displacement of 2+ ATR units exists within the last 30 candles, the compression flag fires. This doesn't pick direction — it amplifies conviction in whichever direction other signals (RSI, CVD) point. The idea: catch the moment the market transitions from turbulence decay into the next big move.

How are price targets computed?

A weighted median of up to six mean-reversion and directional levels: POC (25%), SMA-200 (20%), SMA-50 (15%), weekly VWAP (15%), monthly VWAP (15%), and the directional sweep level (10%). The POC from the volume profile is the highest-weighted level — the strongest empirical price magnet. The sweep level is directional: for LONG ideas, the highest-attraction unswept high above price; for SHORT, the highest-attraction unswept low below. RSI confidence scales the target distance — when RSI is extreme (near 0 or 100), the target stands at full distance; when RSI is near 50, it compresses toward entry (0.3x floor). Each idea produces seven tracked levels: four invalidation stops at R:R 1:2 through 1:5, and three targets at 50%, 100%, and 150% of target distance.

What role does the LLM play in trade ideas?

None in the decision itself. Direction, targets, levels, and confluence scoring are all computed mechanically by code. The LLM receives the mechanical decision and writes a human-readable brief describing it — explaining what's driving conviction. The LLM cannot override the direction or suggest alternatives.

What timeframe does the analysis use?

4-hour candles are the primary execution timeframe: SMA-50/200, RSI-14 (entry), CVD dual-window analysis, ATR-14, VWAP anchoring, and volatility compression are all computed on 4H bars (~300 candle history). Daily candles provide structural context: RSI-14 (trend bias) and ATR-filtered pivot detection for market structure (~104 candle history). This matches the swing trading horizon — 4H is granular enough for precise entries while daily filters noise from structural reads. The outcome checker also tracks on 4H candles.

Swing trading optimization

Why is this system optimized for swing trading specifically?

Every design decision — from signal selection to quality scoring — is tuned for multi-day to multi-week reversal setups. The confluence scoring was audited specifically for reversal detection: signals that fire mid-trend or during compression (HEATING_UP, streak exhaustion, market structure) were removed because they add noise at reversal points. What remains are signals that confirm the crowd is positioned wrong and a spring is loaded. The time-decay quality scoring penalizes signals that take weeks to play out. This isn't useful for day trading (too slow) or long-term investing (too tactical).

How are the confluence weights prioritized?

HTF Structure leads (compression 30%, CVD 25%, RSI 20%, VP 15%, MA displacement 10%) because the coiled spring + divergence combination is the core reversal setup. Derivatives are weighted toward crowded positioning and capitulation/unwinding stress — not heating or deleveraging which are noise. ETFs prioritize flow sigma with regime contradiction and reversal confirmation over streak exhaustion which fires too early. Exchange Flows focus on reserve changes (65%) and 30-day extremes (35%), removing redundant balance trend and noisy single-day sigma.

What is the two-dimensional derivatives model?

The system separates 'who is crowded' (Positioning: slow, structural) from 'what is happening to them' (Stress: fast, event-driven). CROWDED_LONG + CAPITULATION is a very different setup from CROWDED_LONG + no stress — the first is a potential swing low, the second is an ongoing trend that could continue. Collapsing these into a single state would lose critical timing information.

What is hysteresis and why does it matter?

All classifiers use different thresholds for entering vs exiting a state. CROWDED_LONG triggers at funding percentile above 80 but only exits at below 75. This prevents 'flickering' — rapid state changes right at the boundary that would generate false signals. For swing trading, you need regime readings stable enough to act on over multi-day timeframes.

How does confluence scoring and the conviction gate work?

Each of four dimensions (Derivatives, ETFs, HTF, Exchange Flows) produces a conviction score from -1 to +1 (rendered -100% to +100%) relative to the trade direction — not a simple agree/disagree, but a granular measure of how strongly each dimension supports the trade. The total is the IC-weighted average across dimensions (also -1..+1, weights sum to 1), so adding or removing a dimension never changes the displayed range. Position size scales non-linearly with conviction × inverse volatility. Sentiment is excluded — it is a composite of the other dimensions and would triple-count their signals.

Results measurement & evolution

How are trade ideas tracked?

Each idea generates seven independently-tracked price levels: four invalidation stops (at 1:2, 1:3, 1:4, and 1:5 risk-reward ratios) and three targets (T1 at 50% of target distance, T2 at 100%, T3 at 150% extension). The composite target is a weighted median of up to six levels: POC (25%), SMA-200 (20%), SMA-50 (15%), weekly VWAP (15%), monthly VWAP (15%), and the directional sweep level (10%), compressed by an RSI confidence multiplier. Each level resolves independently when price touches it.

How does automated outcome checking work?

A cron job runs twice daily (06:00 and 18:00 UTC), fetching 4H candles from Binance since the last check. For each open trade idea, it records the returns curve (hours elapsed, price, return %, quality score at that point) and resolves levels when price hits them. Targets resolve as WIN when the candle high/low reaches the level. Invalidations resolve as LOSS when breached. Any level unresolved after 30 days is marked LOSS with quality = 0.

What is the quality score and why does it decay?

quality = return × e^(−hours / 72). A target hit in 4 hours retains 95% quality. After 1 day: 72%. After 3 days: 37%. After 7 days: 10%. This encodes the belief that a good swing signal should resolve within days — a 'technically correct' call that takes two weeks was probably luck, not signal. Both wins and losses that take a long time score low, because a weak signal in either direction isn't useful.

How does the system know which metrics are actually predictive?

Once enough trade ideas accumulate (target: 50+), outcomes are sliced by which dimensions agreed at creation time. If ideas where Derivatives agreed have a 65% win rate but ideas where ETFs agreed only have 48%, that's actionable — future weight rebalancing should favor Derivatives even more. Performance is also bucketed by the HTF regime at creation (MACRO_BULLISH, RANGING, etc.) to catch models that only work in certain conditions.

How does the system detect when it's degrading?

Quality scores are tracked as a time series. A sustained downtrend in average quality signals model degradation — the market regime has shifted in a way the current weights and thresholds don't capture. This is the trigger to recalibrate: adjust weights, retune percentile thresholds, or integrate a new data dimension from the planned but not yet active sources.

Will the system change over time?

Yes, by design. The current weights and thresholds are a starting hypothesis. As outcome data accumulates, the system recalibrates based on what's actually predictive — not what seemed like it should be. A recent signal audit removed 11 noisy components from confluence scoring (HEATING_UP, DELEVERAGING, streak exhaustion, STRONG_INFLOW/OUTFLOW regime, regime score, market structure, sweep proximity, thin ice, flow sigma, balance trend, exchange-level divergence), replaced the HTF regime score with MA displacement (inverted sign — below MA = bullish pull), and removed sentiment entirely from scoring (triple-counting). Additional data dimensions (options/IV, macro indicators, prediction markets, stablecoin flows) are planned and will be integrated as they prove additive to signal quality.