Confidential — Proprietary Architecture Specification
TRADARS ANALYTICS
Neural Framework
Engine
A deterministic analytical architecture for institutional macro-financial analysis. This specification documents the mathematical foundations, computational graph topology, data ingestion manifold, and provenance-tracked inference pipeline that constitute the TRADARS proprietary intelligence system.
A₀
ZERO PUBLIC LLM REASONING
No analytical conclusion produced by this system is derived from, influenced by, or validated against any publicly-trained large language model. All directional assessments, risk classifications, and market intelligence outputs are computed by deterministic mathematical operators (§3–§14) operating exclusively on verified institutional data stores (FRED, BLS, CFTC, EIA, IEA, OPEC, IMF, World Bank, Eurostat, and 10 G10 central banks). Language models are confined to the serialization layer — formatting pre-computed results into natural language — and are architecturally prohibited from modifying, weighting, or contributing to any analytical outcome.
VERSION 3.0 — Production
COVERAGE 72 instruments · G10 macro · 20+ institutional data sources
SECTIONS 20 core sections + 3 appendices (120+ pages)
CORE Deterministic computation · Zero Public LLM reasoning
ISSUED September 30, 2026
CLASS. Restricted Distribution — For Due Diligence Use Only
TRADARS Analytics — © 2026All rights reserved. Reproduction prohibited.
Table of Contents
§0Governing AxiomsNon-negotiable architectural invariants
5 §1System TopologyDAG architecture and computational layer design
9 §2Data Ingestion Manifold15+ institutional data sources, reconciliation pipeline, schema normalization
14 §3Level–Trajectory Operator ΛFoundational decomposition applied to every data point in the system
22 §4Risk Sentiment Tensor ΨMulti-timeframe, multi-asset, COT-integrated risk quantification
28 §5Dynamic Oil Regime Detection ξ(t)Non-stationary commodity polarity classification
38 §6Confluence Decision Gate ΓMulti-framework agreement threshold for high-conviction assessment
42 §7Wayne Override Lattice ΩKnowledge base priority resolution and directive enforcement
47 §8Correlation Manifold ρPearson cross-asset dependency mapping with breakdown detection
52 §9Seasonality Decomposition20-year monthly return distributions with dual-window regime detection
57 §10Event Impact Function ΦHistorical price reaction distributions for G10 economic releases
62 §11MECE Macro TaxonomyAccounting-identity constrained hierarchical data architecture
68 §12Yield Curve Shape AnalysisRecession probability quantification and duration risk
73 §13Central Bank Rate DifferentialG10 monetary policy divergence and carry trade implications
77 §14Feedback Loop & Pattern DiscoveryOutcome tracking, statistical learning, and weight recalibration
81 §15Provenance & Audit TrailFull derivation-chain traceability for every analytical conclusion
87 §16Competitive DifferentiationFormal comparison with Bloomberg, TradingView, and LLM-based systems
92 §17Quant Analysis MatrixPivot points, moving averages, MACD, ATR, scatter plot, and composite technical scoring
96 §18Aiden Intelligence ArchitecturePattern discovery, prediction generation, outcome grading, and institutional memory
104 §19Synthetic Currency Strength Index28-pair cross-rate decomposition into 8 individual currency scores
112 §20Cross-Country Economic Health ScoringComposite G10 scoring with IEA, OPEC, World Bank, IMF, BLS data integration
116 Appendix A — Data Source CatalogComplete inventory of all data connections and refresh cadences
120Appendix B — Asset UniverseFull 72-instrument coverage with classification and data source mapping
100Appendix C — Notation IndexSymbol reference for all operators, functions, and variables
104SECTION §0
Governing Axioms
Non-negotiable architectural invariants enforced at runtime
The TRADARS architecture is governed by five irreducible axioms that constrain every computation, every data flow, and every output surface. These axioms are not design guidelines or best practices — they are hard invariants enforced at the function boundary level. Violation of any axiom constitutes a system integrity failure and triggers an automatic rollback of the offending computation. The axioms were derived from three decades of institutional trading experience and encode the fundamental insight that separates profitable institutional analysis from the consensus-driven failure mode of retail market participants.
AXIOM A₀ The LLM Fallacy. All publicly trained large language models encode, as learned weights, the statistical consensus of their training corpus. In the domain of financial markets, this corpus is overwhelmingly composed of retail-grade analysis, forum discussions, and financial journalism — produced by a population with a documented 90–95% capital loss rate over any trailing 12-month window. By the Central Limit Theorem applied to opinion aggregation, the expected output of any sufficiently large LLM converges to this consensus. Formally: let Pretail denote the probability distribution over market conclusions held by the retail population, and let PLLM denote the output distribution of a publicly-trained LLM. Then dTV(Pretail,PLLM) → 0 as training corpus size → ∞. Any analytical conclusion derived from LLM reasoning (as opposed to LLM formatting of pre-computed results) is therefore axiomatically correlated with the failure distribution and is invalid. The LLM is a serialization layer, never a reasoning engine.
COROLLARY A₀.1: A system that uses an LLM to "analyze" market conditions is, by construction, incapable of producing conclusions that systematically diverge from the consensus of its training data. Such a system will, on expectation, generate the same conclusions a randomly-sampled retail trader would reach.
COROLLARY A₀.2: The only valid use of an LLM within TRADARS is natural language serialization of pre-computed analytical objects. The LLM receives a structured JSON object containing the complete analysis (direction, confidence, evidence, provenance) and formats it into human-readable prose. It cannot add, subtract, modify, or reason about the analytical content.
AXIOM A₁ Data Sovereignty. Let 𝒟 denote the closed set of verified institutional data stores: 𝒟 = { MarketData, COTData, EconomicEvent, EventPriceImpact, CentralBankRate, RiskAnalysisCache, CorrelationCache, QuantAnalysisCache, SeasonalityCache, WayneKnowledgeBase, AnalysisOutcome, DailyPriceHistory, IntradayPriceHistory, YieldCurveData, MacroTaxonomyNode, ImpliedRateCache }. Every analytical function ƒ in the system must satisfy ƒ : 𝒟 → ℝⁿ. No input from outside 𝒟 is permitted during analytical computation. The system has zero internet access at inference time. Data enters 𝒟 only through verified ingestion pipelines with schema validation, deduplication, staleness detection, and multi-source reconciliation.
REMARK: Axiom A₁ is the reason TRADARS cannot be replicated by connecting a public LLM to a market data API. The data in 𝒟 includes proprietary computed artifacts (QuantAnalysisCache, RiskAnalysisCache, CorrelationCache) that are the output of deterministic framework computations — not raw feeds. The raw feeds are inputs; the computed caches are the institutional knowledge layer. Replicating the feeds without the framework computations produces data without intelligence.
AXIOM A₂ Provenance Completeness. Every AnalysisOutcome record o produced by the system must carry a provenance object P(o) that is a complete and verifiable record of every data point, every framework computation, and every override directive that contributed to the conclusion. Formally, P(o) must satisfy the reconstruction property: given P(o) and the framework specifications (§3–§14), any third party can re-execute the identical computation and arrive at the identical conclusion. If P(o) = ∅ or if the reconstruction property fails, the outcome record is rejected and not persisted.
Proof. The reconstruction property holds by construction. Each framework function ƒₖ is deterministic (no random seeds, no LLM reasoning, no external state). The provenance object records the exact entity IDs of every input. Given those IDs, the inputs can be retrieved. Given the inputs and the deterministic ƒₖ, the output is uniquely determined. ∎∎
AXIOM A₃ Wayne Override Supremacy. Let W ⊂ WayneKnowledgeBase be the subset of entries with confidence = 'core_belief'. These represent institutional directives derived from 30+ years of professional FX trading experience. For any data point d and standard analysis function ƒ(d), if ∃ w ∈ W such that tags(w) ∩ context(d) ≠ ∅, then the system MUST substitute ƒ(d) with the directive prescribed by w. Standard analysis is suspended, not blended. This is a hard substitution, not a weighted combination.
REMARK: The Override Lattice (§7) formalizes the resolution algorithm for Axiom A₃. The key insight is that institutional expertise functions as a constraint on the hypothesis space, not as additional evidence to be weighed. When a 30-year institutional veteran says "this is a supply-shock oil rally, not a demand-growth rally," the correct response is to reclassify the regime — not to average the expert's view with the quantitative signal.
AXIOM A₄ Level–Trajectory Invariance. No macroeconomic or financial data point dmay be presented to any downstream consumer (human or computational) without its Level L(d) and Trajectory T(d) computed via the Λ operator (§3). Markets priceT(d), not L(d). Identical L(d) with opposite T(d) produces opposite market response. This is the foundational operator of the entire system and the single most important insight encoded in the architecture.
THEOREM A₄.1 — Insufficiency of Level-Only Analysis
Let d be an economic indicator observation with Level L and TrajectoryT. Consider two scenarios: (i) L = 8.0%, T = rising, and (ii) L = 8.0%, T = falling. In scenario (i), CPI inflation is worsening — central banks tighten, yields rise, currency strengthens. In scenario (ii), CPI inflation is being contained — markets anticipate peak, central banks signal pause, currency weakens. The Level is identical; the market response is opposite. Therefore, any analytical system that reports or reasons about Level without Trajectory is provably insufficient for market analysis. This includes all publicly-trained LLMs, which process text containing "CPI is 8%" without decomposing the trajectory.
Proof. By empirical observation across 20+ years of G10 economic releases. The Federal Reserve's own forward guidance explicitly conditions on trajectory ("we need to see sustained progress") rather than level. Bond market reactions to CPI releases show statistically significant sign-dependence on trajectory direction, controlling for level. The Level–Trajectory operator (§3) formalizes this decomposition.∎
SECTION §1
System Topology
Directed acyclic computation graph with four-layer architecture
The TRADARS system is structured as a directed acyclic graph (DAG) with four computational layers and a single feedback path. Data flows strictly downward through the layers during inference. The only exception is the weekly batch feedback cycle (Layer 3 → Layer 1 weight adjustment), which operates asynchronously and never modifies an in-flight computation. This architecture guarantees determinism: given the same input state of 𝒟, the system produces the identical output regardless of when or how many times the computation is executed.
COMPUTATIONAL GRAPH — FULL SYSTEM TOPOLOGY
╔═══════════════════════════════════════════════════════════════════════╗
║ LAYER 0 — DATA INGESTION MANIFOLD (§2) ║
║ ║
║ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ║
║ │ EODHD │ │ YAHOO │ │ CFTC │ │ FRED │ │ BLS │ ║
║ │ 72 inst │ │ 15m bars│ │ COT wk │ │ 400+ser │ │ labor │ ║
║ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ ║
║ │ │ │ │ │ ║
║ ┌────┴──┐ ┌──────┴──┐ ┌─────┴──┐ ┌──────┴──┐ ┌──────┴──┐ ║
║ │EUROST │ │ EIA │ │IMFWEO │ │ 9 CBs │ │CoinGeck │ ║
║ │ EU dat│ │ oil/gas │ │proj GDP│ │ G10 rate│ │ crypto │ ║
║ └───┬───┘ └────┬───┘ └───┬────┘ └────┬───┘ └────┬────┘ ║
║ └──────────┼─────────┼───────────┼──────────┘ ║
║ ▼ ▼ ▼ ║
║ ┌──────────────────────────────────────────────────────┐ ║
║ │ MULTI-SOURCE RECONCILIATION ENGINE │ ║
║ │ Schema normalization · Deduplication · Stale detect │ ║
║ │ Holiday filter · Cross-source validation · Idempot. │ ║
║ └───────────────────────┬──────────────────────────────┘ ║
╠═══════════════════════════╪══════════════════════════════════════════╣
║ LAYER 1 — DETERMINISTIC COMPUTATION ENGINE ║
║ │ ║
║ ┌────────┐ ┌────────┐ ┌─┴──────┐ ┌────────┐ ┌────────┐ ║
║ │ Λ │ │ Ψ │ │ ρ │ │Season. │ │ Φ │ ║
║ │Level- │ │Risk │ │Correl. │ │Decomp. │ │Event │ ║
║ │Traject.│ │Tensor │ │Manifold│ │ §9 │ │Impact │ ║
║ │ §3 │ │ §4 │ │ §8 │ │ │ │ §10 │ ║
║ └───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘ ║
║ │ │ │ │ │ ║
║ ┌───┴──┐ ┌────┴──┐ ┌────┴──┐ ┌────┴──┐ ┌───────┐ ┌───────┐ ║
║ │Yield │ │CB Rate│ │MECE │ │Quant │ │CurrStr│ │Econ │ ║
║ │Curve │ │Diff. │ │Taxon. │ │Matrix │ │Index │ │Health │ ║
║ │ §12 │ │ §13 │ │ §11 │ │ §17 │ │ §19 │ │ §20 │ ║
║ └───┬──┘ └───┬───┘ └───┬───┘ └───┬───┘ └───┬───┘ └───┬───┘ ║
║ └────────┼─────────┼─────────┘ ║
║ ▼ ▼ ║
║ ┌──────────────────────────────────────┐ ║
║ │ CONFLUENCE DECISION GATE Γ (§6) │ ║
║ │ min(3/k) framework agreement req. │ ║
║ └──────────────┬───────────────────────┘ ║
║ │ ║
║ ┌──────────────▼───────────────────────┐ ║
║ │ WAYNE OVERRIDE LATTICE Ω (§7) │ ║
║ │ IF W ∩ context ≠ ∅ → SUSPEND std. │ ║
║ └──────────────┬───────────────────────┘ ║
╠═════════════════╪══════════════════════════════════════════════════╣
║ LAYER 2 — SERIALIZATION BOUNDARY (READ-ONLY) ║
║ │ ║
║ ┌──────────────▼───────────────────────┐ ║
║ │ LLM receives pre-computed JSON only │ ║
║ │ Role: FORMAT to natural language │ ║
║ │ CANNOT: modify, reason, add context │ ║
║ │ from training data │ ║
║ └──────────────┬───────────────────────┘ ║
╠═════════════════╪══════════════════════════════════════════════════╣
║ LAYER 3 — FEEDBACK LOOP (weekly batch, async) ║
║ │ ║
║ ┌──────────────▼───────────────────────┐ ║
║ │ AnalysisOutcome tracking │ ║
║ │ Status: Pending → Success|Failure │ ║
║ │ Win/loss statistics by framework │ ║
║ │ Pattern discovery engine │ ║
║ │ Weight recalibration proposals │──── (async) ──→ Layer 1 ║
║ └──────────────────────────────────────┘ ║
╚════════════════════════════════════════════════════════════════════╝
1.1Layer Isolation Guarantees
Each layer operates under strict isolation constraints that prevent cross-contamination of concerns. The following invariants are maintained:
| Property | Layer 0 | Layer 1 | Layer 2 | Layer 3 |
|---|
| Can read external APIs | Yes (ingestion only) | No | No | No |
| Can write to 𝒟 | Yes (validated) | Yes (cache entities) | No | Yes (outcomes) |
| Is deterministic | No (external sources) | Yes (pure functions) | No (LLM) | Yes (statistics) |
| Has internet access | Yes (scheduled) | No | No | No |
| Can modify weights | No | No | No | Proposes only |
| Runs during inference | No (pre-cached) | Yes | Yes (formatting) | No (weekly batch) |
| Execution cadence | Scheduled (5m–24h) | On-demand | On-demand | Weekly batch |
| Error handling | Retry + stale fallback | Fail-fast | Fail-safe (raw JSON) | Log + skip |
1.2Critical Boundary: The LLM Isolation Wall
The single most important architectural decision in TRADARS is the placement and enforcement of the LLM boundary. The LLM exists exclusively in Layer 2 and is subject to the following hard constraints:
LLM BOUNDARY SPECIFICATION
LLM BOUNDARY CONSTRAINTS:
─────────────────────────────────────────────────────
READ ACCESS: Pre-computed analytical JSON objects
WRITE ACCESS: None (output goes to UI, not to 𝒟)
REASONING: Prohibited (Axiom A₀)
TRAINING DATA: Cannot be referenced or used
INTERNET: No access
ENTITY WRITES: Cannot create, update, or delete any record
WEIGHT CHANGES: Cannot modify any parameter in the system
THE LLM SEES:
{ direction: "bearish", conviction: 72, frameworks_agreeing: 4,
evidence: [...pre-computed...], provenance: [...ids...] }
THE LLM OUTPUTS:
"Based on four converging frameworks with 72% weighted conviction,
the analysis indicates a bearish outlook for EUR/USD..."
THE LLM CANNOT:
- Change "bearish" to "bullish"
- Add analysis not present in the input
- Reference its training data about EUR/USD
- Store any insight for future use
- Modify any weight, threshold, or parameter
REMARK: This boundary is what makes TRADARS fundamentally different from every "AI trading" product on the market. Other products use the LLM as the analytical engine. TRADARS uses the LLM as a printer — it formats pre-computed results into readable prose. The analytical conclusion is fully determined before the LLM is ever invoked.
SECTION §2
Data Ingestion Manifold
15+ institutional data sources, reconciliation pipeline, schema normalization
Layer 0 of the TRADARS architecture ingests data from 15+ independent institutional sources, reconciles overlapping coverage, normalizes heterogeneous schemas into the canonical 𝒟 format, and enforces data quality invariants before any data is available to the computational engine. This section catalogs the complete data source inventory, documents the reconciliation logic, and specifies the staleness detection and holiday-aware filtering algorithms.
2.1Data Source Inventory
The following table represents the complete set of external data connections maintained by the TRADARS ingestion layer. Each source is independently scheduled, retried on failure with exponential backoff, and validated against schema expectations before writes to 𝒟 are committed.
| Source | Data Domain | Coverage | Refresh | Protocol |
|---|
| EODHD Financial | EOD pricing, fundamentals | 72 instruments (FX, indices, commodities, bonds, crypto) | Every 30 min (market hours) | REST API / JSON |
| Yahoo Finance | Intraday pricing | 15-minute OHLCV candles for 50+ instruments | Every 15 min (market hours) | REST API / JSON |
| CFTC | Commitment of Traders | Net positions for 22 futures contracts | Weekly (Friday publication) | CSV download / parse |
| Federal Reserve (FRED) | US macroeconomic data | 400+ economic series (GDP, CPI, employment, rates) | Varies (daily to quarterly) | REST API / JSON |
| Bureau of Labor Statistics | US labor market | NFP, unemployment, average hourly earnings, JOLTS | Monthly | REST API / JSON |
| Eurostat | EU macroeconomic data | GDP, CPI, unemployment, trade balance for 19 EU economies | Monthly to quarterly | REST API / JSON |
| Energy Information Admin. | Energy markets | Crude inventories, production, DPR, rig counts, STEO | Weekly (Wed) / Monthly | REST API / JSON |
| Federal Reserve Banks | Monetary policy | Fed Funds rate, dot plots, meeting minutes, speeches | Per-event | REST API / scrape |
| European Central Bank | EU monetary policy | Refi rate, deposit facility, forward guidance | Per-event | REST API / JSON |
| Bank of England | UK monetary policy | Bank rate, MPC vote split, Inflation Report | Per-event | REST API / JSON |
| Bank of Japan | JP monetary policy | O/N call rate, YCC parameters, Tankan survey | Per-event | REST API / JSON |
| Bank of Canada | CA monetary policy | O/N rate, MPR projections, business surveys | Per-event | REST API / JSON |
| Reserve Bank of Australia | AU monetary policy | Cash rate, statement on monetary policy | Per-event | REST API / JSON |
| Reserve Bank of New Zealand | NZ monetary policy | OCR, monetary policy statement | Per-event | REST API / JSON |
| Swiss National Bank | CH monetary policy | Policy rate, foreign exchange interventions | Per-event | REST API / JSON |
| Riksbank (Sweden) | SE monetary policy | Repo rate, monetary policy report | Per-event | REST API / JSON |
| CoinGecko | Cryptocurrency pricing | BTC, ETH — spot prices, 24h volume, market cap | Every 5 min | REST API / JSON |
| IMF (WEO) | Global projections | GDP growth, inflation, current account for G20+ | Semi-annual | REST API / JSON |
| FXStreet | Economic calendar | Upcoming releases with consensus, previous, impact rating | Every 60 min | REST API / JSON |
2.2Multi-Source Reconciliation
Several data domains receive coverage from multiple sources. The reconciliation engine resolves conflicts using a priority-based trust hierarchy with automated anomaly detection.
RECONCILIATION ALGORITHM
RECONCILIATION(sources: DataPoint[]) → CanonicalRecord
FOR each data domain D with sources S₁, S₂, ..., Sₙ:
STEP 1 — PRIORITY ORDERING:
Each source has a trust rank r(Sᵢ) ∈ ℕ (lower = higher trust)
Primary: r = 1 (institutional data provider, e.g. EODHD for prices)
Secondary: r = 2 (validation source, e.g. Yahoo for cross-check)
Tertiary: r = 3 (fallback only, e.g. CoinGecko for non-crypto)
STEP 2 — CONSISTENCY CHECK:
Let v₁, v₂, ..., vₙ be values from each source for the same field.
Compute max relative deviation:
δ_max = max(|vᵢ - vⱼ|) / mean(v₁...vₙ) × 100
IF δ_max < 0.5%: → CONSISTENT — use highest-trust source
IF δ_max ∈ [0.5%, 2%]: → MINOR DISCREPANCY — use primary, log warning
IF δ_max > 2%: → ANOMALY — flag for human review, use primary with caveat
STEP 3 — STALENESS DETECTION:
Let t_now = current UTC timestamp
Let t_source = timestamp of latest data from source Sᵢ
Let TTL(D) = expected refresh interval for domain D
IF (t_now - t_source) > 2 × TTL(D):
MARK source as STALE
FALLBACK to next-priority source
LOG: "Stale data from {source}, fell back to {fallback}"
STEP 4 — HOLIDAY/WEEKEND FILTER:
IF is_market_holiday(t_now, exchange(D)):
DO NOT flag staleness (market is closed)
CARRY FORWARD last valid observation
SET flag: is_carried_forward = true
2.3Schema Normalization
Each data source returns data in its own proprietary schema (different field names, different units, different timestamp formats). The normalization layer transforms all incoming data into the canonical TRADARS schema before it enters 𝒟. This ensures that all downstream computations operate on a uniform data structure regardless of source.
CANONICAL PRICE SCHEMA
MarketData {
symbol: string // Canonical symbol (e.g., "EUR/USD", "XAUUSD", "VIX")
price: number // Last traded price (bid/ask midpoint where applicable)
change_1h: number // Percentage change over 1 hour
change_1d: number // Percentage change over 1 trading day
change_7d: number // Percentage change over 7 calendar days
change_30d: number // Percentage change over 30 calendar days
change_ytd: number // Percentage change year-to-date
volume_24h: number // 24-hour trading volume (where available)
last_updated: ISO-8601 // UTC timestamp of last price update
source: string // Primary data source identifier
asset_class: enum // forex | index | commodity | bond | crypto
}
NORMALIZATION RULES:
• Forex: always quote as BASE/QUOTE (e.g., EUR/USD, not EURUSD)
• Commodities: standardize to USD per unit (oz for gold, barrel for oil)
• Indices: point value, not contract value
• Bonds: yield in basis points for change calculations
• Crypto: USD spot price, 24h volume in USD
2.4Ingestion Decision Tree
Every incoming data point passes through a multi-stage decision tree before it is committed to the verified data store 𝒟. This tree enforces data quality, resolves multi-source conflicts, handles market holidays, and routes anomalies for review. The following is the complete decision logic applied to every single record — approximately 10,000–15,000 times per trading day.
COMPLETE INTAKE DECISION TREE
INTAKE(record r, source s) → ACCEPT | REJECT | QUARANTINE | CARRY_FORWARD
═══ STAGE 1: SCHEMA VALIDATION ═══════════════════════
1.1 TYPE CHECK:
r.price ∈ ℝ ∧ r.price > 0 → PASS
r.price = NaN | null | undefined → REJECT("missing_price")
r.price ≤ 0 → REJECT("invalid_price")
1.2 SYMBOL RESOLUTION:
canonical(r.symbol) ∈ 𝒜 → PASS
canonical(r.symbol) ∉ 𝒜 → REJECT("unknown_symbol")
canonical() applies alias resolution:
"EURUSD" → "EUR/USD"
"XAUUSD" → "Gold"
"^GSPC" → "S&P 500"
"CL=F" → "WTI Crude"
1.3 TIMESTAMP VALIDATION:
|t_now − r.timestamp| ≤ TTL(s) → PASS
|t_now − r.timestamp| > TTL(s) → QUARANTINE("stale_timestamp")
r.timestamp > t_now + 60s → REJECT("future_timestamp")
═══ STAGE 2: DEDUPLICATION ════════════════════════════
2.1 EXACT DUPLICATE CHECK:
∃ d ∈ 𝒟 : d.source_id = r.source_id → REJECT("duplicate")
2.2 LOGICAL DUPLICATE CHECK:
∃ d ∈ 𝒟 : d.symbol = r.symbol
∧ d.timestamp = r.timestamp
∧ d.source = r.source → REJECT("logical_dup")
2.3 NEAR-DUPLICATE CHECK:
∃ d ∈ 𝒟 : d.symbol = r.symbol
∧ |d.timestamp − r.timestamp| < 60s
∧ |d.price − r.price| / d.price < 0.001
→ REJECT("near_dup")
═══ STAGE 3: ANOMALY DETECTION ════════════════════════
3.1 SPIKE FILTER (single-record outlier):
Let P_prev = most recent accepted price for r.symbol
Let σ_20d = 20-day realized volatility for r.symbol
z_spike = |r.price − P_prev| / (P_prev × σ_20d / √252)
z_spike > 5.0 : QUARANTINE("spike_anomaly")
// A 5σ move in a single observation is likely bad data.
// Real 5σ events DO occur — but they're confirmed by
// the NEXT observation from the same or another source.
// The quarantine holds the record for 5 minutes, then:
// IF confirmed by 2nd source → ACCEPT (genuine move)
// IF contradicted → REJECT (bad data)
z_spike ≤ 5.0 : PASS
3.2 WEEKEND/HOLIDAY FILTER:
IF is_market_closed(r.symbol, t_now):
IF r.asset_class ∈ {crypto}:
PASS (crypto trades 24/7)
ELIF r.source = "eodhd" ∧ is_forex(r.symbol):
CARRY_FORWARD(last_valid_price)
// Forex data feeds sometimes send stale weekend prices.
// Do NOT treat these as new observations.
ELSE:
CARRY_FORWARD(last_valid_price)
3.3 GAP DETECTION:
IF r.asset_class = forex:
Let gap = |r.price − P_friday_close| / P_friday_close × 100
IF gap > 0.5% ∧ is_monday_open(t_now):
FLAG("weekend_gap", gap_pct)
ACCEPT (gaps are real but flagged for downstream Λ)
// The Λ operator treats Monday gap opens specially:
// it uses Friday close → Monday open as a single Δ
// rather than interpolating over the weekend.
═══ STAGE 4: MULTI-SOURCE RECONCILIATION ══════════════
4.1 SOURCE PRIORITY:
Each (symbol, source) pair has a trust rank r(s):
r("eodhd") = 1 (primary for EOD prices)
r("yahoo") = 2 (primary for intraday)
r("coingecko") = 1 (primary for crypto)
r("fred") = 1 (primary for macro)
r("bls") = 1 (primary for employment)
r("fxstreet") = 1 (primary for calendar)
4.2 CROSS-SOURCE VALIDATION:
IF ∃ d ∈ 𝒟 : d.symbol = r.symbol
∧ d.source ≠ r.source
∧ |d.timestamp − r.timestamp| < 30min:
δ = |d.price − r.price| / d.price × 100
δ < 0.1% : CONSISTENT → ACCEPT(higher_trust_source)
δ ∈ [0.1%, 0.5%]: MINOR_DISCREPANCY → ACCEPT(primary) + LOG
δ ∈ [0.5%, 2.0%]: MODERATE → ACCEPT(primary) + WARN
δ > 2.0% : MAJOR_DISCREPANCY → QUARANTINE(both)
+ ALERT("Source conflict: {d.source}={d.price}"
" vs {r.source}={r.price}")
═══ STAGE 5: DERIVED FIELD COMPUTATION ════════════════
5.1 PERCENTAGE CHANGES (computed, never trusted from source):
change_1d = (r.price − P(t−1d)) / P(t−1d) × 100
change_7d = (r.price − P(t−7d)) / P(t−7d) × 100
change_30d = (r.price − P(t−30d)) / P(t−30d) × 100
change_ytd = (r.price − P(Jan1)) / P(Jan1) × 100
IF P(t−1d) is CARRY_FORWARD:
change_1d = 0.0 (no real change observed)
SET flag: change_computed_from_carry = true
5.2 Λ PRE-COMPUTATION:
For downstream efficiency, the intake pipeline pre-computes:
Λ₁ᴰ(r.price, P(t−1d), P(t−2d))
Λ₇ᴰ(r.price, P(t−7d), P(t−14d))
These are CACHED — the Ψ tensor does not re-derive them.
═══ STAGE 6: COMMIT ═══════════════════════════════════
6.1 WRITE to 𝒟 with:
- All source metadata (source_id, source, timestamp)
- Computed percentage changes
- Pre-computed Λ tuples
- Reconciliation flags (if any)
- Deduplication fingerprint
6.2 EMIT event to downstream subscribers:
- Ψ tensor recomputation (§4)
- Correlation cache update (§8, if EOD)
- Risk Analysis Cache refresh
- UI live ticker update
WORKED EXAMPLE 2.1 — Full Decision Tree Trace — EUR/USD Price Update
INCOMING RECORD:
source: "eodhd"
symbol: "EURUSD"
price: 1.1402
timestamp: 2026-06-15T14:30:00Z
source_id: "eodhd_eurusd_20260615_1430"
═══ STAGE 1: SCHEMA VALIDATION ═══
1.1 price = 1.1402 > 0 → PASS ✓
1.2 canonical("EURUSD") = "EUR/USD" ∈ 𝒜 → PASS ✓
1.3 |t_now − 14:30:00| = 12s < TTL(eodhd)=1800s → PASS ✓
═══ STAGE 2: DEDUPLICATION ═══
2.1 source_id "eodhd_eurusd_20260615_1430" not in 𝒟 → PASS ✓
2.2 No logical duplicate found → PASS ✓
2.3 Nearest existing record: 14:00:00 (30 min gap) → PASS ✓
═══ STAGE 3: ANOMALY DETECTION ═══
3.1 P_prev = 1.1415 (from 14:00:00 record)
σ_20d = 6.2% annualized
Daily σ = 6.2% / √252 = 0.39%
z_spike = |1.1402 − 1.1415| / (1.1415 × 0.0039) = 2.92
z_spike = 2.92 < 5.0 → PASS ✓
(A 13-pip move is ~3σ intraday — notable but not anomalous)
3.2 Monday–Friday, market hours → PASS ✓
3.3 Not Monday open → N/A
═══ STAGE 4: MULTI-SOURCE RECONCILIATION ═══
Yahoo price at 14:25:00: 1.1404
δ = |1.1402 − 1.1404| / 1.1404 × 100 = 0.018%
δ < 0.1% → CONSISTENT ✓
Use EODHD (r=1, higher trust)
═══ STAGE 5: DERIVED FIELDS ═══
P(t−1d) = 1.1425 (yesterday close)
change_1d = (1.1402 − 1.1425) / 1.1425 × 100 = −0.20%
P(t−7d) = 1.1350
change_7d = (1.1402 − 1.1350) / 1.1350 × 100 = +0.46%
P(t−30d) = 1.1200
change_30d = (1.1402 − 1.1200) / 1.1200 × 100 = +1.80%
Λ₁ᴰ(1.1402, 1.1425, 1.1440):
Δ₁ = −0.20% → T = falling
Δ₂ = −0.13% → sign(Δ₁) = sign(Δ₂), |Δ₁| > |Δ₂|
→ A = accelerating, C = 85
Λ₇ᴰ(1.1402, 1.1350, 1.1280):
Δ₁ = +0.46% → T = rising
Δ₂ = +0.62% → |Δ₁| < |Δ₂|
→ A = decelerating, C = 85
═══ STAGE 6: COMMIT ═══
WRITE to MarketData entity:
symbol: "EUR/USD", price: 1.1402,
change_1d: −0.20%, change_7d: +0.46%, change_30d: +1.80%
Λ₁ᴰ: (falling, accelerating, 85)
Λ₇ᴰ: (rising, decelerating, 85)
source: "eodhd", reconciled_with: "yahoo"
reconciliation_δ: 0.018%
EMIT: Ψ_recompute, UI_ticker_update
TOTAL PROCESSING TIME: <50ms
DECISION NODES TRAVERSED: 14
RESULT: ACCEPTED ✓
WORKED EXAMPLE 2.2 — Spike Anomaly Detection — Flash Crash Scenario
INCOMING RECORD:
source: "yahoo"
symbol: "GBP/USD"
price: 1.1850
timestamp: 2026-06-15T22:04:00Z
MOST RECENT ACCEPTED: P_prev = 1.2650 (from 22:00:00)
σ_20d = 8.1% annualized → daily σ = 0.51%
SPIKE CHECK:
z_spike = |1.1850 − 1.2650| / (1.2650 × 0.0051) = 124.0
z_spike = 124.0 > 5.0 → QUARANTINE("spike_anomaly")
QUARANTINE PROTOCOL ACTIVATED:
Hold record for 5 minutes.
Monitor all sources for confirmation:
T+30s: EODHD sends GBP/USD = 1.2648 → CONTRADICTS (−0.02% from prev)
T+60s: Yahoo sends GBP/USD = 1.2640 → CONTRADICTS (−0.08% from prev)
T+120s: Yahoo sends GBP/USD = 1.2645 → CONTRADICTS
QUARANTINE RESOLUTION:
3 subsequent readings from 2 sources all show ~1.2645 (within 0.1%)
Original reading of 1.1850 is an OUTLIER (bad data from API)
→ REJECT("spike_anomaly_unconfirmed")
LOG: "Rejected yahoo GBP/USD 1.1850 at 22:04:00 — 124σ spike
not confirmed by 3 subsequent observations from 2 sources.
Likely API error or illiquid quote. No downstream impact."
CONTRAST: GENUINE FLASH CRASH SCENARIO
If the 2016 GBP flash crash had occurred:
T+30s: EODHD sends GBP/USD = 1.1870 → CONFIRMS (+0.17% from spike)
T+60s: Yahoo sends GBP/USD = 1.1820 → CONFIRMS (−0.25% from spike)
→ 2 confirmations within 5 minutes
→ ACCEPT(original spike record)
→ FLAG("confirmed_flash_crash", z=124)
→ The Ψ tensor would immediately classify STRONG RISK-OFF
WORKED EXAMPLE 2.3 — Multi-Source Conflict — Oil Price Discrepancy
INCOMING RECORDS (within 5-minute window):
EODHD: WTI Crude = $78.42 timestamp: 14:30:00
Yahoo: WTI Crude = $79.85 timestamp: 14:32:00
CROSS-SOURCE VALIDATION:
δ = |78.42 − 79.85| / 79.85 × 100 = 1.79%
δ = 1.79% ∈ [0.5%, 2.0%] → MODERATE DISCREPANCY
DECISION:
ACCEPT primary source (EODHD, r=1) at $78.42
LOG warning: "WTI moderate discrepancy: EODHD=$78.42 vs Yahoo=$79.85
(δ=1.79%). Using primary. Possible cause: different
contract month or bid/ask spread on illiquid quote."
ROOT CAUSE ANALYSIS (automated):
Check if Yahoo is quoting front-month while EODHD quotes next-month.
IF contract_month(yahoo) ≠ contract_month(eodhd):
Reclassify as EXPECTED_SPREAD (contango/backwardation)
Reduce severity from MODERATE to INFORMATIONAL
ELSE:
Maintain MODERATE classification — genuine price divergence
══════════════════════════════════════════════════════
This is why percentage changes are COMPUTED, never trusted
from the source. If we accepted Yahoo's price, the Ψ tensor
would see WTI at $79.85. The next EODHD update might show
$78.50, causing a fake −1.7% "decline" that triggers false
risk-off signals. By consistently using the primary source,
the change calculations remain internally consistent.
══════════════════════════════════════════════════════
2.5Economic Data Intake — Special Handling
Economic data releases require a fundamentally different intake decision tree than price data. Economic releases have no "previous price" for spike detection — a GDP reading of 2.1% following a reading of 3.5% is not an anomaly, it's a meaningful data point. The intake tree for economic data focuses on metadata validation, forecast/previous pairing, and immediate Λ decomposition.
ECONOMIC DATA INTAKE TREE
ECON_INTAKE(event e) → ACCEPT | REJECT | HOLD
═══ STAGE 1: METADATA VALIDATION ═══
1.1 e.country ∈ MONITORED_COUNTRIES → PASS
1.2 e.indicator ∈ TRACKED_INDICATORS → PASS
1.3 e.event_date ≤ t_now → PASS
(Cannot accept future actuals — data from fxstreet
sometimes arrives with event_date in the future
due to timezone handling. HOLD until event_date ≤ t_now.)
═══ STAGE 2: ACTUAL VALUE VALIDATION ═══
2.1 e.actual ≠ null ∧ e.actual ≠ "" → PASS
2.2 NUMERIC CHECK:
parse_number(e.actual) succeeds → PASS
parse_number(e.actual) fails → REJECT("non_numeric_actual")
2.3 UNIT CONSISTENCY:
unit(e.actual) matches expected_unit(e.indicator)
Example: CPI as percentage, not index level
Mismatch → QUARANTINE + LOG
═══ STAGE 3: FORECAST/PREVIOUS PAIRING ═══
3.1 FIND matching forecast from calendar:
SELECT FROM EconomicEvent WHERE
country = e.country AND
indicator = e.indicator AND
event_date = e.event_date AND
forecast IS NOT NULL
IF found:
e.forecast = matched.forecast
e.previous = matched.previous
ELSE:
LOG("No forecast found for {e.indicator} — deviation
classification will be UNAVAILABLE")
SET e.forecast = null
// The system can still compute Λ from (actual, previous)
// but cannot classify beat/miss/inline
═══ STAGE 4: IMMEDIATE Λ DECOMPOSITION ═══
4.1 RETRIEVE historical values:
p₋₁ = previous value (from this event or prior release)
p₋₂ = value from TWO releases ago (if available)
4.2 COMPUTE:
Λ(e.actual, p₋₁, p₋₂) → (Level, Trajectory, Acceleration, Confidence)
4.3 CLASSIFY DEVIATION:
IF e.forecast IS NOT NULL:
beat = (actual > forecast) for "higher is better" indicators
miss = (actual < forecast)
inline = (|actual − forecast| < rounding_threshold)
NOTE: "higher is better" polarity varies by indicator:
GDP, NFP, PMI, Retail Sales → higher = beat
Unemployment, Initial Claims → LOWER = beat
CPI, PPI → DEPENDS on market regime:
In inflation-fear environment: lower = beat
In deflation-fear environment: higher = beat
The Ψ tensor state determines which polarity applies
═══ STAGE 5: IMPACT CHAIN ACTIVATION ═══
5.1 TRIGGER Φ lookup (§10):
For each asset a ∈ MONITORED_ASSETS:
Φ(e.indicator, e.country, a) → historical reaction profile
5.2 TRIGGER spike warning update (if pre-scheduled):
IF e was in SpikeRadarCache as "upcoming":
UPDATE status from "warning" to "result"
COMPUTE deviation_magnitude and actual_vs_historical
5.3 EMIT MarketIntel alert IF deviation is significant:
IF |e.actual − e.forecast| / σ_historical > 2.0:
CREATE MarketIntel(type="spike_result", priority="P1")
ELIF deviation ≠ inline:
CREATE MarketIntel(type="spike_result", priority="P2")
WORKED EXAMPLE 2.4 — Economic Intake — US Non-Farm Payrolls Release
INCOMING EVENT:
source: "fxstreet"
country: "United States"
indicator: "Non-Farm Payrolls"
event_date: 2026-06-05T12:30:00Z
actual: "185K"
forecast: "210K"
previous: "228K"
═══ STAGE 1: METADATA ═══
1.1 "United States" ∈ MONITORED → PASS ✓
1.2 "Non-Farm Payrolls" ∈ TRACKED → PASS ✓
1.3 event_date ≤ t_now → PASS ✓
═══ STAGE 2: ACTUAL VALIDATION ═══
2.1 "185K" ≠ null → PASS ✓
2.2 parse("185K") = 185,000 → PASS ✓
2.3 Unit = thousands (consistent with NFP) → PASS ✓
═══ STAGE 3: PAIRING ═══
Forecast found: 210K (from calendar pre-load)
Previous found: 228K
Previous₋₁ (two releases ago): 256K
═══ STAGE 4: Λ DECOMPOSITION ═══
Λ(185, 228, 256) →
L = 185K (Level — still positive job growth)
Δ₁ = 185 − 228 = −43K
Δ₂ = 228 − 256 = −28K
T = falling (Δ₁ < 0)
A = accelerating decline (|−43| > |−28|, same sign)
C = 85 (three data points available)
DEVIATION:
NFP: higher = beat (more jobs is positive)
actual (185K) < forecast (210K) → MISS
Miss magnitude: −25K (−11.9% below forecast)
═══ THE CRITICAL INSIGHT ═══
STANDARD ANALYSIS (Bloomberg, Reuters, LLMs):
"NFP missed at 185K vs 210K expected."
→ Single-dimensional: it's a miss.
TRADARS ANALYSIS (Λ + historical context):
"NFP missed at 185K. But critically:
L = 185K (still solid job creation)
T = FALLING (185 < 228 < 256)
A = ACCELERATING DECLINE (decline is getting steeper)
This is not just a miss — it is an ACCELERATING
DETERIORATION in the labor market. Three consecutive
declining prints with increasing delta magnitude.
The Λ tuple (185, falling, accelerating, C=85) triggers
a COMPLETELY DIFFERENT market response model than a simple
'miss at 185K' classification."
═══ STAGE 5: IMPACT CHAIN ═══
Φ("NFP", "US", "EUR/USD"):
miss_stats: μ_move = +32 pips, reliability = 72%
→ EXPECTED: EUR/USD rallies ~32 pips (USD weakens on weak jobs)
Φ("NFP", "US", "Gold"):
miss_stats: μ_move = +$12, reliability = 68%
→ EXPECTED: Gold rallies ~$12 (rate cut expectations rise)
Φ("NFP", "US", "US10Y"):
miss_stats: μ_move = −8bp, reliability = 75%
→ EXPECTED: 10Y yield falls ~8bp (flight to bonds)
MarketIntel alert generated:
type: "spike_result", priority: "P1"
title: "NFP MISS: 185K vs 210K — Accelerating Decline"
body: "Third consecutive declining NFP print with increasing
delta magnitude. Λ decomposition: accelerating
deterioration trajectory. Historical impact profile
suggests EUR/USD +32 pips, Gold +$12, 10Y −8bp."
TOTAL ELAPSED: ~200ms from data receipt to full analysis + alert
2.6Ingestion Volume Summary
| Cadence | Pipeline Count | Typical Data Volume | Purpose |
|---|
| Every 5 minutes | 2 | ~150 records/cycle | Cryptocurrency spot prices |
| Every 15 minutes | 3 | ~3,000 candles/cycle | Intraday price bars (15m OHLCV) |
| Every 30 minutes | 1 | ~72 records/cycle | EOD-quality instrument prices |
| Every 60 minutes | 2 | ~200 events/cycle | Economic calendar updates, implied rates |
| Daily (EOD) | 4 | ~500 records/cycle | Closing prices, risk radar snapshot, yield curves |
| Weekly (Friday) | 2 | ~400 records/cycle | CFTC COT data, EIA weekly inventories |
| Weekly (Saturday) | 1 | ~200 records/cycle | Seasonality cache recalculation |
| Monthly | 6 | ~1,000 records/cycle | BLS labor data, Eurostat GDP/CPI, central bank rates |
| Quarterly | 2 | ~100 records/cycle | IMF WEO projections, GDP revisions |
| Per-event | 3 | Variable | Central bank decisions, emergency data releases |
REMARK: Each of the ~10,000–15,000 daily records traverses the complete 6-stage decision tree above. The pipeline processes approximately 140,000 decision nodes per trading day (14 nodes × 10,000 records). Median intake latency is 47ms per record. The 99th percentile is 230ms, occurring during multi-source reconciliation of volatile commodity prices at market open.
SECTION §3
Level–Trajectory Operator Λ
The foundational decomposition applied to every observation in the system
The Level–Trajectory operator Λ is the single most consequential mathematical object in the TRADARS architecture. Every data point — every price, every economic release, every yield, every central bank rate — passes through Λ before it enters any analytical framework. The operator decomposes a raw observation into a structured tuple that captures not just what the value is (Level), but where it is going (Trajectory), how fast (Acceleration), and how confident we are in that assessment (Confidence). This decomposition is the mechanism by which TRADARS enforces Axiom A₄.
DEFINITION 3.1 — The Λ Operator
For any time-series observation d at time t with available historical observations at times t−1 and t−2, the Level–Trajectory operator Λ is defined as the mapping:
FORMAL DEFINITION
Λ : ℝ × ℝ × ℝ∪{⊥} → (ℝ × T × A × [0,100])
WHERE:
T = { rising, falling, stable } // Trajectory domain
A = { accelerating, decelerating, // Acceleration domain
reversing, stable }
Λ(dₜ, dₜ₋₁, dₜ₋₂) = (L, T, A, C)
COMPONENTS:
L = dₜ (Level — identity projection)
Δ₁ = dₜ − dₜ₋₁ (First-order finite difference)
Δ₁% = (dₜ − dₜ₋₁) / |dₜ₋₁| × 100 (Normalized percentage change)
⎧ rising if Δ₁ > ε
T = ⎨ falling if Δ₁ < −ε (First-order trajectory)
⎩ stable if |Δ₁| ≤ ε
WHERE ε = threshold (typically 0 for discrete releases,
0.001% for continuous prices)
Δ₂ = dₜ₋₁ − dₜ₋₂ (Lagged first-order difference)
⎧ accelerating if sign(Δ₁) = sign(Δ₂) ∧ |Δ₁| > |Δ₂|
A = ⎨ decelerating if sign(Δ₁) = sign(Δ₂) ∧ |Δ₁| ≤ |Δ₂|
⎪ reversing if sign(Δ₁) ≠ sign(Δ₂)
⎩ stable if Δ₂ = 0 ∨ dₜ₋₂ = ⊥
⎧ 85 if dₜ₋₂ ≠ ⊥ (full three-point decomposition)
C = ⎨
⎩ 60 if dₜ₋₂ = ⊥ (two-point only, acceleration unknown)
3.1Application to Economic Data Releases
When applied to macroeconomic data releases, the Λ operator produces the most consequential analytical insight in the system. An economic release consists of three values: actual (a), forecast (f), and previous (p). The standard approach (used by Bloomberg terminals, news services, and all public LLMs) is to report the deviation δ = a − f and classify it as a "beat" or "miss." TRADARS applies Λ to the release, which produces a fundamentally richer analysis.
ECONOMIC RELEASE DECOMPOSITION
Given release R = (actual, forecast, previous) = (a, f, p):
STEP 1 — DEVIATION VECTOR:
δ_surprise = a − f (Forecast surprise magnitude)
δ_surprise% = (a − f) / |f| × 100 (Normalized surprise)
δ_vs_prev = a − p (Period-over-period change)
δ_vs_prev% = (a − p) / |p| × 100 (Normalized change)
STEP 2 — DEVIATION CLASSIFICATION:
⎧ beat if a > f
D = ⎨ miss if a < f
⎩ inline if a = f
STEP 3 — TRAJECTORY DECOMPOSITION:
Λ(a, p, p₋₁) → (L, T, A, C)
WHERE p₋₁ = previous value from the prior release period
(if available, provides three-point decomposition with C = 85)
STEP 4 — COMBINED ASSESSMENT:
The analytical output is the tuple (D, L, T, A, C)
This is the input to the Event Impact Function Φ (§10)
WORKED EXAMPLE 3.1 — US CPI Release — Trajectory Changes Everything
SCENARIO A: CPI releases at 8.0%, forecast was 7.8%, previous was 7.5%
D = beat (a > f)
Λ(8.0, 7.5, 7.0) = (L=8.0%, T=rising, A=accelerating, C=85)
INTERPRETATION: Inflation is high AND getting worse AND accelerating.
MARKET RESPONSE: Hawkish repricing. Yields ↑, USD ↑, equities ↓.
SCENARIO B: CPI releases at 8.0%, forecast was 7.8%, previous was 8.5%
D = beat (a > f)
Λ(8.0, 8.5, 9.0) = (L=8.0%, T=falling, A=decelerating, C=85)
INTERPRETATION: Inflation is high BUT declining AND the decline is slowing.
MARKET RESPONSE: Cautiously optimistic. Yields ↓ slightly, USD ↓.
SCENARIO C: CPI releases at 8.0%, forecast was 7.8%, previous was 8.5%
Λ(8.0, 8.5, 7.8) = (L=8.0%, T=falling, A=reversing, C=85)
INTERPRETATION: Inflation was rising, then fell. Possible peak.
MARKET RESPONSE: Risk-on rally. Equities ↑, yields ↓.
─────────────────────────────────────────────────────────
CRITICAL OBSERVATION:
All three scenarios have IDENTICAL Level (L = 8.0%).
All three scenarios have IDENTICAL Deviation classification (D = beat).
But the Trajectory (T) and Acceleration (A) produce
COMPLETELY DIFFERENT market responses.
Any system that reports "CPI beat at 8%" without decomposing
the trajectory is missing the most important signal in the data.
This includes Bloomberg headlines, Reuters alerts, and every
publicly-trained LLM that processes the text "CPI came in at 8%."
─────────────────────────────────────────────────────────
3.2Application to Asset Prices
When applied to asset prices, the Λ operator produces a multi-timeframe trajectory profile that feeds into the Risk Sentiment Tensor (§4). Each asset is decomposed across three timeframes simultaneously: 1-day, 7-day, and 30-day.
MULTI-TIMEFRAME PRICE DECOMPOSITION
For asset i with closing prices at times t, t−1d, t−7d, t−30d:
Λ₁ᴰ(Pₜ, Pₜ₋₁ᴅ, Pₜ₋₂ᴅ) → (L₁, T₁, A₁, C₁) // 1-day trajectory
Λ₇ᴰ(Pₜ, Pₜ₋₇ᴅ, Pₜ₋₁₄ᴅ) → (L₇, T₇, A₇, C₇) // 7-day trajectory
Λ₃₀ᴰ(Pₜ, Pₜ₋₃₀ᴅ, Pₜ₋₆₀ᴅ) → (L₃₀, T₃₀, A₃₀, C₃₀) // 30-day trajectory
PERCENTAGE CHANGES:
Δ¹ᴰ = (Pₜ − Pₜ₋₁ᴅ) / Pₜ₋₁ᴅ × 100
Δ⁷ᴰ = (Pₜ − Pₜ₋₇ᴅ) / Pₜ₋₇ᴅ × 100
Δ³⁰ᴰ = (Pₜ − Pₜ₋₃₀ᴅ) / Pₜ₋₃₀ᴅ × 100
TREND CONSISTENCY INDICATOR:
τ = 𝟙[sign(Δ¹ᴰ) = sign(Δ⁷ᴰ) = sign(Δ³⁰ᴰ)]
τ = 1 means ALL timeframes agree on direction.
This is a strong institutional signal — it indicates a
structural trend, not noise. The Risk Sentiment Tensor
applies a 30% amplification factor when τ = 1.
WORKED EXAMPLE 3.2 — EUR/USD Multi-Timeframe Λ Decomposition
OBSERVED: EUR/USD = 1.1400
Pₜ₋₁ᴅ = 1.1425, Pₜ₋₂ᴅ = 1.1440
Pₜ₋₇ᴅ = 1.1320, Pₜ₋₁₄ᴅ = 1.1280
Pₜ₋₃₀ᴅ = 1.1200, Pₜ₋₆₀ᴅ = 1.1050
Λ₁ᴰ: Δ¹ᴰ = −0.22% → T=falling, A=accelerating (was −0.13% prev)
Λ₇ᴰ: Δ⁷ᴰ = +0.71% → T=rising, A=decelerating (was +0.35% prev)
Λ₃₀ᴰ: Δ³⁰ᴰ = +1.79% → T=rising, A=accelerating (was +1.36% prev)
TREND CONSISTENCY:
sign(−0.22) ≠ sign(+0.71)
τ = 0 (timeframes disagree)
INTERPRETATION:
Structural trend is bullish (7D and 30D rising)
but short-term pullback is in progress (1D falling).
No trend consistency amplification will be applied.
The Risk Sentiment Tensor will weight this as a
mildly bullish signal with reduced conviction.
THEOREM 3.2 — Completeness of Λ Under Composition
The Λ operator is closed under sequential application. That is, if we apply Λ to the output of a previous Λ application (e.g., tracking the trajectory of the trajectory), the result is a valid higher-order decomposition. However, the system limits decomposition to second order (Level, Trajectory, Acceleration) because third-order derivatives of macroeconomic data are empirically indistinguishable from noise in samples smaller than 60 observations.
SECTION §4
Risk Sentiment Tensor Ψ
Multi-timeframe, multi-asset, COT-integrated risk quantification
The Risk Sentiment Tensor Ψ is the system's primary regime classification instrument. It ingests percentage-change vectors from n cross-asset signals across k temporal windows, applies asset-specific directional polarity, integrates institutional positioning data from CFTC Commitment of Traders reports, and produces a scalar composite score that maps to one of five discrete regime states. The tensor construction is fully deterministic — no LLM reasoning, no sentiment analysis of text, no social media scraping. The inputs are prices and positions; the output is a number.
DEFINITION 4.1 — The Risk Sentiment Tensor
Let n = |𝒜| where 𝒜 is the set of monitored cross-asset signals (n ≥ 12)
Let k = |𝒯| where 𝒯 is the set of temporal windows (k ≥ 3)
The Risk Sentiment Tensor is the matrix:
Ψ ∈ ℝⁿˣᵏ where Ψᵢⱼ = σᵢ(tⱼ)
Each entry Ψᵢⱼ represents the directional contribution of asset i
in temporal window j to the overall risk sentiment assessment.
4.1Per-Asset Sentiment Function σᵢ
The sentiment function for asset i combines two orthogonal information channels: price momentum (directly observable) and institutional positioning (derived from weekly CFTC filings). The blend ratio α between these channels is a proprietary calibration parameter.
DEFINITION 4.2 — ASSET SENTIMENT FUNCTION
σᵢ(t) = [μᵢ(t) · τᵢ(t)] · α + [γᵢ(t)] · (1 − α)
═══ PRICE MOMENTUM CHANNEL μᵢ(t) ═══
μᵢ(t) = Σⱼ∈𝒯 [Δᵢ(tⱼ) · ωⱼ] × πᵢ(t)
WHERE:
Δᵢ(tⱼ) = percentage price change of asset i over window tⱼ
Δᵢ(tⱼ) = (Pᵢ(t) − Pᵢ(t−tⱼ)) / Pᵢ(t−tⱼ) × 100
ωⱼ = temporal weight for window j
Constraint: Σⱼ ωⱼ = 1
Calibration: proprietary (shorter windows weighted higher)
πᵢ(t) = directional polarity of asset i at time t
πᵢ ∈ {−1, +1} for fixed-polarity assets
πᵢ = ξ(t) for regime-dependent assets (see §5)
═══ TREND CONSISTENCY AMPLIFIER τᵢ(t) ═══
τᵢ(t) = 𝟙[∀j ∈ 𝒯 : sgn(Δᵢ(tⱼ)) are identical]
IF τᵢ = 1 (all timeframes agree on direction):
Apply amplification factor κ₁ > 1 (proprietary constant)
ELSE:
τᵢ = 1.0 (no amplification)
RATIONALE: When an asset moves in the same direction across
ALL temporal windows, this indicates a structural trend rather
than noise. Institutional risk managers weight consistent trends
more heavily than mixed signals.
═══ INSTITUTIONAL POSITIONING CHANNEL γᵢ(t) ═══
γᵢ(t) = h(sᵢ(t), fᵢ(t)) × πᵢ(t)
WHERE:
sᵢ(t) = "stock" positioning
Net speculative position as a percentage of total
open interest from CFTC COT data.
sᵢ ∈ [−1, +1] where ±1 represents historical extremes.
fᵢ(t) = "flow" positioning
Week-over-week change in net speculative positions.
Captures the DIRECTION of institutional money flow.
h(s, f) = proprietary blending function that weighs the
current LEVEL of positioning against the DIRECTION
of positioning change. (Note: this is a direct
application of Axiom A₄ — Level–Trajectory duality
applied to positioning data, not just price data.)
COVERAGE: COT data available for ~22 futures contracts
covering major FX pairs, equity indices, commodities, and
fixed income. For assets without COT coverage, γᵢ = 0 and
the blend ratio shifts to α_adj = 1.0 (pure price momentum).
4.2Polarity Classification
Each asset in the monitoring universe is assigned a directional polarity that determines how its price movements are interpreted in the risk sentiment context. The polarity is not arbitrary — it reflects the asset's empirically observed co-movement relationship with the broad risk appetite cycle.
| Asset Class | Example Instruments | Polarity π | Interpretation |
|---|
| Risk-Appetite Equities | S&P 500, DAX, Nikkei, FTSE | +1 (fixed) | Rising = risk-on |
| High-Yield Credit | HYG (iShares HY Bond ETF) | +1 (fixed) | Rising = risk-on (spread compression) |
| Speculative Assets | Bitcoin, Ethereum | +1 (fixed) | Rising = risk-on (speculative flows) |
| Volatility Indices | VIX, MOVE, GVZ | −1 (fixed) | Rising = risk-OFF (fear gauge) |
| Safe-Haven FX | JPY crosses, CHF crosses | −1 (fixed) | Strengthening = risk-OFF |
| Precious Metals | Gold (XAU/USD) | −1 (fixed) | Rising = risk-OFF (flight to safety) |
| DXY (Dollar Index) | DXY | −1 (context) | Rising = risk-OFF (safe-haven demand) |
| Crude Oil | WTI, Brent | ξ(t) (dynamic) | Depends on supply vs demand regime (§5) |
| Copper | HG (Copper Futures) | +1 (fixed) | Rising = risk-on (industrial demand proxy) |
| Yield Curve Slope | 2Y–10Y spread | +1 (fixed) | Steepening = risk-on (growth expectations) |
4.3Breadth-Adjusted Composite Score
AGGREGATION PIPELINE
═══ STEP 1: TIMEFRAME-LEVEL SCORES ═══
For each temporal window tⱼ ∈ 𝒯:
Ψⱼ = (Σᵢ∈𝒜 σᵢ(tⱼ) × wᵢ) / (Σᵢ∈𝒜 wᵢ)
WHERE wᵢ = institutional significance weight of asset i.
These weights are NOT equal. The VIX, for example, carries
substantially more weight than a minor equity index because
its information content for regime classification is higher.
═══ STEP 2: MULTI-TIMEFRAME BLEND ═══
S_raw = Σⱼ [Ψⱼ × λⱼ] × κ₂
WHERE:
λⱼ = temporal blend weight (Σⱼ λⱼ = 1)
κ₂ = global scaling constant
═══ STEP 3: BREADTH AMPLIFICATION ═══
Compute weighted agreement ratio:
W⁺ = Σ wᵢ for all i where σᵢ > 0 (risk-on contributors)
W⁻ = Σ wᵢ for all i where σᵢ < 0 (risk-off contributors)
φ = max(W⁺, W⁻) / (W⁺ + W⁻) (consensus ratio ∈ [0.5, 1.0])
Apply breadth amplifier:
β(φ) = 1 + η · max(0, φ − φ₀)
WHERE:
φ₀ = consensus threshold (below which β = 1, no amplification)
η = amplification sensitivity (proprietary)
The breadth amplifier increases the composite score magnitude
when a large fraction of weighted assets agree on direction.
This captures the intuition that "everything moving together"
is a stronger signal than a few outliers dominating.
═══ STEP 4: CLAMPING & CLASSIFICATION ═══
S = clamp(S_raw × β(φ), S_min, S_max)
Regime classification via threshold vector θ:
S ∈ (θ₄, S_max] → "STRONG RISK-ON" (5)
S ∈ (θ₃, θ₄] → "RISK-ON" (4)
S ∈ (θ₂, θ₃] → "NEUTRAL" (3)
S ∈ (θ₁, θ₂] → "RISK-OFF" (2)
S ∈ [S_min, θ₁] → "STRONG RISK-OFF" (1)
WORKED EXAMPLE 4.1 — March 2026 Tariff Shock — Full Tensor Computation
MARKET CONDITIONS (observed):
Asset Δ¹ᴰ Δ⁷ᴰ Δ³⁰ᴰ π τ COT
─────────────────────────────────────────────────────────────
S&P 500 −2.1% −8.2% −11.4% +1 1 Short
DAX −1.8% −6.9% −9.2% +1 1 —
Nikkei 225 −2.4% −9.1% −12.0% +1 1 —
VIX +15% +47% +62% −1 1 —
HYG −0.9% −3.8% −5.1% +1 1 —
Bitcoin −4.2% −12% −18% +1 1 Short
Gold +1.2% +4.1% +7.8% −1 1 Long
DXY +0.6% +2.1% +3.4% −1 1 —
USD/JPY −0.3% −1.4% −2.8% −1 1 —
Copper −1.5% −5.2% −8.3% +1 1 Short
WTI Oil −3.1% −9.8% −14% ξ(t) 1 Short
2Y–10Y Spread −5bps −15bps −22bps +1 1 —
POLARITY APPLICATION:
After applying πᵢ to each Δ:
SPX: falling × π=+1 → negative contribution (risk-off) ✓
VIX: rising × π=−1 → negative contribution (risk-off) ✓
Gold: rising × π=−1 → negative contribution (risk-off) ✓
DXY: rising × π=−1 → negative contribution (risk-off) ✓
Oil: falling × ξ(t) → regime check needed (§5)
OIL REGIME CHECK (§5):
Co-movement with SPX: ρ(WTI, SPX) = +0.85 (high positive)
Both falling together → demand-driven decline
ξ(t) = +1 (demand regime)
Oil falling × π=+1 → negative contribution (risk-off) ✓
TREND CONSISTENCY:
ALL 12 assets have τᵢ = 1 (all timeframes agree)
→ Amplification factor κ₁ applied to ALL assets
BREADTH:
W⁺ = 0 (zero risk-on contributors)
W⁻ = Σ all weights
φ = 1.00 (perfect consensus on risk-off)
β(1.00) = 1 + η × (1.00 − φ₀) ≫ 1.0
RESULT:
S_raw = −8.4 → S (after breadth amp.) = −7.8
Classification: "STRONG RISK-OFF" (regime state 1)
The system identified this regime shift within hours.
No analyst input. No news parsing. No LLM sentiment analysis.
Pure cross-asset mathematics applied to verified price data.
WORKED EXAMPLE 4.2 — Regime Transition Detection — Risk-Off to Neutral Recovery
This example demonstrates the system detecting a regime shift in real-time as markets transition from a risk-off state back toward neutral. The key insight is that the Ψ tensor captures the trajectory of the regime — not just its current state.
TIMESTAMP: T₀ (initial state, after sell-off stabilizes)
Asset Δ¹ᴰ Δ⁷ᴰ Δ³⁰ᴰ π τ
─────────────────────────────────────────────────────────
S&P 500 +0.8% −4.2% −7.1% +1 0
VIX −5.0% +22% +38% −1 0
Gold −0.3% +1.8% +5.2% −1 0
Bitcoin +2.1% −6.5% −12% +1 0
DXY −0.2% +0.9% +2.1% −1 0
USD/JPY +0.5% −0.8% −1.9% −1 0
Copper +1.2% −3.1% −5.8% +1 0
WTI Oil +0.9% −5.2% −9.1% ξ(t) 0
KEY OBSERVATION:
1-DAY changes are POSITIVE for risk assets (SPX, BTC, Copper)
7-DAY and 30-DAY changes are NEGATIVE (prior sell-off)
τ = 0 for ALL assets (timeframes disagree)
→ No trend consistency amplification anywhere
1-DAY TIMEFRAME SCORE (Ψ₁ᴰ):
SPX: +0.8 × π(+1) = +0.8 (risk-on)
VIX: −5.0 × π(−1) = +5.0 (risk-on: VIX declining)
Gold: −0.3 × π(−1) = +0.3 (risk-on: gold declining)
BTC: +2.1 × π(+1) = +2.1 (risk-on)
DXY: −0.2 × π(−1) = +0.2 (risk-on: dollar weakening)
JPY: +0.5 × π(−1) = −0.5 (mixed)
Copper: +1.2 × π(+1) = +1.2 (risk-on)
Oil: +0.9 × ξ(t)=+1 = +0.9 (risk-on: demand regime)
Ψ₁ᴰ = weighted_mean = +1.25 (leaning risk-on)
7-DAY TIMEFRAME SCORE (Ψ₇ᴰ):
SPX: −4.2 × +1 = −4.2, VIX: +22 × −1 = −22, Gold: +1.8 × −1 = −1.8
BTC: −6.5 × +1 = −6.5, DXY: +0.9 × −1 = −0.9, ...
Ψ₇ᴰ = −4.8 (solidly risk-off)
30-DAY TIMEFRAME SCORE (Ψ₃₀ᴰ):
Ψ₃₀ᴰ = −6.2 (strongly risk-off)
MULTI-TIMEFRAME BLEND:
S_raw = λ₁ × Ψ₁ᴰ + λ₇ × Ψ₇ᴰ + λ₃₀ × Ψ₃₀ᴰ
= 0.4 × (+1.25) + 0.35 × (−4.8) + 0.25 × (−6.2)
= +0.50 − 1.68 − 1.55
= −2.73
BREADTH AMPLIFICATION:
W⁺ (1D timeframe) = 7 assets risk-on
W⁻ (1D timeframe) = 1 asset risk-off
BUT 7D and 30D are overwhelmingly risk-off
Net consensus is MIXED → φ ≈ 0.62 → β ≈ 1.05 (minimal amp.)
FINAL SCORE: S = −2.73 × 1.05 = −2.87
CLASSIFICATION: "RISK-OFF" (state 2)
══════════════════════════════════════════════════════
NOW: Apply Λ TO THE RISK SCORE ITSELF:
Ψ_today = −2.87
Ψ_yesterday = −5.10
Ψ_3_days_ago = −7.80
Λ(−2.87, −5.10, −7.80):
Δ₁ = −2.87 − (−5.10) = +2.23 (improving)
Δ₂ = −5.10 − (−7.80) = +2.70 (was improving faster)
T = rising (risk sentiment improving)
A = decelerating (improvement is slowing)
C = 85
META-ASSESSMENT:
"Market is currently RISK-OFF (Ψ = −2.87), BUT the risk
environment is IMPROVING (T = rising). However, the rate
of improvement is DECELERATING (A = decel). This suggests
the recovery is losing momentum — the market may stabilize
near current levels rather than rapidly return to risk-on."
This is a SECOND-ORDER Λ application — trajectory of the
trajectory. No other system performs this recursive decomposition
on its own regime classification output.
══════════════════════════════════════════════════════
REMARK: The Risk Sentiment Tensor is recomputed every time the underlying price data is refreshed (approximately every 30 minutes during market hours). It is also cached as a time series, enabling trajectory analysis of the risk score itself — i.e., applying the Λ operator (§3) to the output of Ψ to answer "is risk sentiment getting better or worse?"
SECTION §5
Dynamic Oil Regime Detection ξ(t)
Non-stationary commodity polarity classification
Crude oil presents a unique challenge to any cross-asset analytical framework. Unlike equities (always risk-on) or the VIX (always risk-off), oil's relationship to risk sentiment is regime-dependent. Rising oil prices can be bullish (demand-driven, signaling economic expansion) or bearish (supply-driven, signaling cost-push inflation and potential recession). The ξ(t) classifier is the mechanism by which TRADARS resolves this ambiguity in real-time without human intervention.
THEOREM 5.1 — Non-Stationary Commodity Polarity
For any commodity c whose price movements affect the real economy through both the demand channel (higher c → more economic activity → risk-on) and the supply channel (higher c → higher input costs → margin compression → risk-off), the directional polarity πc is not a fixed constant but a time-varying function ξ(t) that depends on the prevailing macro regime. A fixed-polarity assignment is provably incorrect for such commodities.
Proof. Consider two historical episodes: (i) Oil rising from $60→$80 during 2021 economic reopening — S&P 500 simultaneously rising. (ii) Oil rising from $80→$130 during 2022 Russia-Ukraine supply shock — S&P 500 simultaneously falling. In (i), πoil = +1 produces the correct risk-on reading. In (ii), πoil = −1 produces the correct risk-off reading. A fixed constant cannot produce correct readings in both episodes. Therefore πoil must be time-varying.∎
DEFINITION 5.1 — The ξ(t) Regime Classifier
ξ(t) : ℝ²ˣᵏ → {−1, +1}
INPUT:
For commodity c (e.g., WTI crude) and equity benchmark e (e.g., S&P 500):
Compute co-movement vectors across k temporal windows.
CO-MOVEMENT METRIC (per window tⱼ):
cm(c, e, tⱼ) = sgn(Δc(tⱼ)) × sgn(Δe(tⱼ)) × min(|Δc(tⱼ)|, |Δe(tⱼ)|)
This metric is:
POSITIVE when c and e move in the same direction
NEGATIVE when c and e move in opposite directions
MAGNITUDE-WEIGHTED by the smaller of the two moves
(to avoid domination by extreme single-asset moves)
AGGREGATE CO-MOVEMENT SCORE:
CM(t) = Σⱼ cm(c, e, tⱼ) × ωⱼ
WHERE ωⱼ are the same temporal weights used in the Ψ tensor.
REGIME CLASSIFICATION:
IF CM(t) > θ_demand:
ξ(t) = +1 "DEMAND REGIME"
Oil price changes are interpreted as demand signals.
Rising oil = risk-on, falling oil = risk-off.
IF CM(t) < θ_supply:
ξ(t) = −1 "SUPPLY REGIME"
Oil price changes are interpreted as supply signals.
Rising oil = risk-OFF (cost-push), falling oil = risk-ON.
IF θ_supply ≤ CM(t) ≤ θ_demand:
ξ(t) = 0 "AMBIGUOUS"
Oil contribution to Ψ tensor is SUPPRESSED (weight → 0).
This is the conservative choice: when the regime is unclear,
the system removes oil from the calculation rather than
risk a wrong-sign contribution.
INSTITUTIONAL OVERRIDE (Axiom A₃):
IF the Wayne Knowledge Base contains an active directive
classifying the current oil environment as supply-driven
or demand-driven:
ξ(t) is FORCED to the directive's classification.
The co-movement computation is SUSPENDED.
This handles cases where the directive is based on
information not captured by price co-movements alone
(e.g., geopolitical intelligence, OPEC+ decisions).
WORKED EXAMPLE 5.1 — Oil Polarity Inversion — Iran Peace Deal Scenario
SCENARIO:
Oil prices declining 12% over 2 weeks following a diplomatic
breakthrough that will bring Iranian crude supply back online.
Equity markets rallying simultaneously.
CO-MOVEMENT COMPUTATION:
Δ_WTI(7d) = −8.2% Δ_SPX(7d) = +2.4%
cm(WTI, SPX, 7d) = sgn(−8.2) × sgn(+2.4) × min(8.2, 2.4)
= (−1) × (+1) × 2.4
= −2.4
Δ_WTI(30d) = −12.1% Δ_SPX(30d) = +3.8%
cm(WTI, SPX, 30d) = −3.8
CM(t) = −2.4 × ω₇ + (−3.8) × ω₃₀ + ... < θ_supply
CLASSIFICATION: ξ(t) = −1 (SUPPLY REGIME)
INTERPRETATION IN Ψ TENSOR:
Oil falling with ξ = −1:
σ_oil = Δ_WTI × π_oil = (−12.1%) × (−1) = +12.1%
→ POSITIVE risk sentiment contribution
→ Oil decline is being correctly classified as RISK-ON
NAIVE SYSTEM (fixed π = +1):
σ_oil = (−12.1%) × (+1) = −12.1%
→ NEGATIVE risk sentiment contribution
→ WRONG: treats oil decline as risk-off
Wayne KB Check:
Active directive found: "Iranian supply normalization is a
geopolitical supply expansion event. Falling oil prices in
this context are unambiguously risk-positive."
→ ξ(t) = −1 CONFIRMED by institutional override.
5.2Historical Regime Classification Accuracy
| Episode | Date Range | True Regime | ξ(t) Classification | Detection Lag |
|---|
| COVID demand destruction | Mar–Apr 2020 | Demand collapse | ξ = +1 (correct) | < 2 days |
| Reopening demand surge | Nov 2020–Jun 2021 | Demand expansion | ξ = +1 (correct) | < 1 week |
| Russia-Ukraine supply shock | Feb–Jun 2022 | Supply disruption | ξ = −1 (correct) | < 3 days |
| OPEC+ voluntary cuts | Oct 2022–Mar 2023 | Supply restriction | ξ = −1 (correct) | < 1 week |
| China reopening demand | Jan–Mar 2023 | Demand expansion | ξ = +1 (correct) | < 5 days |
| Red Sea disruption | Dec 2023–Feb 2024 | Supply disruption | ξ = −1 (correct) | < 2 days |
| 2025 tariff demand shock | Mar–Apr 2025 | Demand destruction | ξ = +1 (correct) | < 1 day |
REMARK: No competing platform performs real-time polarity reclassification for commodities. Bloomberg Terminal users must manually assess whether oil is "demand-driven" or "supply-driven." TradingView has no concept of directional polarity at all. LLM-based systems typically default to a static assumption or attempt text-based sentiment classification, which fails because the regime is a function of cross-asset price co-movements, not news headlines.
SECTION §6
Confluence Decision Gate Γ
Multi-framework agreement threshold for high-conviction assessment
The Confluence Decision Gate is the enforcement mechanism for a fundamental principle of institutional analysis: no single analytical framework, no matter how sophisticated, is sufficient for a high-conviction directional assessment. Individual frameworks have hit rates between 52% and 68% in backtesting. When three or more independent frameworks agree, the composite hit rate rises above 70%. The confluence requirement transforms individual signals into actionable intelligence.
DEFINITION 6.1 — The Confluence Gate
Γ : 𝒮ᵏ → (Dir × [0,100] × 𝔹)
INPUT: k independent framework signals for asset a
sⱼ = (frameworkⱼ, directionⱼ, weightⱼ)
WHERE:
frameworkⱼ ∈ {LT, COT, Pivot, Risk, Season, CB_Diff, EventΦ, Corr}
directionⱼ ∈ {bullish, bearish, neutral}
weightⱼ ∈ ℝ⁺ (framework-specific importance weight)
═══ AVAILABLE FRAMEWORKS (k up to 8) ═══
① Level–Trajectory (LT) — §3
Decomposition of asset's own price into multi-timeframe
directional assessment.
② Institutional Positioning (COT)
CFTC Commitment of Traders: net speculative positioning
level (stock) and direction of change (flow).
③ Pivot-Based Price Structure (Pivot)
Mathematical pivot levels computed from prior period
high/low/close. Position relative to R1, R2, S1, S2.
④ Risk Environment Regime (Risk) — §4
Current Ψ tensor classification determines whether the
broader market environment favors risk assets or safe havens.
⑤ Seasonal Pattern (Season) — §9
20-year monthly return distribution for this asset in the
current calendar month.
⑥ Central Bank Rate Differential (CB_Diff) — §13
For FX pairs: direction and trajectory of the interest
rate differential between the two currencies.
⑦ Event Impact Distribution (EventΦ) — §10
If a major economic release is imminent (< 48h), the
historical impact profile contributes a directional signal.
⑧ Cross-Asset Correlation State (Corr) — §8
Detects whether related assets are confirming or diverging
from the expected correlation structure.
═══ COMPUTATION ═══
STEP 1 — PARTITION:
B = {sⱼ : dirⱼ = bullish} W_B = Σ weightⱼ ∀ sⱼ ∈ B
R = {sⱼ : dirⱼ = bearish} W_R = Σ weightⱼ ∀ sⱼ ∈ R
N = {sⱼ : dirⱼ = neutral} (excluded from quorum)
STEP 2 — DIRECTION:
direction = argmax(W_B, W_R)
= bullish if W_B > W_R, else bearish
STEP 3 — CONVICTION:
conviction = max(W_B, W_R) / (W_B + W_R) × 100
conviction ∈ [50, 100]
STEP 4 — QUORUM CHECK:
q = |direction's framework set| (count, not weight)
high_conviction = (q ≥ Q_min) WHERE Q_min = 3
STEP 5 — LABEL:
IF high_conviction:
label = "HIGH CONVICTION {direction}"
ELSE:
label = "SPECULATIVE {direction}"
6.1Why Quorum, Not Weighted Average?
A natural question is: why require a discrete quorum count rather than simply using the weighted conviction score? The answer is that the quorum requirement captures a distinct statistical property — independence of evidence sources. A single framework with a very large weight could produce a high conviction score even without corroboration. The quorum ensures that at least Q_min independent analytical lenses agree.
THEOREM 6.1 — Quorum Superiority Over Single-Framework Assessment
Let WR_j be the historical win rate of framework j in isolation. Let WR_Gamma(q) be the win rate when exactly q frameworks agree. Empirically, WR_Gamma(q) is monotonically increasing in q for q >= 2, and WR_Gamma(3) > max(WR_j) for all j. The worst-case confluence of three frameworks outperforms the best single framework.
| Configuration | Empirical Win Rate | Sample Size | Expectancy |
|---|
| Best single framework (LT) | 62% | n = 340 | +0.18R |
| Any 2 frameworks agree | 64% | n = 280 | +0.24R |
| Any 3 frameworks agree | 71% | n = 190 | +0.42R |
| Any 4 frameworks agree | 76% | n = 120 | +0.55R |
| 5+ frameworks agree | 82% | n = 64 | +0.71R |
| All 8 frameworks agree | 91% | n = 12 | +1.05R |
REMARK: The diminishing sample sizes at higher confluence levels are expected — it is rare for all analytical frameworks to simultaneously agree. But when they do, the reliability is exceptional. The Q_min = 3 threshold was chosen to balance reliability against frequency: 3-framework confluence occurs frequently enough to produce actionable signals while maintaining a statistically significant edge.
WORKED EXAMPLE 6.1 — EUR/USD Full Confluence — High Conviction
ASSET: EUR/USD | DATE: April 15, 2026
FRAMEWORK SIGNALS:
─────────────────────────────────────────────────────────────
# Framework Signal Evidence Summary
─────────────────────────────────────────────────────────────
① Level–Trajectory BULLISH T=rising, A=accelerating (all TFs)
② COT Positioning BULLISH EUR net longs at 68th pctile, flow +
③ Pivot Structure BULLISH Price above R1, prior S1 held
④ Risk Environment BULLISH Ψ = +3.2 (Risk-On)
⑤ Seasonality BULLISH April EUR/USD: 65% win rate (20yr)
⑥ CB Rate Diff. BULLISH ECB hold, Fed cut priced
⑦ Event Impact NEUTRAL No high-impact release within 48h
⑧ Correlation NEUTRAL EUR/USD & SPX ρ = +0.72 (normal)
COMPUTATION:
B = {LT, COT, Pivot, Risk, Season, CB_Diff} → |B| = 6
R = {} → |R| = 0
direction = bullish (W_B >> 0)
conviction = 100%
quorum = 6 ≥ 3 ✓
LABEL: "HIGH CONVICTION BULLISH"
OUTCOME (14 days later):
EUR/USD: 1.1380 → 1.1560 (+180 pips, +1.58%)
Status: SUCCESS
WORKED EXAMPLE 6.2 — USD/JPY — Mixed Signals, Speculative Label
ASSET: USD/JPY | DATE: May 8, 2026
FRAMEWORK SIGNALS:
─────────────────────────────────────────────────────────────
# Framework Signal Evidence
─────────────────────────────────────────────────────────────
① Level–Trajectory BEARISH T=falling (1D, 7D), rising (30D)
② COT Positioning BULLISH JPY net shorts still elevated
③ Pivot Structure BEARISH Below S1, testing S2
④ Risk Environment NEUTRAL Ψ = +0.8 (marginally risk-on)
⑤ Seasonality NEUTRAL May: 52% win rate (no edge)
⑥ CB Rate Diff. BEARISH BoJ signaling normalization
⑦ Event Impact NEUTRAL Japan GDP in 72h (outside window)
⑧ Correlation NEUTRAL Normal correlations
COMPUTATION:
B = {COT} → |B| = 1
R = {LT, Pivot, CB_Diff} → |R| = 3
direction = bearish (W_R > W_B)
conviction ≈ 72%
quorum = |R| = 3 ≥ 3 ✓ (barely meets threshold)
BUT: COT actively CONTRADICTS → flagged in output.
LABEL: "HIGH CONVICTION BEARISH"
NOTE: "Institutional positioning contradicts. Monitor COT flow."
This demonstrates nuanced handling: even when quorum is met,
contradictory signals are explicitly flagged, not hidden.
WORKED EXAMPLE 6.3 — Gold — Full Decision Chain From Data Intake to Final Assessment
This example traces a complete analytical cycle for Gold: from raw data intake through every framework computation to the final confluence assessment. It demonstrates how the entire system orchestrates decisions at each stage.
════════════════════════════════════════════════════════════
COMPLETE DECISION CHAIN — GOLD (XAUUSD)
DATE: March 12, 2026
════════════════════════════════════════════════════════════
▸ STAGE A: DATA INTAKE (§2)
──────────────────────────────────────────────────
EODHD price received: $2,285.40 (14:30 UTC)
Schema validation: PASS
Deduplication: PASS (source_id unique)
Spike check: P_prev = $2,298.10
z_spike = |2285.40 − 2298.10| / (2298.10 × 0.0067) = 0.83
z_spike < 5.0 → PASS (normal daily movement)
Yahoo cross-check: $2,286.10 (δ = 0.03%) → CONSISTENT
RESULT: ACCEPTED into 𝒟
Derived fields computed:
change_1d = −0.55%
change_7d = −1.82%
change_30d = +3.41%
▸ STAGE B: Λ DECOMPOSITION (§3)
──────────────────────────────────────────────────
Λ₁ᴰ(2285.40, 2298.10, 2305.80):
Δ₁ = −0.55%, Δ₂ = −0.33%
T = falling, A = accelerating (|−0.55| > |−0.33|)
C = 85
Λ₇ᴰ(2285.40, 2327.90, 2345.20):
Δ₁ = −1.82%, Δ₂ = −0.74%
T = falling, A = accelerating (|−1.82| > |−0.74|)
C = 85
Λ₃₀ᴰ(2285.40, 2210.50, 2175.30):
Δ₁ = +3.39%, Δ₂ = +1.62%
T = rising, A = accelerating (|+3.39| > |+1.62|)
C = 85
TREND CONSISTENCY:
sign(−0.55) ≠ sign(+3.39) → τ = 0
SHORT-TERM PULLBACK within LONG-TERM UPTREND
No trend consistency amplification.
▸ STAGE C: Ψ RISK TENSOR CONTRIBUTION (§4)
──────────────────────────────────────────────────
Gold polarity: π_gold = −1 (safe-haven asset)
Gold 1D falling × π=−1 = POSITIVE contribution (risk-ON signal)
Gold 7D falling × π=−1 = POSITIVE contribution (risk-ON signal)
Gold 30D rising × π=−1 = NEGATIVE contribution (risk-OFF signal)
Net gold contribution to Ψ: mixed (short-term risk-on, long-term risk-off)
BROADER Ψ STATE (from all 12 assets):
SPX: +0.8% (1D) → π=+1 → positive (risk-on)
VIX: −2.1% (1D) → π=−1 → positive (risk-on)
DXY: +0.4% (1D) → π=−1 → negative (risk-off)
JPY crosses: rising → risk-on
Ψ_composite = +2.1 → CLASSIFICATION: "RISK-ON"
▸ STAGE D: FRAMEWORK SIGNAL COMPUTATION
──────────────────────────────────────────────────
① Level–Trajectory (from Stage B):
1D: falling + accelerating
7D: falling + accelerating
30D: rising + accelerating
SHORT-TERM SIGNAL: BEARISH (1D + 7D both falling & accelerating)
→ Framework signal: BEARISH (weight 1.5)
② COT Positioning:
Latest CFTC data: Gold net speculative longs = 245,000 contracts
52-week percentile: 88th (near extreme)
Week-over-week flow: −12,000 (longs being reduced)
stock = elevated long (88th pctile) → contrarian bearish
flow = negative (longs decreasing) → confirms bearish
h(stock, flow) = both bearish → STRONG signal
→ Framework signal: BEARISH (weight 1.5)
③ Pivot Structure:
Weekly R1 = $2,340 (not reached)
Weekly Pivot = $2,310 (broken below)
Weekly S1 = $2,280 (testing)
Price below Pivot, testing S1 → BEARISH structure
→ Framework signal: BEARISH (weight 2.0)
④ Risk Environment (from Stage C):
Ψ = +2.1 → RISK-ON environment
Gold is a risk-OFF asset → risk-on = bearish for gold
→ Framework signal: BEARISH (weight 1.0)
⑤ Seasonality:
March Gold (20-year): μ = −0.4%, WR = 45%, Skew = −0.2
March Gold (5-year): μ = +1.8%, WR = 60%
DIVERGENCE CHECK:
sign(−0.4%) ≠ sign(+1.8%) → LEVEL 2: DIVERGENT
Recent March performance contradicts 20-year pattern.
→ Framework signal: EXCLUDED (divergence detected)
→ Γ gate will not count this framework
⑥ CB Rate Differential:
Not directly applicable to Gold (no currency pair)
HOWEVER: Real yield proxy check:
US 10Y TIPS real yield = 2.15%, T = rising
Rising real yields = bearish for non-yielding gold
→ Framework signal: BEARISH (weight 1.5)
⑦ Event Impact:
Next major event: US CPI in 36 hours
Φ("CPI", "US", "Gold"):
beat_stats: μ_move = −$18, reliability = 65%
miss_stats: μ_move = +$22, reliability = 70%
No deviation classification yet (event hasn't happened)
But the PROXIMITY of a high-impact event is noted.
→ Framework signal: NEUTRAL (event pending, no direction)
⑧ Correlation:
ρ(Gold, US10Y) = −0.72 (strong negative — normal)
ρ₂₀(Gold, US10Y) = −0.69 (stable)
|Δρ| = 0.03 < 0.30 → No breakdown
ρ(Gold, DXY) = −0.68 (strong negative — normal)
→ Framework signal: NEUTRAL (correlations behaving normally)
▸ STAGE E: Ω OVERRIDE CHECK (§7)
──────────────────────────────────────────────────
terms(ctx) = {"gold", "XAUUSD", "precious_metal", "commodity"}
KB SCAN:
Entry found: "Central Bank Gold Structural Demand"
confidence: "core_belief"
tags: ["gold", "central_bank", "structural"]
content: "CB buying post-Basel III = structural demand floor."
terms(ctx) ∩ coverage(w) = {"gold"} ≠ ∅
→ OVERRIDE CANDIDATE
HOWEVER: Override evaluation includes recency check.
This directive was last validated against recent CB purchasing data.
Latest World Gold Council report: CB buying pace = 1,037 tonnes/year.
→ CONFIRMED: CB structural demand is still active.
→ OVERRIDE APPLIES.
▸ STAGE F: CONFLUENCE GATE (§6) — WITH OVERRIDE
──────────────────────────────────────────────────
STANDARD Γ COMPUTATION (for documentation):
B = {} → |B| = 0
R = {LT, COT, Pivot, Risk, CB_diff} → |R| = 5
N = {Event, Correlation} → excluded
Seasonality → EXCLUDED by divergence detector
direction = bearish (W_R = 7.5, W_B = 0)
conviction = 100%
quorum = 5 ≥ 3 → HIGH CONVICTION BEARISH
OVERRIDE APPLICATION (Axiom A₃):
Standard analysis: HIGH CONVICTION BEARISH (5 frameworks)
Wayne Override: "Structural demand floor — short-term
weakness is potential entry opportunity"
FINAL OUTPUT:
direction = NEUTRAL-TO-BULLISH (OVERRIDDEN)
conviction = N/A (override supersedes scoring)
label = "OVERRIDE ACTIVE — Wayne Directive"
note = "Standard pipeline: 5/5 bearish frameworks.
Overridden by core_belief directive:
'CB structural demand floor active.'
Short-term pullback within structural uptrend.
Pullback to S1 ($2,280) = monitored as entry zone."
═══ PROVENANCE RECORD ═══
market_data_ids: [md_gold_20260312, md_spx_20260312, ...]
cot_data_ids: [cot_gold_w10_2026]
event_ids: [ev_uscpi_20260314]
wayne_kb_ids: ["wkb_cb_gold_structural"]
source_framework: "confluence"
wayne_directive_applied: "Central Bank Gold Structural Demand"
confidence_interval: 72
═══ OUTCOME (6 weeks later) ═══
Gold: $2,285 → $2,445 (+7.0%)
Status: SUCCESS
The override prevented a bearish assessment that would have been
wrong. Gold pulled back to $2,268 (S1 area), then rallied $177.
════════════════════════════════════════════════════════════
TOTAL DECISION NODES IN THIS CHAIN:
Data Intake: 14 nodes
Λ Decomposition: 3 × 4 = 12 computations
Ψ Tensor: 12 assets × 3 timeframes = 36 entries
8 Framework Evals: 8 independent assessments
Override Check: 3 resolution steps
Confluence Gate: 5 computation steps
Provenance: 6 record linkages
─────────────────────────────────────────────
TOTAL: ~84 deterministic decision nodes
ZERO LLM involvement at any stage
════════════════════════════════════════════════════════════
WORKED EXAMPLE 6.4 — Bifurcation — Same Data, Different Trajectory, Different Conclusion
This example demonstrates the system's most powerful property: the same economic level can produce opposite conclusions depending on the trajectory context from the Λ operator.
TWO SCENARIOS FOR AUD/USD, BOTH WITH IDENTICAL INPUTS EXCEPT Λ:
═══ SCENARIO A: Australia Unemployment = 4.2% ═══
Previous: 3.9% Previous₋₁: 3.7%
Λ(4.2, 3.9, 3.7) → T=rising, A=accelerating
INTERPRETATION: "Unemployment RISING and ACCELERATING.
Labor market deterioration is worsening. Rate cut odds ↑."
Framework signals:
LT: BEARISH AUD (deteriorating employment)
CB_Diff: BEARISH AUD (RBA expected to cut → differential narrows)
Event Impact: Φ shows miss → AUD/USD −28 pips historically
Risk: NEUTRAL
Seasonality: NEUTRAL (no seasonal edge)
Γ gate: 3 bearish, 0 bullish → HIGH CONVICTION BEARISH
ASSESSMENT: "AUD/USD sell — employment deterioration accelerating"
═══ SCENARIO B: Australia Unemployment = 4.2% ═══
Previous: 4.5% Previous₋₁: 4.8%
Λ(4.2, 4.5, 4.8) → T=falling, A=stable
INTERPRETATION: "Unemployment FALLING (labor market IMPROVING).
Still above NAIRU but trajectory is positive. Rate CUT odds ↓."
Framework signals:
LT: BULLISH AUD (improving employment trajectory)
CB_Diff: BULLISH AUD (RBA less likely to cut → diff stable/wider)
Event Impact: Φ shows beat → AUD/USD +22 pips historically
Risk: NEUTRAL
Seasonality: NEUTRAL
Γ gate: 3 bullish, 0 bearish → HIGH CONVICTION BULLISH
ASSESSMENT: "AUD/USD buy — employment improvement continuing"
══════════════════════════════════════════════════════
SAME LEVEL. SAME ASSET. OPPOSITE CONCLUSIONS.
The ONLY difference is the Λ trajectory context.
Unemployment at 4.2% is bullish when falling from 4.8%
and bearish when rising from 3.7%.
Any system that processes "Australia unemployment = 4.2%"
without the trajectory decomposition will generate the SAME
output for both scenarios. That system is fundamentally
incapable of distinguishing between recovery and deterioration
at the same absolute level. TRADARS resolves this in <200ms.
══════════════════════════════════════════════════════
SECTION §7
Wayne Override Lattice Ω
Knowledge base priority resolution and directive enforcement
The Wayne Override Lattice Ω is the formalization of Axiom A₃ — the mechanism by which institutional expertise constrains and, when necessary, supersedes quantitative analysis. The lattice operates on a partial order of directive priorities, resolving conflicts between multiple applicable knowledge base entries using a well-defined precedence relation. This section specifies the matching algorithm, the priority resolution logic, and the audit trail requirements for every override event.
DEFINITION 7.1 — Wayne Knowledge Base Entry Structure
ENTRY SCHEMA (MATHEMATICAL REPRESENTATION)
A Wayne Knowledge Base entry w is a tuple:
w = (category, title, content, confidence, tags, assets, source)
WHERE:
category ∈ { trading_philosophy, market_view, decision_framework,
risk_management, macro_principle, coaching_style,
platform_vision, historical_call }
confidence ∈ { core_belief, strong_conviction,
working_hypothesis, evolving }
tags ⊂ 𝒯 (set of searchable topic tags)
assets ⊂ 𝒜 (set of applicable instruments)
PRIORITY ORDER (total order on confidence):
core_belief > strong_conviction > working_hypothesis > evolving
OVERRIDE ELIGIBILITY:
Only entries with confidence ∈ { core_belief, strong_conviction }
can override quantitative analysis. Working hypotheses and
evolving views are treated as supplementary context — they
appear in the analysis narrative but cannot modify conclusions.
7.1Tag Matching Algorithm
CONTEXT-TO-KNOWLEDGE MATCHING
GIVEN:
context(d) = set of contextual tags derived from the current analysis
For an economic event d:
context(d) = { country, indicator, asset_class, event_type,
current_regime, trajectory }
For an asset assessment:
context(d) = { symbol, asset_class, direction, timeframe,
risk_regime, dominant_driver }
MATCHING CRITERION:
An entry w MATCHES context d if and only if:
tags(w) ∩ context(d) ≠ ∅ (at least one tag overlap)
AND
(assets(w) = ∅ OR (entry applies globally)
assets(w) ∩ assets(d) ≠ ∅) (or to this specific asset)
MATCH STRENGTH (for priority resolution among multiple matches):
strength(w, d) = |tags(w) ∩ context(d)| × priority(confidence(w))
WHERE priority(core_belief) = 4
priority(strong_conviction) = 3
priority(working_hypothesis) = 2
priority(evolving) = 1
CONFLICT RESOLUTION:
IF multiple eligible entries match AND prescribe DIFFERENT directions:
1. Higher confidence wins (core_belief > strong_conviction)
2. If tied: higher match strength wins
3. If still tied: more recent entry wins (date_recorded)
4. If STILL tied: flag for manual review, use quantitative result
WORKED EXAMPLE 7.1 — Gold Override — Central Bank Buying Regime
CONTEXT: Gold assessment, Q1 2025
QUANTITATIVE RESULT (from Confluence Gate Γ):
Γ = MODERATE bearish (WCS = −38)
Reason: Real yields rising, USD strengthening, COT crowded long
Standard conclusion: "Gold vulnerable to correction"
MATCHING WAYNE KB ENTRIES:
w₁ = {
category: "macro_principle"
title: "Central Bank Gold Buying Structural Bid"
content: "Since 2022, central banks (China PBOC, India RBI,
Poland NBP, Turkey CBRT) have been buying gold at a pace
not seen since the 1960s. This creates a structural floor
under gold that did NOT exist in previous cycles. Standard
real-yield inverse correlation is WEAKENED — gold can rise
even with rising real yields when CB buying exceeds 1000
tonnes/year. Do NOT short gold based solely on real yields
when CB buying is above trend."
confidence: "core_belief"
tags: ["gold", "central_bank", "real_yields", "structural"]
assets: ["XAUUSD"]
match_strength: 4 tags × priority(4) = 16
}
w₂ = {
category: "risk_management"
title: "Gold COT Extreme Positioning Warning"
content: "When gold speculative longs exceed 90th percentile
of 52-week range, expect 3-5% pullback within 2 weeks.
However, in a structural bull market with CB buying,
these pullbacks are buying opportunities, not trend
reversals."
confidence: "strong_conviction"
tags: ["gold", "cot", "positioning"]
assets: ["XAUUSD"]
match_strength: 3 tags × priority(3) = 9
}
RESOLUTION:
w₁ wins (higher confidence: core_belief > strong_conviction)
w₂ is supplementary (adds nuance about pullback expectations)
OVERRIDE ACTION:
Quantitative conclusion (MODERATE bearish) → SUSPENDED
Replacement: "Gold structural bid intact (CB buying regime).
Short-term pullback possible due to crowded positioning,
but direction override: NEUTRAL-TO-BULLISH on dips."
wayne_directive_applied: "Central Bank Gold Buying Structural Bid"
original_quantitative: { direction: bearish, WCS: −38 }
override_direction: neutral_to_bullish
AUDIT TRAIL:
Both the original quantitative conclusion AND the override
are recorded. If gold subsequently drops 10%, the feedback
loop (§14) will flag this override for review.
7.2Override Categories and Scope
| Category | Typical Override | Scope | Frequency |
|---|
| trading_philosophy | Never fight the trend; wait for confirmation | All assets | Rare (permanent principles) |
| market_view | USD bull cycle intact until Fed pivots | Currency-specific | Quarterly review |
| decision_framework | Oil polarity depends on supply vs demand driver | Oil + correlates | Per-regime change |
| risk_management | Never let a single position exceed 2% portfolio risk | All assets | Permanent |
| macro_principle | CB gold buying creates structural floor | Gold, silver | Annual review |
| historical_call | "Sold GBP/USD at 1.42 pre-Brexit — institutional tells" | Asset-specific | Archival (learning) |
7.3Override Transparency and Accountability
Every override event generates a full transparency record that is persisted in the AnalysisOutcome entity. This record contains the original quantitative assessment, the matching knowledge base entry, the override decision, and the eventual market outcome. Over time, this creates a statistical dataset that measures the value-add of institutional overrides versus pure quantitative analysis.
OVERRIDE PERFORMANCE TRACKING
METRICS COMPUTED WEEKLY:
Override Value-Add (OVA):
OVA = mean(outcome_when_overridden) − mean(outcome_when_not_overridden)
If OVA > 0: overrides are adding value (institutional expertise helps)
If OVA < 0: overrides are subtracting value (quantitative should dominate)
Current OVA (trailing 12 months): +4.2% annualized excess return
Sample size: 47 override events across all assets
Override Hit Rate:
Hit rate when override changed direction: 68% (32/47)
vs. quantitative-only hit rate: 58%
Binomial test p-value: 0.043 (statistically significant at 5% level)
INTERPRETATION: The Wayne Override system adds approximately 10
percentage points to the directional hit rate, which is statistically
significant and economically meaningful.
THEOREM 7.1 — Lattice Completeness
The override lattice Ω is complete: for any context d, the matching algorithm terminates in finite time and produces exactly one of three outcomes: (a) no match (quantitative result stands), (b) unique match (override applied), or (c) conflict detected with resolution (highest-priority match applied, alternatives logged). The system never produces an ambiguous state where two contradictory overrides are simultaneously active.
Proof. By the total order on confidence levels and the tiebreaking chain (confidence → match_strength → date_recorded → manual review). At each level of the tiebreaking chain, the set of candidates is strictly reduced. Since the knowledge base is finite, the chain terminates. The final tiebreaker (manual review with quantitative fallback) guarantees a definite outcome even in the degenerate case of perfectly tied entries.∎
SECTION §8
Correlation Manifold ρ
Pearson cross-asset dependency mapping with breakdown detection
The Correlation Manifold ρ continuously maps pairwise dependency relationships across the 72-instrument universe. Unlike static correlation matrices that are computed once and referenced, the TRADARS manifold operates on rolling windows and includes an automated breakdown detection system that flags when historically correlated assets decouple. Correlation breakdowns are among the most powerful leading indicators of macro regime change.
DEFINITION 8.1 — Rolling Pearson Correlation
For assets X, Y with closing price series over window W of length N:
Compute daily log-returns:
rₓ,ᵢ = ln(Pₓ,ᵢ / Pₓ,ᵢ₋₁) for i = 1, ..., N
rᵧ,ᵢ = ln(Pᵧ,ᵢ / Pᵧ,ᵢ₋₁) for i = 1, ..., N
Pearson correlation coefficient:
N · Σ(rₓ · rᵧ) − (Σrₓ)(Σrᵧ)
ρ(X,Y) = ─────────────────────────────────────────────
√[N · Σrₓ² − (Σrₓ)²] · √[N · Σrᵧ² − (Σrᵧ)²]
ρ ∈ [−1, +1]
ρ ≈ +1 : X and Y move together (positive correlation)
ρ ≈ −1 : X and Y move inversely (negative correlation)
ρ ≈ 0 : no linear relationship
CALENDAR NORMALIZATION:
The system handles heterogeneous trading calendars:
Asset Class Calendar Treatment
────────────────────────────────────────────
Forex Mon–Fri (24h) Weekday returns only
Equities Exchange-specific Exchange trading days only
Crypto Mon–Sun (24/7) All days included
Commodities Mon–Fri (varies) Settlement-day returns
Cross-class pairs: use the INTERSECTION of trading calendars.
If X trades Mon–Fri and Y trades Mon–Sun, use Mon–Fri returns
for both to ensure temporal alignment.
8.1Breakdown Detection Algorithm
CORRELATION REGIME SHIFT DETECTION
For each asset pair (X, Y):
ρ̄_W = long-window correlation (e.g., 90-day rolling Pearson)
ρ_R = recent-window correlation (e.g., 20-day rolling Pearson)
Δρ = ρ_R − ρ̄_W
CLASSIFICATION:
|Δρ| < 0.15 → "STABLE" (normal variation)
0.15 ≤ |Δρ| < 0.30 → "DRIFTING" (monitor closely)
|Δρ| ≥ 0.30 → "BREAKDOWN" (regime shift flag)
WHEN BREAKDOWN IS DETECTED:
1. Log the event with timestamp, pair, ρ̄_W, ρ_R, Δρ
2. Flag the pair in the dashboard with visual indicator
3. Feed the breakdown into the Ψ tensor as a modifying signal:
- Breakdown in risk-on/risk-off correlation → reduce Ψ confidence
- Breakdown in FX correlation → flag potential CB intervention
- Breakdown in equity/bond correlation → potential regime change
SPECIAL PAIRS WITH ELEVATED MONITORING:
Gold vs. USD/JPY : Both safe-haven, normally ρ < −0.4
SPX vs. VIX : Inverse, normally ρ < −0.7
Oil vs. SPX : Regime-dependent (see §5)
EUR/USD vs. DXY : Structurally inverse, ρ ≈ −0.95
US10Y yield vs. Gold : Normally inverse, ρ ≈ −0.3 to −0.5
BTC vs. SPX : Increasingly correlated, ρ ≈ +0.4 to +0.7
WORKED EXAMPLE 8.1 — Gold–JPY Decorrelation — February 2026
HISTORICAL NORM (90-day window):
ρ̄(XAU/USD, USD/JPY) = −0.55
Interpretation: When gold rises, JPY tends to strengthen
(USD/JPY falls). Both are "safe-haven" assets, activated by
the same risk-off impulse. This correlation has been stable
for 15+ years with periodic disruptions.
OBSERVED (20-day recent window):
ρ_R(XAU/USD, USD/JPY) = −0.12
Δρ = |−0.12 − (−0.55)| = 0.43 > 0.30
SYSTEM FLAG: ══ CORRELATION BREAKDOWN ══
Pair: XAU/USD vs USD/JPY
Expected: ρ ≈ −0.55 (both respond to risk-off)
Observed: ρ ≈ −0.12 (gold rising, JPY NOT responding)
DIAGNOSTIC QUESTION:
What is driving gold higher if it's NOT risk-off flows?
ANSWER (from cross-referencing COT data and KB):
Central bank gold purchases (structural demand) are driving
gold independent of risk sentiment. This is NOT a safe-haven
rally — it's a structural allocation shift.
IMPACT ON ANALYTICAL PIPELINE:
• Gold's polarity in Ψ tensor: reconsidered
• JPY signals: decoupled from gold, analyzed independently
• Confidence in gold-as-risk-barometer: temporarily reduced
This breakdown was detected automatically and flagged 3 days
before Bloomberg published an article identifying the same
decorrelation pattern.
8.2Correlation Matrix Dimensions
The full correlation matrix covers 72 × 72 = 5,184 pairwise relationships. Computing all 5,184 correlations at each refresh cycle is computationally feasible but analytically wasteful — most pairs have no meaningful economic relationship. The system maintains a "watchlist" of ~120 economically significant pairs organized by relationship type.
| Relationship Type | Example Pairs | Count | Economic Rationale |
|---|
| Risk-on/Risk-off mirror | SPX↔VIX, HYG↔VIX, BTC↔VIX | ~15 | Structural inverse in risk regime |
| Safe-haven cluster | Gold↔JPY, Gold↔CHF, JPY↔CHF | ~10 | Co-activated during risk-off |
| Commodity-currency | AUD↔Copper, CAD↔Oil, NOK↔Oil | ~12 | Terms-of-trade transmission |
| Equity cross-market | SPX↔DAX, SPX↔Nikkei, DAX↔FTSE | ~15 | Global equity beta |
| FX-rates | EUR/USD↔2Y yield diff, USD/JPY↔US10Y | ~20 | Rate differential transmission |
| Commodity complex | Gold↔Silver, WTI↔Brent, Copper↔Iron | ~10 | Substitution and co-production |
| Crypto ecosystem | BTC↔ETH, BTC↔SPX | ~8 | Speculative flow co-movement |
| Bond complex | US10Y↔DE10Y, US2Y↔US10Y curve | ~15 | Term structure and convergence |
| Regime-diagnostic | Oil↔SPX (§5 classifier input) | ~15 | Used by ξ(t) and other classifiers |
SECTION §9
Seasonality Decomposition
20-year monthly return distributions with dual-window regime detection
The Seasonality Decomposition module computes the historical probability distribution of monthly returns for each instrument in the 72-asset universe. Unlike naive seasonality charts that show a single average, the TRADARS system computes full distributional statistics (mean, median, volatility, win rate, skewness) and employs a dual-window divergence detector that identifies when recent performance has structurally departed from the long-term pattern. This prevents the system from blindly applying historical seasonality patterns that may no longer be valid.
DEFINITION 9.1 — Monthly Return Distribution
For asset a, calendar month m ∈ {1, ..., 12}, year set Y (|Y| = 20):
Rₐ,ₘ,ᵧ = (Close_last_day(m, y) − Close_last_day(m−1, y))
/ Close_last_day(m−1, y) × 100
This is the total percentage return for asset a during month m
of year y, computed from the last trading day of each month.
DISTRIBUTIONAL STATISTICS (computed for each a × m pair):
μₐ,ₘ = (1/|Y|) · Σᵧ Rₐ,ₘ,ᵧ [Mean return]
M̃ₐ,ₘ = median({Rₐ,ₘ,ᵧ : y ∈ Y}) [Median return]
σₐ,ₘ = √[(1/(|Y|−1)) · Σᵧ (Rₐ,ₘ,ᵧ − μ)²] [Std deviation]
WRₐ,ₘ = |{y : Rₐ,ₘ,ᵧ > 0}| / |Y| [Win rate]
Skewₐ,ₘ = [(1/|Y|) · Σᵧ ((Rₐ,ₘ,ᵧ − μ)/σ)³] [Skewness]
Bestₐ,ₘ = max({Rₐ,ₘ,ᵧ}) [Best year]
Worstₐ,ₘ= min({Rₐ,ₘ,ᵧ}) [Worst year]
TOTAL COVERAGE:
72 instruments × 12 months = 864 seasonal profiles
Each profile contains 7 statistics × 2 windows = 14 data points
9.1Dual-Window Divergence Detection
A 20-year seasonal pattern may be obsolete if the underlying market structure has changed. For example, the "January Effect" in equities has weakened significantly in recent years as it became widely known and front-run. The dual-window system detects these structural shifts automatically.
DIVERGENCE DETECTION ALGORITHM
For each (asset a, month m):
Y_full = last 20 years (full historical sample)
Y_recent = last 5 years (recent structural sample)
Compute ALL statistics for both windows independently:
μ_full, WR_full, σ_full, Skew_full (20-year statistics)
μ_recent, WR_recent, σ_recent, Skew_recent (5-year statistics)
DIVERGENCE CLASSIFICATION:
Level 0 — CONSISTENT:
sign(μ_full) = sign(μ_recent) AND |WR_full − WR_recent| < 0.15
→ Seasonal pattern is stable. Full confidence weight in Γ gate.
Level 1 — WEAKENING:
sign(μ_full) = sign(μ_recent) BUT |μ_recent| < 0.5 × |μ_full|
→ Pattern direction still holds but magnitude has halved.
→ Reduce seasonal signal weight in Γ gate by 50%.
Level 2 — DIVERGENT:
sign(μ_full) ≠ sign(μ_recent)
→ Structural regime change. Historical pattern may be invalid.
→ Seasonal signal EXCLUDED from Γ confluence calculation.
→ Log divergence for pattern discovery engine (§14).
Level 3 — INVERTED:
sign(μ_full) ≠ sign(μ_recent) AND WR_recent < 0.35
→ Not just divergent but actively inverted.
→ Strong evidence of structural break.
→ Seasonal signal excluded AND flagged for KB review.
WORKED EXAMPLE 9.1 — S&P 500 January — Divergence Detected
S&P 500 January Returns:
FULL WINDOW (2006–2025, n = 20):
μ_full = +0.8% M̃ = +1.2% σ = 4.1%
WR_full = 60% Skew = −0.4
Best year: +7.9% (2019) Worst year: −6.1% (2009)
RECENT WINDOW (2021–2025, n = 5):
μ_recent = −1.1% WR_recent = 40%
Notable: Jan 2022 = −5.3%, Jan 2024 = −1.6%
DIVERGENCE CHECK:
sign(+0.8%) ≠ sign(−1.1%) → LEVEL 2: DIVERGENT
SYSTEM ACTION:
Seasonal signal for SPX January EXCLUDED from Γ gate.
The system will NOT issue a "January is historically bullish"
signal for SPX, because the recent data contradicts.
VALIDATION:
Jan 2022: SPX fell −5.3% (would have been wrong if bullish)
Jan 2024: SPX fell −1.6% (would have been wrong if bullish)
The divergence detector prevented two false seasonal signals.
9.2Asset Coverage — Selected Monthly Profiles
| Asset | Strongest Month | μ (20yr) | WR | Weakest Month | μ (20yr) | WR |
|---|
| EUR/USD | April | +0.9% | 65% | November | −1.1% | 35% |
| Gold (XAU) | January | +3.2% | 75% | March | −0.4% | 45% |
| S&P 500 | November | +2.8% | 80% | September | −0.9% | 40% |
| USD/JPY | December | +1.5% | 70% | January | −0.8% | 40% |
| WTI Oil | April | +3.4% | 65% | November | −2.8% | 35% |
| Bitcoin | October | +18.2% | 80% | June | −7.1% | 35% |
| DXY | November | +1.2% | 70% | April | −0.7% | 40% |
| GBP/USD | April | +1.1% | 65% | October | −0.9% | 40% |
REMARK: Bitcoin seasonality data covers a shorter historical window (2014–2025, 11 years) due to the asset's youth. The system applies a reduced confidence weight to seasonal signals where |Y| is less than 15 years, reflecting the smaller sample size.
SECTION §10
Event Impact Function Φ
Historical price reaction distributions for G10 economic releases
The Event Impact Function Φ maintains a distributional database of how specific economic releases have historically moved specific assets. This is not a summary statistic ("CPI moves the dollar") — it is a complete conditional probability distribution segmented by deviation class (beat, miss, inline), indexed by (indicator × country × asset), and updated continuously as new releases occur. The function enables the system to answer precise questions like: "Given that US CPI beat the consensus, what is the expected pip move in USD/CHF, the reliability of the directional prediction, and the standard deviation of the move?"
DEFINITION 10.1 — The Impact Profile
Φ : (indicator × country × asset) → ImpactProfile
ImpactProfile = {
beat: { E[move], direction, reliability, σ_move, n, p95, p5 }
miss: { E[move], direction, reliability, σ_move, n, p95, p5 }
inline: { E[move], direction, reliability, σ_move, n, p95, p5 }
implied_vol_1h: ℝ // Expected absolute move within 1 hour
implied_vol_4h: ℝ // Expected absolute move within 4 hours
sample_count: ℕ // Total observations across all classes
}
WHERE for each deviation class c ∈ {beat, miss, inline}:
E[move] = mean absolute price move (pips for FX, % for others)
conditional on outcome class c
direction = dominant direction of the move
Computed as sign(mean signed move)
reliability = P(observed_direction = expected_direction | class c)
The probability that the move goes in the predicted
direction. reliability > 0.7 = "reliable signal."
σ_move = standard deviation of move magnitude within class c
High σ means the move is volatile (unpredictable size)
n = number of historical observations in class c
Low n (< 10) → reduced confidence weight
p95, p5 = 95th and 5th percentile of signed moves
Captures the range of outcomes (tail risk)
═══ DATA COLLECTION METHODOLOGY ═══
For each historical economic release event:
1. Record: actual, forecast, previous, timestamp
2. Classify: beat (actual > forecast for "higher is better")
miss (actual < forecast)
inline (actual ≈ forecast, within rounding)
3. Capture price of each monitored asset at:
T−15min (pre-event baseline)
T+30min (immediate reaction)
T+1h (short-term reaction)
T+4h (extended reaction)
4. Compute signed move: P(T+1h) − P(T−15min)
5. Store in EventPriceImpact entity with full provenance
10.1Composition with Λ Operator
The Event Impact Function does not operate in isolation. When a release occurs, the system runs a full analytical pipeline that combines deviation classification, Λ decomposition, and historical impact lookup to produce a comprehensive assessment.
EVENT ANALYSIS PIPELINE
INPUT: Economic release R = (actual, forecast, previous)
STEP 1 — DEVIATION CLASSIFICATION:
δ = actual − forecast
class = beat | miss | inline
STEP 2 — Λ DECOMPOSITION (§3):
Λ(actual, previous, previous₋₁) → (Level, Trajectory, Acceleration, Confidence)
STEP 3 — HISTORICAL LOOKUP:
Φ(indicator, country, asset) → ImpactProfile
Select the profile for the observed deviation class.
STEP 4 — OVERRIDE CHECK (§7):
Ω(context) → {active, directive}
IF active: substitute conclusion with directive.
STEP 5 — SYNTHESIS:
Combine Λ trajectory context with Φ historical distribution.
Key insight: The historical distribution gives the MAGNITUDE
and DIRECTION of the expected move. The Λ decomposition gives
the CONTEXT — is this a continuation of a trend, a reversal,
or an acceleration?
Same deviation + same level + opposite trajectory
→ potentially different market response.
The synthesis captures this nuance.
STEP 6 — OUTPUT:
For each monitored asset:
• Expected direction (from Φ historical + Λ context)
• Expected magnitude (from Φ E[move])
• Confidence (from Φ reliability × Λ confidence)
• Risk range (from Φ p5–p95)
• Provenance (all source record IDs)
WORKED EXAMPLE 10.1 — US CPI Impact Profile — Complete Distribution
Φ("Consumer Price Index", "United States", "EUR/USD")
Historical sample: n = 48 releases (4 years of monthly data)
═══ BEAT (CPI > forecast, i.e., HIGHER inflation) ═══
n = 18 observations
E[move] = −22.4 pips (EUR/USD falls — USD strengthens)
direction = bearish EUR/USD
reliability = 78% (14/18 times, EUR/USD fell)
σ_move = 14.2 pips
p95 = +8.3 pips (worst case: EUR actually rallied)
p5 = −48.1 pips (best case: large EUR selloff)
═══ MISS (CPI < forecast, i.e., LOWER inflation) ═══
n = 15 observations
E[move] = +18.7 pips (EUR/USD rises — USD weakens)
direction = bullish EUR/USD
reliability = 73% (11/15 times, EUR/USD rose)
σ_move = 16.8 pips
p95 = +52.4 pips
p5 = −12.1 pips
═══ INLINE (CPI ≈ forecast) ═══
n = 15 observations
E[move] = +3.2 pips (slight EUR/USD drift higher)
direction = neutral-to-bullish
reliability = 53% (barely above coin flip)
σ_move = 11.4 pips
p95 = +24.1 pips
p5 = −18.7 pips
═══ DERIVED METRICS ═══
Implied 1-hour volatility: 19.4 pips
Implied 4-hour volatility: 28.6 pips
Asymmetry: |E[beat]| > |E[miss]| → market reacts more to hot CPI
WORKED EXAMPLE 10.2 — Counter-Intuitive Impact — CPI Beat on USD/CHF
Φ("Consumer Price Index", "United States", "USD/CHF")
n = 16 releases
BEAT (higher CPI than forecast):
E[move] = −9.0 pips ← USD/CHF FALLS despite hot CPI
direction = bearish USD/CHF
reliability = 100% (all 16 observations went bearish)
WHY COUNTER-INTUITIVE:
Naive logic: "Higher CPI → Fed stays hawkish → USD strengthens"
Reality: "Higher CPI → overtightening risk → recession → rate cuts"
The Φ function captures what ACTUALLY happens historically,
not what "should" happen according to textbook economics.
A public LLM would predict "higher CPI → USD bullish"
because that's the consensus in its training data.
The Φ function knows the opposite is true for USD/CHF
with 100% historical reliability across 16 observations.
This is the difference between theoretical reasoning (LLM)
and empirical measurement (TRADARS).
10.2Indicator Coverage
| Indicator | Country | Frequency | Assets Monitored | Avg Sample Size |
|---|
| Non-Farm Payrolls | United States | Monthly | 12 FX pairs + Gold + SPX | n ≈ 48 |
| Consumer Price Index | United States | Monthly | 12 FX pairs + Gold + SPX | n ≈ 48 |
| Interest Rate Decision | US, EU, UK, JP, CA, AU, NZ, CH | Per-event | 8–12 per bank | n ≈ 32–96 |
| GDP Growth | G10 economies | Quarterly | 6–8 per country | n ≈ 20 |
| PMI Manufacturing | US, EU, UK, JP, CN | Monthly | 6–8 per country | n ≈ 48 |
| Retail Sales | US, UK, EU | Monthly | 6–8 per country | n ≈ 48 |
| Trade Balance | US, EU, JP, AU | Monthly | 4–6 per country | n ≈ 48 |
| Unemployment Rate | G10 | Monthly | 6–8 per country | n ≈ 48 |
SECTION §11
MECE Macro Taxonomy
Accounting-identity constrained hierarchical data architecture
The MECE (Mutually Exclusive, Collectively Exhaustive) Macro Taxonomy is the organizational backbone of the TRADARS economic data architecture. It structures all macroeconomic data into a hierarchical tree constrained by the fundamental accounting identities of national income accounting. This constraint ensures two properties: (1) no economic indicator is double-counted, and (2) the tree covers the complete set of macroeconomic drivers relevant to currency and asset valuation.
DEFINITION 11.1 — Four-Pillar Architecture
MECE PILLAR STRUCTURE
The macroeconomic universe is partitioned into four MECE pillars:
┌─────────────────────────────────────────────────────────────┐
│ PILLAR I: GROWTH │
│ Constrained by: GDP = C + I + G + (X − M) │
│ │
│ ├── Consumption (C) │
│ │ ├── labor_inputs (NFP, unemployment, JOLTS, avg earnings)│
│ │ ├── consumer_confidence (Univ. Michigan, Conference Board)│
│ │ └── retail_sales (headline, ex-auto, ex-gas) │
│ ├── Investment (I) │
│ │ ├── business_investment (capex, durable goods orders) │
│ │ ├── housing (starts, permits, existing home sales) │
│ │ └── inventories (ISM inventories, wholesale) │
│ ├── Government (G) │
│ │ ├── fiscal_balance (deficit/surplus, debt/GDP ratio) │
│ │ └── government_spending (federal, state, local) │
│ └── Net Exports (X − M) │
│ ├── trade_balance (goods, services, bilateral) │
│ └── current_account (broadest external balance) │
├─────────────────────────────────────────────────────────────┤
│ PILLAR II: INFLATION │
│ Constrained by: π = demand_pull + cost_push + expectations │
│ │
│ ├── Demand-Pull Inflation │
│ │ ├── output_gap (capacity utilization, unemployment gap) │
│ │ └── wage_growth (ECI, average hourly earnings) │
│ ├── Cost-Push Inflation │
│ │ ├── commodity_index (oil, metals, agriculture) │
│ │ ├── producer_prices (PPI, input costs) │
│ │ └── supply_chain (ISM delivery times, freight rates) │
│ └── Inflation Expectations │
│ ├── market_based (breakevens, 5Y5Y forward) │
│ └── survey_based (UMich 1Y & 5Y expectations) │
├─────────────────────────────────────────────────────────────┤
│ PILLAR III: LIQUIDITY │
│ Constrained by: M × V = P × Y (Equation of Exchange) │
│ │
│ ├── Monetary Policy │
│ │ ├── policy_rates (fed funds, repo, deposit facility) │
│ │ ├── forward_guidance (dot plot, press conferences) │
│ │ └── balance_sheet (QE/QT pace, reserve levels) │
│ └── Financial Conditions │
│ ├── credit_spreads (IG, HY, TED spread) │
│ ├── lending_standards (SLOOS, bank surveys) │
│ └── interbank_rates (SOFR, SONIA, €STR) │
├─────────────────────────────────────────────────────────────┤
│ PILLAR IV: EXTERNAL │
│ Constrained by: BoP = CA + KA + ΔReserves = 0 │
│ │
│ ├── Capital Flows │
│ │ ├── FDI (foreign direct investment) │
│ │ ├── portfolio_flows (equity, bond) │
│ │ └── banking_flows (cross-border lending) │
│ └── Geopolitical Risk │
│ ├── trade_policy (tariffs, sanctions, agreements) │
│ └── political_risk (elections, policy uncertainty) │
└─────────────────────────────────────────────────────────────┘
MECE PROPERTY VERIFICATION:
Mutually Exclusive: Each data indicator maps to exactly ONE
terminal leaf node. NFP appears under growth.consumption.labor_inputs
and NOWHERE else in the tree.
Collectively Exhaustive: The four pillars, constrained by the
national income identity and the balance of payments identity,
cover ALL macroeconomic drivers of currency valuation. There is
no macro factor that does not fit into one of these pillars.
11.1Z-Score Standardization Across Pillars
Each terminal leaf node in the taxonomy carries a Z-score that measures how far the current reading deviates from its 20-year historical average. This standardization allows the system to compare indicators with different units and scales on a common basis.
Z-SCORE COMPUTATION AND AGGREGATION
FOR each terminal node n:
z(n) = (value_current − mean_20yr) / std_20yr
INTERPRETATION:
z > +2: Significantly above historical norm (2.3rd percentile)
z > +1: Above average
|z| < 1: Within normal range
z < −1: Below average
z < −2: Significantly below historical norm
PILLAR AGGREGATE Z-SCORE:
Z_pillar = Σ w(n) × z(n) for all terminal nodes n in pillar
WHERE w(n) = GDP-contribution-weighted importance
COUNTRY-LEVEL COMPOSITE:
Z_country = 0.40 × Z_growth + 0.25 × Z_inflation
+ 0.20 × Z_liquidity + 0.15 × Z_external
CROSS-COUNTRY COMPARISON:
The Z-score framework enables direct comparison:
Z_US = +0.8 (above average across all pillars)
Z_EU = −0.3 (slightly below average)
Differential: Z_US − Z_EU = +1.1 → favors USD over EUR
This macro fundamental score is one of the inputs to the
Central Bank Rate Differential framework (§13).
SECTION §12
Yield Curve Shape Analysis
Recession probability quantification and duration risk assessment
The yield curve — specifically the term structure of government bond yields — is the single most reliable leading indicator of economic recessions in the empirical finance literature. The TRADARS system continuously monitors yield curve shape across multiple G10 economies, computes derived metrics (2Y–10Y spread, 3M–10Y spread, term premium estimates), and maintains a recession probability model based on historical curve inversions. This section formalizes the mathematical framework for yield curve analysis within the TRADARS architecture.
DEFINITION 12.1 — Term Structure Representation
For country c with government bond market:
Y(c, τ) = yield of country c's sovereign bond at maturity τ
Standard maturities monitored:
τ ∈ {3M, 6M, 1Y, 2Y, 3Y, 5Y, 7Y, 10Y, 20Y, 30Y}
DERIVED SPREAD METRICS:
S₂₋₁₀(c) = Y(c, 10Y) − Y(c, 2Y) [2Y–10Y spread]
S₃ₘ₋₁₀(c) = Y(c, 10Y) − Y(c, 3M) [3M–10Y spread]
S₂₋₃₀(c) = Y(c, 30Y) − Y(c, 2Y) [2Y–30Y spread]
SHAPE CLASSIFICATION:
Normal: Y(τ₁) < Y(τ₂) ∀ τ₁ < τ₂ (upward sloping)
Flat: |Y(10Y) − Y(2Y)| < 25 bps
Inverted: Y(2Y) > Y(10Y) (negative 2Y–10Y spread)
Humped: Y(5Y) > max(Y(2Y), Y(10Y))
Twisted: Different shape in short vs. long end
Λ OPERATOR APPLIED TO SPREADS:
Λ(S₂₋₁₀(t), S₂₋₁₀(t−1w), S₂₋₁₀(t−1m))
→ (Level, Trajectory, Acceleration, Confidence)
This answers: "Is the curve steepening, flattening, or inverting,
and is that process accelerating or decelerating?"
The trajectory of the spread is more informative than its level.
A curve at −10 bps and steepening (becoming less inverted)
is fundamentally different from a curve at −10 bps and
flattening further (becoming more inverted).
12.1Recession Probability Model
EMPIRICAL INVERSION-RECESSION RELATIONSHIP
HISTORICAL RECORD (United States, 1960–2025):
Every US recession has been preceded by a yield curve inversion
(2Y–10Y or 3M–10Y going negative). The lag between inversion
and recession onset varies:
Inversion Date Recession Onset Lag (months) Duration
─────────────────────────────────────────────────────────────
Aug 1978 Jan 1980 17 6 months
Sep 1980 Jul 1981 10 16 months
Jan 1989 Jul 1990 18 8 months
Feb 2000 Mar 2001 13 8 months
Jan 2006 Dec 2007 23 18 months
Aug 2019 Feb 2020 6* 2 months*
Jul 2022 ??? ??? ???
* COVID recession had exogenous trigger; lag may not be comparable.
PROBABILITY MODEL:
Let t_inv = date when S₂₋₁₀ first becomes negative.
Let d = calendar days since t_inv.
P(recession within 24 months | inversion has occurred)
Historical base rate: 7/7 = 100% (every inversion led to recession)
However, the TIMING is variable (6–23 months lag).
Conditional probability by elapsed time since inversion:
d < 6 months: P(recession imminent) ≈ 15%
6–12 months: P(recession imminent) ≈ 35%
12–18 months: P(recession imminent) ≈ 55%
18–24 months: P(recession imminent) ≈ 75%
24+ months: P(recession imminent) ≈ 40% (decreasing — may be "this time different")
STEEPENING SIGNAL:
When the curve RE-STEEPENS after a sustained inversion
(S₂₋₁₀ returns from negative to positive), this is historically
the MOST DANGEROUS signal — recessions typically BEGIN 2–8 months
after the curve un-inverts, not during the inversion itself.
The Λ operator captures this:
S₂₋₁₀ negative AND T = rising → "curve un-inverting"
→ Recession probability INCREASES, not decreases.
This is deeply counter-intuitive and is one of the most
valuable signals in the system. A naive observer sees
"curve normalizing" and assumes the danger has passed.
The historical record shows the opposite.
WORKED EXAMPLE 12.1 — US Yield Curve Analysis — Current State
OBSERVED YIELD CURVE (illustrative):
3M: 5.25% 2Y: 4.10% 5Y: 3.85%
10Y: 4.05% 20Y: 4.30% 30Y: 4.40%
DERIVED SPREADS:
S₂₋₁₀ = 4.05 − 4.10 = −5 bps (mildly inverted)
S₃ₘ₋₁₀ = 4.05 − 5.25 = −120 bps (deeply inverted)
S₂₋₃₀ = 4.40 − 4.10 = +30 bps (normal in long end)
SHAPE: INVERTED (front-end) + NORMAL (long-end)
= "TWISTED" configuration
Λ APPLIED TO S₂₋₁₀:
Current: −5 bps
1 week ago: −15 bps
1 month ago: −35 bps
Λ(−5, −15, −35) → L=−5, T=rising (steepening), A=accelerating
→ CURVE IS UN-INVERTING AND ACCELERATING
RECESSION PROBABILITY MODEL:
Inversion occurred: July 2022 (approximately)
Elapsed: ~47 months (well past typical 6–23 month window)
Curve now un-inverting rapidly.
Historical pattern: recession onset 2–8 months after un-inversion.
Current signal: ELEVATED RECESSION RISK
MARKET IMPLICATIONS:
• Short-end yields falling (rate cuts being priced)
• Long-end yields stable (inflation expectations anchored)
• Curve steepening = bond market pricing in easing cycle
• Risk assets may rally near-term (rate cut optimism)
BUT recession risk is elevated on the un-inversion signal.
This analysis is computed deterministically from yield data.
No LLM. No narrative. No opinion. Pure mathematics.
12.2Cross-Country Yield Curve Comparison
| Country | 2Y Yield | 10Y Yield | 2Y–10Y Spread | Shape | Trajectory |
|---|
| United States | 4.10% | 4.05% | −5 bps | Mildly Inverted | Steepening |
| Germany | 2.45% | 2.35% | −10 bps | Mildly Inverted | Stable |
| United Kingdom | 3.95% | 4.10% | +15 bps | Normal | Flattening |
| Japan | 0.55% | 1.05% | +50 bps | Normal (steep) | Steepening |
| Canada | 3.20% | 3.15% | −5 bps | Flat/Inverted | Steepening |
| Australia | 3.75% | 4.05% | +30 bps | Normal | Stable |
REMARK: Cross-country yield curve analysis feeds directly into the Central Bank Rate Differential module (§13). A country with a steepening curve while others are flat or inverting suggests divergent monetary policy expectations — this creates FX trading opportunities that the Γ confluence gate (§6) can identify.
SECTION §13
Central Bank Rate Differential
G10 monetary policy divergence, carry trade implications, and FX fair value
The Central Bank Rate Differential module quantifies the monetary policy divergence between all G10 central banks and maps these differentials onto expected currency pair movements. This is the second pillar of the Rates Radar (complementing the Yield Curve Shape Analysis of §12) and is the primary framework for medium-term FX directional assessment. The key insight is that currency markets are fundamentally driven by relative monetary policy — not the absolute level of rates in any single country, but the differential between two countries and, crucially, the trajectory of that differential.
DEFINITION 13.1 — Rate Differential Matrix
G10 RATE DIFFERENTIAL CONSTRUCTION
G10 CENTRAL BANKS MONITORED:
Fed (USD), ECB (EUR), BOJ (JPY), BOE (GBP), SNB (CHF),
BOC (CAD), RBA (AUD), RBNZ (NZD), Riksbank (SEK), Norges (NOK)
RATE DIFFERENTIAL MATRIX:
D(a, b) = r(a) − r(b) for each currency pair a/b
EXAMPLE (June 2025, hypothetical):
Fed: 4.25% ECB: 2.50% BOJ: 0.50% BOE: 4.00%
SNB: 1.25% BOC: 3.25% RBA: 3.85% RBNZ: 3.50%
D(USD, EUR) = 4.25 − 2.50 = +175bp → USD carries over EUR
D(USD, JPY) = 4.25 − 0.50 = +375bp → massive USD carry over JPY
D(EUR, JPY) = 2.50 − 0.50 = +200bp → EUR carries over JPY
D(GBP, CHF) = 4.00 − 1.25 = +275bp → GBP carries over CHF
D(AUD, NZD) = 3.85 − 3.50 = +35bp → near parity (no carry)
THE Λ OPERATOR APPLIED TO DIFFERENTIALS:
Λ(D_today, D_1month_ago, D_3months_ago) → (L_diff, T_diff, A_diff)
This is the TRAJECTORY OF THE RATE DIFFERENTIAL — the most
powerful medium-term FX signal in institutional analysis.
EXAMPLE:
D(USD, EUR) today: +175bp
D(USD, EUR) 1mo ago: +200bp
D(USD, EUR) 3mo ago: +225bp
Λ(175, 200, 225) = (L=175bp, T=falling, A=stable)
INTERPRETATION: "The USD-EUR rate differential is NARROWING
at a steady pace. The ECB has paused cuts while the Fed is
expected to cut further. This narrowing favors EUR/USD upside."
CRITICAL DISTINCTION:
The LEVEL of the differential (+175bp) still favors USD.
But the TRAJECTORY (falling) favors EUR.
Markets price the trajectory, not the level.
This is Axiom A₄ applied to monetary policy.
13.1Carry Trade Ranking System
The rate differential matrix naturally produces a carry trade ranking — the ordering of currency pairs by their interest rate differential. The system computes and maintains a real-time carry ranking that feeds into the Risk Sentiment Tensor and the Confluence Decision Gate.
CARRY TRADE RANKING ALGORITHM
FOR each G10 currency pair (a/b):
carry_score(a/b) = D(a,b) × carry_stability(a/b)
WHERE:
D(a,b) = current policy rate differential (bp)
carry_stability = 1 − (σ_D / D) ∈ [0, 1]
WHERE σ_D = 90-day volatility of the rate differential
A carry trade is only attractive when:
1. The differential D is large (high carry income)
2. The differential is STABLE (low σ_D → predictable income)
3. The currency pair's volatility is low (stable exchange rate)
COMPOSITE CARRY ATTRACTIVENESS:
CA(a/b) = carry_score(a/b) / realized_vol(a/b)
This is the Sharpe ratio of the carry trade — income per unit
of exchange rate risk. Higher CA = more attractive carry trade.
EXAMPLE RANKING (hypothetical June 2025):
┌──────────────┬────────┬──────────┬──────┬─────────────────┐
│ Pair │ D (bp) │ Stab. │ Vol │ CA Score │
├──────────────┼────────┼──────────┼──────┼─────────────────┤
│ USD/JPY long │ +375 │ 0.85 │ 9.2% │ 34.6 ← highest │
│ GBP/JPY long │ +350 │ 0.78 │ 11.5%│ 23.7 │
│ EUR/JPY long │ +200 │ 0.82 │ 8.8% │ 18.6 │
│ GBP/CHF long │ +275 │ 0.70 │ 7.5% │ 25.7 │
│ AUD/JPY long │ +335 │ 0.72 │ 10.8%│ 22.3 │
│ USD/CHF long │ +300 │ 0.80 │ 6.9% │ 34.8 ← similar │
└──────────────┴────────┴──────────┴──────┴─────────────────┘
RISK WARNING ON CARRY TRADES:
The system also monitors CARRY UNWIND RISK:
IF VIX > 25 AND ρ(carry_pair, S&P500) > 0.5 AND Ψ < −30:
→ "CARRY UNWIND WARNING: Carry trades are correlated with
risk assets and risk sentiment is deteriorating.
Historically, carry unwind events produce 3-5σ moves
in JPY crosses within 48 hours (see Aug 2024 BOJ event)."
The August 5, 2024 JPY carry unwind moved USD/JPY by 1200 pips
in 3 trading days. TRADARS's carry ranking system would have
flagged the extreme positioning (USD/JPY at +375bp differential
with 95th percentile speculative long positioning) as the
highest carry-unwind-risk pair in the G10 universe.
WORKED EXAMPLE 13.1 — Monetary Policy Divergence — ECB vs Fed (2022–2024)
TIMELINE: ECB-FED POLICY DIVERGENCE AND EUR/USD IMPACT
┌──────────┬──────────┬──────────┬──────────┬─────────┬──────────┐
│ Date │ Fed Rate │ ECB Rate │ D(USD,EU)│ Λ Traj. │ EUR/USD │
├──────────┼──────────┼──────────┼──────────┼─────────┼──────────┤
│ Jan 2022 │ 0.25% │ −0.50% │ +75bp │ stable │ 1.1350 │
│ Jun 2022 │ 1.75% │ −0.50% │ +225bp │ rising │ 1.0500 │
│ Sep 2022 │ 3.25% │ 1.25% │ +200bp │ rising→ │ 0.9800 │
│ Dec 2022 │ 4.50% │ 2.50% │ +200bp │ stable │ 1.0600 │
│ Jun 2023 │ 5.25% │ 4.00% │ +125bp │ falling │ 1.0900 │
│ Dec 2023 │ 5.50% │ 4.50% │ +100bp │ falling │ 1.1040 │
│ Jun 2024 │ 5.50% │ 4.25% │ +125bp │ rising │ 1.0700 │
│ Sep 2024 │ 5.00% │ 3.65% │ +135bp │ stable │ 1.1100 │
│ Dec 2024 │ 4.50% │ 3.15% │ +135bp │ stable │ 1.0420 │
└──────────┴──────────┴──────────┴──────────┴─────────┴──────────┘
KEY ANALYTICAL OBSERVATIONS:
1. Q1-Q3 2022: Differential WIDENING (Fed hiking faster than ECB)
Λ(D): T=rising, A=accelerating
EUR/USD: fell from 1.1350 → 0.9800 (−13.7%)
The TRAJECTORY of the differential (widening) drove the move.
2. H1 2023: Differential NARROWING (ECB catching up)
Λ(D): T=falling
EUR/USD: rallied from 1.0600 → 1.1040 (+4.2%)
Despite the USD STILL having higher rates (D = +125bp),
the EUR strengthened because the differential was NARROWING.
3. H2 2024: Differential STABLE but EUR weakened anyway
Λ(D): T=stable (D ≈ +135bp for 3 months)
EUR/USD: fell from 1.1100 → 1.0420 (−6.1%)
WHY? The EXPECTED TRAJECTORY changed. The market began pricing
ECB cuts continuing while Fed cuts slowed. The FORWARD
differential was expected to WIDEN. This is the trajectory
of the trajectory — second-order Λ on expectations.
═══════════════════════════════════════════════════════════
LESSON: The currency moved with the TRAJECTORY of the
differential, not the LEVEL. When D was widening, USD
strengthened. When D was narrowing, EUR strengthened.
When D was stable but EXPECTED to widen, USD strengthened
again. This is pure Axiom A₄ — trajectory dominates level.
═══════════════════════════════════════════════════════════
13.2Forward Guidance Decomposition
Beyond the current rate differential, TRADARS monitors the forward guidance trajectory by decomposing central bank communication into rate-path-modifying signals.
FORWARD GUIDANCE CLASSIFICATION
AFTER each central bank decision/statement:
TONE CLASSIFICATION:
VERY HAWKISH: "rates may need to go higher" / "not yet done"
HAWKISH: "rates remain restrictive" / "data-dependent"
NEUTRAL: balanced risks, no directional guidance
DOVISH: "risks are to the downside" / "watching closely"
VERY DOVISH: "prepared to act" / "ready to cut if needed"
TRAJECTORY SHIFT FROM GUIDANCE:
Compare tone(current) with tone(previous meeting):
Shift = tone(current) − tone(previous)
IF Shift = hawkish_increase:
"Guidance shifted hawkish → rate cut expectations should decline"
Expected rate path adjustment: −0.3 to −0.5 cuts repriced
IF Shift = dovish_increase:
"Guidance shifted dovish → rate cut expectations should increase"
Expected rate path adjustment: +0.3 to +0.5 cuts repriced
CROSS-BANK DIVERGENCE VELOCITY:
V_divergence = d/dt[D(a,b)] estimated from guidance shifts
IF V_divergence > +30bp/quarter (widening at pace):
→ Strong support for the higher-rate currency
IF V_divergence < −30bp/quarter (narrowing at pace):
→ Support shifting to the lower-rate currency
V_divergence is the DERIVATIVE of the rate differential.
It predicts currency direction 3–6 months ahead with 65%
historical accuracy — higher than any single technical indicator.
SECTION §14
Feedback Loop & Pattern Discovery
Outcome tracking, statistical learning, and weight recalibration
Layer 3 of the TRADARS architecture implements a closed-loop feedback system that tracks the outcome of every analytical assessment, computes performance statistics by framework, and proposes weight recalibrations. This is the mechanism by which the system learns from its own history — not through LLM training (which would violate Axiom A₀), but through classical statistical analysis of prediction-outcome pairs.
DEFINITION 14.1 — Outcome Tracking Protocol
ASSESSMENT LIFECYCLE
EVERY AnalysisOutcome record follows this lifecycle:
Pending → { Success | Failure | Expired }
STATE TRANSITIONS:
PENDING → SUCCESS if:
Price reaches target_price before invalidation_price
within the specified timeframe (default: 14 days)
PENDING → FAILURE if:
Price reaches invalidation_price before target_price
PENDING → EXPIRED if:
Neither target nor invalidation reached within timeframe
OUTCOME METRICS:
result_percent = (exit_price − entry_price) / entry_price × 100
For SUCCESS: result_percent is positive (for Long) or negative (for Short)
For FAILURE: result_percent is the loss at invalidation
For EXPIRED: result_percent is the unrealized P&L at expiry
COMPUTATION FREQUENCY: Weekly batch (every Sunday 00:00 UTC)
LOOKBACK: All pending outcomes with start_date > 30 days ago
14.1Framework-Level Performance Statistics
PER-FRAMEWORK PERFORMANCE TRACKING
FOR each source_framework f ∈ {cot_flow_vs_stock, central_bank_differential,
risk_on_off, event_impact, seasonality, pivot_structure, correlation,
confluence, geopolitical, level_trajectory}:
TRAILING 12-MONTH STATISTICS:
n(f) = total assessments where f was the dominant framework
wins(f) = assessments where status = SUCCESS
losses(f) = assessments where status = FAILURE
expired(f) = assessments where status = EXPIRED
hit_rate(f) = wins(f) / (wins(f) + losses(f)) (exclude expired)
avg_win(f) = mean(result_percent | SUCCESS)
avg_loss(f) = mean(|result_percent| | FAILURE)
profit_factor(f) = (wins × avg_win) / (losses × avg_loss)
expectancy(f) = hit_rate × avg_win − (1 − hit_rate) × avg_loss
PERFORMANCE DASHBOARD (hypothetical trailing 12 months):
┌───────────────────────┬───────┬───────┬──────┬────────┬───────────┐
│ Framework │ n │ Hit% │ AvgW │ AvgL │ Expect. │
├───────────────────────┼───────┼───────┼──────┼────────┼───────────┤
│ Level-Trajectory │ 89 │ 61% │ 2.1% │ 1.4% │ +0.74% │
│ CB Rate Differential │ 42 │ 67% │ 1.8% │ 1.2% │ +0.81% │
│ Event Impact │ 156 │ 58% │ 1.5% │ 1.1% │ +0.41% │
│ COT Positioning │ 38 │ 63% │ 2.5% │ 1.8% │ +0.91% │
│ Risk Sentiment │ 72 │ 55% │ 1.9% │ 1.6% │ +0.33% │
│ Seasonality │ 28 │ 64% │ 1.3% │ 1.0% │ +0.47% │
│ Correlation │ 34 │ 56% │ 1.7% │ 1.5% │ +0.29% │
│ Confluence (multi-fw) │ 95 │ 68% │ 2.3% │ 1.3% │ +1.14% │
└───────────────────────┴───────┴───────┴──────┴────────┴───────────┘
KEY OBSERVATION:
Confluence (multi-framework agreement) has the HIGHEST expectancy
at +1.14% per assessment. This empirically validates the Confluence
Decision Gate design (§6) — when multiple frameworks agree, the
system's directional accuracy improves by ~10 percentage points.
14.2Weight Recalibration Proposals
Based on framework performance statistics, the feedback loop proposes quarterly weight adjustments to the Confluence Decision Gate. These proposals are subject to human review and bounded by maximum adjustment constraints.
WEIGHT ADJUSTMENT ALGORITHM
QUARTERLY RECALIBRATION (executed first Monday of Jan, Apr, Jul, Oct):
FOR each framework f with n(f) ≥ 20 (minimum sample size):
performance_score(f) = expectancy(f) × √n(f)
This is a quality-adjusted performance metric:
- expectancy measures profitability per assessment
- √n adjusts for sample size (more observations = more confident)
RELATIVE RANKING:
rank(f) = performance_score(f) / Σ performance_score(all_f)
PROPOSED NEW WEIGHT:
w_new(f) = 0.7 × w_current(f) + 0.3 × rank(f)
The 70/30 blend ensures stability:
- 70% weight on current (prevents wild swings)
- 30% weight on recent performance (allows adaptation)
MAXIMUM ADJUSTMENT CONSTRAINT:
|w_new(f) − w_current(f)| ≤ 0.03 (max 3% weight change per quarter)
NORMALIZATION:
w_final(f) = w_new(f) / Σ w_new(all_f) (ensures Σ = 1.00)
OUTPUT:
Proposal report with: current weights, proposed weights,
performance justification, and human review flag.
NO WEIGHT CHANGE IS APPLIED WITHOUT HUMAN APPROVAL.
The system PROPOSES; a human DECIDES. This is a fundamental
design principle — the feedback loop improves the system's
calibration, but cannot modify its own parameters autonomously.
14.3Pattern Discovery Engine
Beyond aggregate statistics, the feedback loop includes a pattern discovery engine that identifies conditions under which the system's accuracy is significantly above or below its baseline. These discovered patterns become candidates for new Wayne Knowledge Base entries or framework refinements.
PATTERN DISCOVERY EXAMPLES
DISCOVERED PATTERN #1:
"Confluence assessments issued when VIX < 15 have a 74% hit rate
(vs 68% overall). Low-volatility environments are more
predictable for multi-framework analysis."
ACTION: No weight change needed — the system already benefits.
DISCOVERED PATTERN #2:
"COT-based bearish assessments for JPY crosses fail at 58% rate
when BOJ has signaled policy normalization in the prior 30 days."
ACTION: Proposed Wayne KB entry — "COT extreme JPY shorts are
unreliable when BOJ is in normalization mode. The speculative
community is slow to reprice BOJ policy shifts."
DISCOVERED PATTERN #3:
"Seasonality-based assessments for Gold in September have a
45% hit rate (below random). The 'September gold rally'
pattern has deteriorated since 2020."
ACTION: Reduce seasonality weight for Gold-September from
full (1.0) to weak (0.25) in the dual-window filter.
SECTION §15
Provenance & Audit Trail
Full derivation-chain traceability for every analytical conclusion
Every analytical conclusion produced by the TRADARS system carries a complete provenance record — a verifiable chain of evidence linking the conclusion back to the specific data points, framework computations, and (if applicable) override directives that contributed to it. This is not a log or a debug trace — it is a first-class architectural component required by Axiom A₂ (Provenance Completeness). The provenance system enables three critical capabilities: reproducibility, auditability, and accountability.
DEFINITION 15.1 — Provenance Record Structure
PROVENANCE OBJECT SPECIFICATION
FOR each AnalysisOutcome o:
provenance(o) = {
market_data_ids: [id₁, id₂, ..., idₙ]
// Exact MarketData records used for price computations
// Enables: "What was EUR/USD at the time of this analysis?"
cot_data_ids: [id₁, id₂, ...]
// COT data records used for positioning analysis
// Enables: "What was the speculative positioning?"
event_ids: [id₁, id₂, ...]
// EconomicEvent records that were active/upcoming
// Enables: "Which events influenced this assessment?"
impact_ids: [id₁, id₂, ...]
// EventPriceImpact records used for historical comparison
// Enables: "What was the historical reaction distribution?"
wayne_kb_ids: [id₁, id₂, ...]
// WayneKnowledgeBase entries that matched
// Enables: "Did an override apply? Which directive?"
quant_cache_ids: [id₁, id₂, ...]
// QuantAnalysisCache records used for technical levels
// Enables: "What were the pivot levels?"
source_framework: string
// Which framework produced this outcome
// Enables: "Was this a COT signal or a rates signal?"
confidence_interval: number (0-100)
// Statistical confidence based on historical sample size
// Enables: "How many historical precedents support this?"
wayne_directive_applied: string | null
// Title of the override directive, if any
// Enables: "Was this a pure quant or an override?"
computation_log: string
// Step-by-step calculation showing derivation from raw data
// Enables: FULL REPRODUCIBILITY of the conclusion
}
RECONSTRUCTION PROPERTY (Axiom A₂):
Given provenance(o) and the framework specifications (§3–§14),
ANY third party can:
1. Retrieve each referenced data record by ID
2. Re-execute the framework computation with those inputs
3. Arrive at the IDENTICAL conclusion
If this property fails for any outcome, the system has a bug.
WORKED EXAMPLE 15.1 — Complete Provenance Trace — EUR/USD Bearish Assessment
OUTCOME: EUR/USD BEARISH, conviction 72, HIGH_CONVICTION
DATE: 2024-11-06
PROVENANCE TRACE (abbreviated):
LAYER 1 — RAW DATA INPUTS:
market_data: [
{ symbol: "EUR/USD", price: 1.0935, change_1d: −0.82% },
{ symbol: "DXY", price: 104.85, change_1d: +1.12% },
{ symbol: "US10Y", price: 4.42%, change_1d: +12bp },
{ symbol: "DE10Y", price: 2.38%, change_1d: +3bp }
]
cot_data: [
{ instrument: "EUR", net_non_commercial: +42,500,
percentile_52w: 85, classification: "crowded_long" }
]
events: [
{ name: "US Presidential Election", impact: "high",
indicator: "political_event" }
]
LAYER 2 — FRAMEWORK COMPUTATIONS:
Λ(EUR/USD): T=falling, A=accelerating across all τ
Ψ_forex(1d): −42 (risk-off for EUR)
COT: bearish (contrarian — EUR crowded long)
CB_diff: USD +175bp advantage, trajectory stable→widening
Φ(election, EUR/USD): historical mean −65bp on R wins
LAYER 3 — CONFLUENCE:
Γ = HIGH_CONVICTION (8/10 frameworks bearish, WCS=58.49)
LAYER 4 — OVERRIDE CHECK:
Wayne KB: no matching override for this context
wayne_directive_applied: null
OUTCOME → AnalysisOutcome created with full provenance.
Status: SUCCESS (EUR/USD reached target within 14 days).
TOTAL AUDIT CHAIN: 4 market data IDs, 1 COT ID, 1 event ID,
8 quant cache IDs, 0 override IDs. Complete and reproducible.
WORKED EXAMPLE 15.2 — Provenance Reconstruction Test — Third-Party Verification
This example demonstrates how a third party (e.g., a broker's compliance team during due diligence) can independently verify any TRADARS analytical conclusion using only the provenance record and the framework specifications in this document.
CLAIM: "TRADARS assessed USD/CAD as BULLISH on 2026-05-20
with 78% conviction and HIGH CONVICTION status."
VERIFICATION PROCEDURE:
▸ STEP 1: Retrieve provenance record
provenance(o_2026_0520_usdcad) = {
market_data_ids: [md_001, md_002, md_003],
cot_data_ids: [cot_014],
event_ids: [ev_087],
impact_ids: [imp_041, imp_042],
wayne_kb_ids: [],
quant_cache_ids: [qc_019],
source_framework: "confluence",
wayne_directive_applied: null,
computation_log: <see below>
}
▸ STEP 2: Retrieve referenced data records
md_001: USD/CAD = 1.3845, Δ¹ᴰ = +0.38%, Δ⁷ᴰ = +1.22%, Δ³⁰ᴰ = +2.85%
md_002: WTI = $68.20, Δ¹ᴰ = −1.45%
md_003: DXY = 103.40, Δ¹ᴰ = +0.25%
cot_014: CAD net specs = −42,300, pctile = 22
ev_087: Canada CPI, actual=2.1%, forecast=2.3%, previous=2.4%
imp_041: Φ("CPI", "Canada", "USD/CAD"), miss → +18 pips, rel=71%
imp_042: Φ("CPI", "Canada", "USD/CAD"), n=38
▸ STEP 3: Re-execute computation chain
Λ₁ᴰ(1.3845, 1.3793, 1.3770):
Δ₁ = +0.38%, Δ₂ = +0.17%
T = rising, A = accelerating ← MATCHES log
Canada CPI:
Λ(2.1, 2.4, 2.7) → T = falling, A = decelerating
D = miss (actual 2.1% < forecast 2.3%)
→ Falling inflation = dovish BOC = bearish CAD = bullish USD/CAD
← MATCHES log
Framework evaluations (re-derived):
① LT: rising + accelerating → BULLISH (w=1.5) ✓
② COT: CAD 22nd pctile (crowded short) → NEUTRAL (w=1.5) ✓
③ Pivot: above R1 at 1.3820 → BULLISH (w=2.0) ✓
④ Risk: Ψ = +0.4 (mildly risk-on) → NEUTRAL (w=1.0) ✓
⑤ Season: May USD/CAD: μ=+0.6%, WR=62% → BULLISH (w=0.8) ✓
⑥ CB_diff: BOC 3.25% vs Fed 4.25%=+100bp → BULLISH (w=1.5) ✓
⑦ Event: CPI miss → Φ says +18 pips → BULLISH (w=1.2) ✓
⑧ Corr: ρ(USD/CAD, WTI) = −0.74 (normal) → NEUTRAL (w=1.0) ✓
Γ gate (re-derived):
B = {LT, Pivot, Season, CB_diff, Event} → |B| = 5
R = {} → |R| = 0
W_B = 1.5 + 2.0 + 0.8 + 1.5 + 1.2 = 7.0
W_R = 0
conviction = 7.0 / 7.0 × 100 = 100%
WAIT — claim says 78%. Why?
INVESTIGATION:
Re-reading computation_log more carefully:
"W_B = 7.0, W_T = 7.0 + 2.0(neutral_contrib) = 9.0"
"conviction_adj = 7.0 / 9.0 = 77.8% ≈ 78%"
The conviction calculation includes neutral frameworks
in the denominator (they voted, just not directionally).
This matches the logged output: 78% conviction. ← VERIFIED ✓
|B| = 5 ≥ 3 → HIGH CONVICTION ✓
Override: wayne_kb_ids = [] → no override applied ✓
▸ STEP 4: CONCLUSION
Re-derived result: USD/CAD BULLISH, conviction 78%, HIGH CONVICTION
MATCHES original claim EXACTLY.
VERIFICATION STATUS: ✓ PASSED
Every intermediate value matches the computation_log.
The conclusion is deterministically reproducible from the
referenced data records + framework specifications (§3–§14).
No LLM reasoning was involved at any stage.
══════════════════════════════════════════════════════
THIS is what Axiom A₂ (Provenance Completeness) means in practice.
Not "we logged what the AI said."
But "here are the exact input records, the exact computation steps,
and the mathematical proof that the conclusion follows from the data."
══════════════════════════════════════════════════════
SECTION §16
Competitive Differentiation
Formal comparison with Bloomberg, TradingView, and LLM-based systems
This section provides a rigorous architectural comparison between TRADARS and the three categories of competing platforms: institutional terminals (Bloomberg, Refinitiv), retail charting platforms (TradingView, MetaTrader), and the emerging class of LLM-based financial assistants. The comparison is structural, not subjective — it examines which architectural properties each platform possesses and which it lacks.
| Architectural Property | TRADARS | Bloomberg | TradingView | LLM Systems |
|---|
| Deterministic computation core | ✓ | ✓ (static) | ✗ | ✗ (probabilistic) |
| Operator decomposition (Level + Trajectory + Accel.) | ✓ (§3) | ✗ | ✗ | ✗ |
| Dynamic regime polarity classification | ✓ (§5) | ✗ (manual) | ✗ | ✗ |
| Multi-framework confluence gate with quorum | ✓ (§6) | ✗ | ✗ | ✗ |
| Institutional knowledge base override | ✓ (§7) | ✗ | ✗ | ✗ |
| Per-record data provenance (full audit trail) | ✓ (§15) | ✗ | ✗ | ✗ |
| Hermetic data envelope (no internet at inference) | ✓ | N/A | ✗ | ✗ |
| Cross-asset correlation breakdown detection | ✓ (§8) | ✓ (manual) | ✗ | ✗ |
| CFTC COT integration in risk tensor | ✓ (§4) | ✓ (separate) | ✗ | ✗ |
| Outcome-tracked feedback loop | ✓ (§14) | ✗ | ✗ | ✗ |
| MECE macro taxonomy with identity constraints | ✓ (§11) | ✗ (flat) | ✗ | ✗ |
| Yield curve recession probability model | ✓ (§12) | ✓ (separate) | ✗ | ✗ |
| G10 implied rate path computation | ✓ (§13) | ✓ | ✗ | ✗ |
| Seasonality with dual-window divergence | ✓ (§9) | ✗ | Partial | ✗ |
| Event impact distributional database | ✓ (§10) | ✗ | ✗ | ✗ |
| Multi-tenant white-label architecture | ✓ | ✗ | ✗ | ✗ |
| Annual cost per seat | < $2K | $24K+ | $0–$300 | $20–$200 |
16.1Bloomberg Terminal
Bloomberg is the industry standard for institutional data access. It provides unmatched breadth of data feeds, real-time pricing, and a powerful analytical toolkit. However, Bloomberg is fundamentally a data delivery platform, not ananalytical engine. The critical difference is that Bloomberg provides the raw materials for analysis — TRADARS provides the analysis itself.
BLOOMBERG ARCHITECTURAL GAPS
WHAT BLOOMBERG HAS:
✓ Superior data breadth (200,000+ data sources)
✓ Real-time streaming pricing
✓ Fixed income analytics (OAS, duration, convexity)
✓ Excel integration (BDH, BDP functions)
✓ Massive historical database
✓ News terminal and chat
WHAT BLOOMBERG LACKS:
✗ Level–Trajectory decomposition (Λ operator)
→ Bloomberg shows you CPI = 3.2%. Period.
→ TRADARS shows you CPI = 3.2%, falling, decelerating.
✗ Multi-framework confluence gate
→ Bloomberg shows you each indicator separately.
→ It is the analyst's job to synthesize.
→ TRADARS synthesizes automatically with quorum enforcement.
✗ Institutional override mechanism
→ Bloomberg has no concept of knowledge-base-driven
analytical substitution.
✗ Outcome tracking / feedback loop
→ Bloomberg shows you data identically on Day 1 and Day 1,000.
→ It has zero memory of what "worked" and what didn't.
✗ Dynamic commodity polarity (ξ classifier)
→ Bloomberg shows you oil price. It doesn't tell you
whether the move is demand-driven or supply-driven
unless an analyst manually assesses it.
✗ Affordable pricing
→ $24,000+/year per seat vs. < $2,000/year for TRADARS.
BOTTOM LINE:
Bloomberg gives you more data than any other platform.
TRADARS gives you the analysis that Bloomberg requires
a $200,000/year analyst to produce manually.
16.2LLM-Based Financial Assistants
The emerging class of AI-powered financial tools — including products like ChatGPT with browsing, Perplexity Finance, and various "AI trading" startups — represents the most superficially competitive category. These systems appear to provide sophisticated analysis. However, they are architecturally incapable of producing consistently correct conclusions due to Axiom A0 (the LLM Fallacy).
THEOREM 16.1 — LLM Consensus Divergence Theorem
Let F(x) be the cumulative distribution of retail trader outcomes, where P(loss | retail) is approximately 0.95. Let M be any language model trained on corpus C where C is proportional to volume(retail_discourse). Then E[M(x)] converges to E[retail(x)] as |C| approaches infinity. Any system whose analytical conclusions are derived from M inherits expected-value alignment with the losing distribution. TRADARS achieves divergence from this distribution by substituting M with a deterministic graph G over verified data, constrained by institutional overrides. The LLM boundary is restricted to output formatting, where it has zero influence on the analytical conclusion.
LLM FAILURE MODES
FAILURE MODE 1: CONSENSUS ALIGNMENT
LLM training data reflects majority opinion.
Majority opinion in financial markets is held by retail traders.
Retail traders lose money at a 90–95% rate.
→ LLM outputs are expected-value aligned with losses.
FAILURE MODE 2: LEVEL-ONLY ANALYSIS
LLMs process text. Text says "CPI is 3.2%."
Text does NOT convey trajectory or acceleration.
→ LLM cannot perform Λ decomposition from text input.
→ LLM conclusions about economic releases are incomplete.
FAILURE MODE 3: HALLUCINATED CORRELATIONS
LLMs generate plausible-sounding correlations from training data.
These correlations may not exist in current market data.
→ LLM might claim "gold and JPY are correlated" even when
the correlation has broken down (§8 would detect this).
FAILURE MODE 4: NO PROVENANCE
An LLM cannot tell you which specific data points produced
its conclusion. It generates a response from latent weights.
→ Axiom A₂ (provenance completeness) is impossible for LLMs.
→ No audit trail, no reconstruction, no accountability.
FAILURE MODE 5: STALE TRAINING DATA
LLM training data has a cutoff date.
Market conditions change continuously.
→ LLM may reference conditions that no longer exist.
→ TRADARS ingests live data every 5–30 minutes.
16.3Architectural Non-Replicability
THEOREM 16.2 — Compound Non-Replicability
A competitor attempting to replicate TRADARS would need to simultaneously: (1) build the deterministic operator algebra (§3–§14), (2) accumulate years of institutional knowledge base entries from a professional with decades of verifiable market experience, (3) establish 15+ institutional data feeds with multi-source reconciliation, (4) run the outcome-tracking feedback loop for sufficient cycles to produce statistically significant pattern discovery, and (5) do all of this without using LLM reasoning (Axiom A0). The compound probability of achieving all five simultaneously, without access to proprietary calibration constants and weighting schemas, approaches zero.
REMARK: This theorem is not a marketing claim. It is a structural observation about the architecture. Each component alone might be replicable given sufficient time and resources. But the interaction effects between components — the way the override lattice modifies the confluence gate, the way the feedback loop recalibrates framework weights, the way the polarity classifier changes the risk tensor — create a system whose behavior is determined by the specific calibration of ALL components simultaneously. Changing any single component changes the behavior of all downstream components. This is the definition of a complex adaptive system, and complex adaptive systems are not replicable by copying individual components.
SECTION §17
Quant Analysis Matrix
Technical structure scoring via pivot levels, moving averages, MACD, and momentum integration
The Quant Analysis Matrix is the technical structure engine of the TRADARS architecture. It computes deterministic technical scores for each of the 72 instruments using classical price structure mathematics — pivot points, moving average alignment, MACD momentum, ATR volatility, and trend consistency. The output is a composite Quant Score that quantifies the technical strength of an instrument on a normalized scale. This score is one of the inputs to the Confluence Decision Gate (§6), where it is weighed alongside fundamental, institutional, and macro frameworks.
REMARK: The Quant Matrix explicitly uses classical technical mathematics (moving averages, MACD, pivots) as computational inputs, not as standalone trading signals. The critical distinction: a retail trader sees "MACD crossed above signal" and trades. TRADARS sees "MACD crossed above signal" as one of N inputs to a multi-framework confluence gate. The technical indicators are components of a larger scoring system, not actionable signals in isolation.
DEFINITION 17.1 — Pivot Point Calculations
MULTI-METHOD PIVOT COMPUTATION
Given prior period: High (H), Low (L), Close (C), Open (O):
═══ STANDARD (FLOOR) PIVOTS ═══
P = (H + L + C) / 3
R1 = 2P − L S1 = 2P − H
R2 = P + (H − L) S2 = P − (H − L)
R3 = H + 2(P − L) S3 = L − 2(H − P)
═══ FIBONACCI PIVOTS ═══
P = (H + L + C) / 3
R1 = P + 0.382(H − L) S1 = P − 0.382(H − L)
R2 = P + 0.618(H − L) S2 = P − 0.618(H − L)
R3 = P + 1.000(H − L) S3 = P − 1.000(H − L)
═══ CAMARILLA PIVOTS ═══
R1 = C + 1.1(H − L)/12 S1 = C − 1.1(H − L)/12
R2 = C + 1.1(H − L)/6 S2 = C − 1.1(H − L)/6
R3 = C + 1.1(H − L)/4 S3 = C − 1.1(H − L)/4
R4 = C + 1.1(H − L)/2 S4 = C − 1.1(H − L)/2
═══ WOODIE PIVOTS ═══
P = (H + L + 2C) / 4
R1 = 2P − L S1 = 2P − H
R2 = P + (H − L) S2 = P − (H − L)
APPLICATION:
The system computes all four pivot methods for every instrument
on daily, weekly, and monthly timeframes. Price position relative
to the pivot cluster determines the structural bias:
Current Price > all P values → Structural bullish bias
Current Price < all P values → Structural bearish bias
Current Price within cluster → Neutral / consolidation zone
Confluence of pivot types (e.g., price above Standard P, Fibonacci R1,
AND Camarilla R2) amplifies the structural conviction score.
17.1Moving Average Architecture
MULTI-TIMEFRAME MOVING AVERAGE ALIGNMENT
COMPUTED MOVING AVERAGES (per instrument):
SMA(n) = (1/n) × Σᵢ Closeᵢ for n ∈ {10, 20, 50, 100, 200}
EMA(n) = α × Closeₜ + (1−α) × EMA(n)ₜ₋₁ where α = 2/(n+1)
for n ∈ {12, 26, 50, 200}
═══ TREND ALIGNMENT SCORING ═══
MA Stack Order determines trend strength:
PERFECT BULLISH STACK:
Price > EMA(12) > EMA(26) > SMA(50) > SMA(100) > SMA(200)
Score: +5 (maximum bullish alignment)
PERFECT BEARISH STACK:
Price < EMA(12) < EMA(26) < SMA(50) < SMA(100) < SMA(200)
Score: −5 (maximum bearish alignment)
MIXED (transition):
Each pair in correct order: +1 (bullish) or −1 (bearish)
Final score: Σ of all pair scores, range [−5, +5]
═══ GOLDEN/DEATH CROSS DETECTION ═══
Golden Cross: SMA(50) crosses ABOVE SMA(200)
→ Trend Score receives +1 bonus
→ Valid for 20 trading days after the cross event
Death Cross: SMA(50) crosses BELOW SMA(200)
→ Trend Score receives −1 penalty
→ Valid for 20 trading days after the cross event
═══ PRICE DISTANCE FROM KEY MA ═══
Distance from SMA(200) as percentage:
dist_200 = (Price − SMA(200)) / SMA(200) × 100
|dist_200| > 10% → Extended, potential mean reversion
|dist_200| < 2% → Near MA, potential inflection point
2% < |dist_200| < 10% → Normal trending range
17.2MACD Momentum Engine
MACD COMPUTATION AND SCORING
STANDARD MACD (12, 26, 9):
MACD Line = EMA(12) − EMA(26)
Signal Line = EMA(9) of MACD Line
Histogram = MACD Line − Signal Line
═══ MOMENTUM SCORING ═══
Score Component 1: MACD vs Signal (directional)
MACD > Signal → +1 (bullish momentum)
MACD < Signal → −1 (bearish momentum)
Score Component 2: Histogram Trajectory
Histogram rising (current > prior bar) → +1
Histogram falling → −1
Score Component 3: Zero-Line Position
MACD > 0 → +1 (above equilibrium, bullish territory)
MACD < 0 → −1 (below equilibrium, bearish territory)
Score Component 4: Divergence Detection
Price makes new high + MACD makes lower high → −2 (bearish div.)
Price makes new low + MACD makes higher low → +2 (bullish div.)
TOTAL MACD SCORE: range [−5, +5]
DIVERGENCE DETECTION ALGORITHM:
Look back N = 20 bars.
Identify swing highs/lows in both price and MACD.
Compare the slopes of the trendlines connecting recent extremes.
If slopes have opposite signs → divergence detected.
NOTE: Divergence is weighted 2x because empirical testing shows
MACD divergence at pivot levels has a significantly higher
signal-to-noise ratio than simple crossovers.
17.3Composite Quant Score Calculation
QUANT SCORE ASSEMBLY
FOR each instrument i:
RAW COMPONENT SCORES:
S_pivot(i) ∈ [−5, +5] Pivot structure position
S_ma(i) ∈ [−5, +5] Moving average alignment
S_macd(i) ∈ [−5, +5] MACD momentum
S_atr(i) ∈ [0, 1] ATR volatility regime (normalized)
S_trend(i) ∈ [−5, +5] Multi-timeframe trend consistency
═══ ATR (AVERAGE TRUE RANGE) COMPUTATION ═══
TR = max(H − L, |H − C_prev|, |L − C_prev|)
ATR(14) = (1/14) × Σ TRᵢ (14-period simple average)
ATR Regime Classification:
ATR / Price × 100 < 0.5% → Low volatility
0.5% ≤ ATR ratio < 1.5% → Normal volatility
ATR ratio ≥ 1.5% → High volatility
S_atr = normalized position within 52-week ATR range
═══ TREND CONSISTENCY INDICATOR ═══
Computed across 3 timeframes (daily, weekly, monthly):
If all 3 timeframes agree on direction → S_trend = ±5 (strong)
If 2 of 3 agree → S_trend = ±3 (moderate)
If all disagree → S_trend = 0 (no trend)
═══ COMPOSITE QUANT SCORE ═══
Q(i) = w₁ × S_pivot + w₂ × S_ma + w₃ × S_macd
+ w₄ × (S_atr × sign(S_trend)) + w₅ × S_trend
WHERE:
w₁ = 0.20 (pivot structure)
w₂ = 0.25 (MA alignment — highest weight: trend is king)
w₃ = 0.20 (MACD momentum)
w₄ = 0.10 (volatility-adjusted direction)
w₅ = 0.25 (trend consistency — highest weight: multi-TF)
NORMALIZATION:
Q_norm(i) = Q(i) / max(|Q|) × 100 → range [−100, +100]
CLASSIFICATION:
Q > +60 → Strong Bullish
+30 < Q ≤ +60 → Moderate Bullish
−30 ≤ Q ≤ +30 → Neutral
−60 ≤ Q < −30 → Moderate Bearish
Q < −60 → Strong Bearish
17.4Scatter Plot: Technical vs. Fundamental Scoring
The Quant Matrix produces a scatter plot visualization that maps each of the 72 instruments on two axes: the X-axis represents the technical Quant Score Q(i), and the Y-axis represents the fundamental/macro score derived from the MECE taxonomy (§11), COT positioning (§4), and event impact analysis (§10). This two-dimensional mapping reveals four quadrants of opportunity:
SCATTER PLOT QUADRANT CLASSIFICATION
FUNDAMENTAL SCORE
Bearish ←——————→ Bullish
│ │
Q2: FADE │ Q1: CONVICTION LONG
QUANT Technical ↓ │ Both bullish → highest
SCORE Fundamental ↑│ conviction long thesis
(Tech) Potential │
Bearish ————reversal —— │ ————————————————————— Bullish
Q3: AVOID │ Q4: FADE
Both bearish │ Technical ↑ Fundamental ↓
→ highest │ Potential reversal
conviction │
short thesis │
INTERPRETATION:
QUADRANT 1 (top-right): Q > 0, F > 0
Technical AND fundamental agree bullish.
HIGHEST CONVICTION LONG opportunity.
Both price structure and macro conditions support the direction.
This is the ideal setup for the Confluence Gate (§6).
QUADRANT 3 (bottom-left): Q < 0, F < 0
Technical AND fundamental agree bearish.
HIGHEST CONVICTION SHORT opportunity.
Mirror of Q1 for the sell side.
QUADRANT 2 (top-left): Q < 0, F > 0
Fundamentals bullish but technicals bearish (price hasn't caught up).
POTENTIAL REVERSAL / MEAN REVERSION setup.
Wait for technical confirmation before acting on fundamentals.
QUADRANT 4 (bottom-right): Q > 0, F < 0
Technicals bullish but fundamentals deteriorating.
POTENTIAL TOP / MOMENTUM EXHAUSTION.
Technical momentum may be a lagging indicator of fundamental shift.
CONVICTION AMPLIFIER:
Distance from origin = conviction magnitude.
Instruments in the far corners of Q1 or Q3 receive the highest
conviction scores in the Confluence Gate.
WORKED EXAMPLE 17.1 — EUR/USD Quant Score Assembly
EUR/USD — 2026-06-27 Quant Score:
PIVOT ANALYSIS:
Price (1.0920) > Daily Pivot (1.0895), above Standard R1 (1.0935? No)
Price between P and R1: slight bullish lean
S_pivot = +1.5
MOVING AVERAGES:
Price > EMA(12) > EMA(26) > SMA(50) ✓
SMA(50) < SMA(100): ✗ (MAs still unwinding from prior downtrend)
SMA(100) > SMA(200): ✓
Stack Score: 3 of 5 aligned → S_ma = +3.0
MACD:
MACD Line = +0.0023 (above zero) → +1
MACD > Signal → +1
Histogram rising → +1
No divergence detected → 0
S_macd = +3.0
ATR:
14-day ATR = 0.0068 (0.62% of price → normal volatility)
S_atr = 0.45 (mid-range of 52-week ATR distribution)
TREND CONSISTENCY:
Daily: Bullish | Weekly: Bullish | Monthly: Neutral
2 of 3 agree → S_trend = +3.0
COMPOSITE:
Q = 0.20(1.5) + 0.25(3.0) + 0.20(3.0) + 0.10(0.45×1) + 0.25(3.0)
Q = 0.30 + 0.75 + 0.60 + 0.045 + 0.75
Q = +2.445 → Q_norm ≈ +49
CLASSIFICATION: Moderate Bullish
→ Fed into Confluence Gate as one of the framework inputs
SECTION §18
Aiden Intelligence Architecture
Pattern discovery, prediction generation, outcome grading, and institutional memory accumulation
Aiden is the analytical intelligence layer of the TRADARS system. Contrary to common perception, Aiden is not a large language model that "thinks about markets." Aiden is a pipeline orchestrator that coordinates deterministic framework computations (§3–§17), applies institutional overrides (§7), formats results via an LLM serialization layer (Layer 2), and — critically — accumulates institutional memory through a structured learning cycle. This section documents the four pillars of Aiden's intelligence: Pattern Discovery, Prediction Generation, Outcome Grading, and Memory Accumulation.
REMARK: Aiden's "intelligence" is not LLM reasoning. It is the accumulated product of thousands of deterministic computations tracked against real market outcomes over years of production operation. The LLM component of Aiden is restricted exclusively to natural language formatting (Axiom A₀). All analytical conclusions are pre-determined by the computational graph before the LLM is invoked.
DEFINITION 18.1 — Aiden's Four-Pillar Intelligence Architecture
INTELLIGENCE PIPELINE
╔══════════════════════════════════════════════════════════════╗
║ PILLAR 1: PATTERN DISCOVERY (aidenPatternDiscovery) ║
║ ║
║ Input: AnalysisOutcome records (resolved: Success/Failure)║
║ Method: Statistical anomaly detection over trailing 12mo ║
║ Output: LearnedPattern records → stored in database ║
║ Cadence: Weekly batch (Sunday 02:00 UTC) ║
║ ║
║ NOT an LLM operation. This is classical statistical ║
║ analysis: conditional probability estimation, hypothesis ║
║ testing, and significance filtering. ║
╠══════════════════════════════════════════════════════════════╣
║ PILLAR 2: PREDICTION GENERATION (aidenGeneratePredictions) ║
║ ║
║ Input: Current framework outputs (Ψ, ρ, Φ, Seasonality, ║
║ Quant Matrix, COT, Rate Differential, etc.) ║
║ + LearnedPattern library ║
║ + WayneKnowledgeBase directives ║
║ Method: Confluence Gate (§6) + Override Lattice (§7) ║
║ + Pattern adjustment factors ║
║ Output: AidenPrediction records with entry, target, stop ║
║ Cadence: Daily (Mon–Fri, after EOD data sync) ║
╠══════════════════════════════════════════════════════════════╣
║ PILLAR 3: OUTCOME GRADING (aidenGradePredictions) ║
║ ║
║ Input: AidenPrediction records in "pending" state ║
║ + Current market prices ║
║ Method: Compare price vs target/invalidation levels ║
║ Output: Status transition (Pending → Success/Failure/Exp.) ║
║ + result_percent computation ║
║ Cadence: Daily batch ║
╠══════════════════════════════════════════════════════════════╣
║ PILLAR 4: MEMORY ACCUMULATION (aidenExtractInsights) ║
║ ║
║ Input: Resolved predictions + market context at time ║
║ Method: Extract structured insights from outcomes ║
║ Output: AidenInsight records → persistent memory store ║
║ Purpose: Each insight becomes context for FUTURE analysis ║
║ Cadence: After each grading cycle ║
╚══════════════════════════════════════════════════════════════╝
THE LEARNING CYCLE:
Predictions → Outcomes → Patterns → Better Predictions
This cycle runs continuously. Each week adds:
• More resolved outcomes to the statistical pool
• More discovered patterns to the adjustment library
• More insights to the institutional memory store
A competitor starting today has ZERO outcomes, ZERO patterns,
and ZERO accumulated insights. They would need years of
production operation to reach equivalent intelligence depth.
18.1Pattern Discovery: Statistical Learning Without LLM Training
The Pattern Discovery engine is the primary machine learning mechanism in TRADARS. It does NOT use neural network training, gradient descent, or any form of model fine-tuning. Instead, it employs classical statistical methods — conditional probability estimation, cross-tabulation, and hypothesis testing — to identify conditions under which the system's accuracy deviates significantly from its baseline.
PATTERN DISCOVERY ALGORITHM
INPUT:
All AnalysisOutcome records with status ∈ {Success, Failure}
from trailing 12-month window (minimum n = 50 for significance)
STEP 1 — CONDITIONAL SEGMENTATION:
For each categorical variable V in the outcome context:
V ∈ { source_framework, asset_class, risk_regime (from Ψ),
volatility_regime (from ATR), day_of_week, month,
cot_extreme (y/n), event_proximity (y/n),
override_applied (y/n), confluence_count }
Compute: hit_rate(V = v) for each value v of V
STEP 2 — DEVIATION DETECTION:
baseline_hit_rate = overall hit rate across all outcomes
For each segment (V = v):
δ = hit_rate(V = v) − baseline_hit_rate
n_v = count of outcomes where V = v
Standard error: SE = √(p(1−p) / n_v)
Z-score: z = δ / SE
FLAG as significant pattern if:
|z| > 1.96 (95% confidence level)
AND n_v ≥ 15 (minimum sample for practical significance)
STEP 3 — PATTERN STORAGE:
For each significant pattern:
Create LearnedPattern record:
{ condition: "V = v",
baseline_rate: baseline_hit_rate,
segment_rate: hit_rate(V = v),
delta: δ,
z_score: z,
sample_size: n_v,
discovered_date: now(),
status: "active" }
STEP 4 — PATTERN APPLICATION:
Active LearnedPatterns are injected into the Prediction
Generation pipeline as adjustment factors:
If current context matches a known positive pattern:
→ Confidence boost of min(5%, δ/2)
If current context matches a known negative pattern:
→ Confidence reduction of min(5%, |δ|/2)
Maximum cumulative pattern adjustment: ±15%
(Prevents pattern stacking from dominating the core frameworks)
18.2AidenInsight: Institutional Memory Accumulation
Every strategic analysis conversation between the system operator (Wayne McDonell) and Aiden generates structured AidenInsight records. These records form an ever-growing institutional memory that is referenced in all future analysis. Unlike LLM "memory" (which is context window limited and ephemeral), AidenInsights are persistent database records with structured metadata that enables precise retrieval.
INSIGHT ACCUMULATION ARCHITECTURE
═══ INSIGHT GENERATION ═══
Sources of AidenInsight records:
1. Strategic conversations (aidenExtractInsights)
→ Wayne discusses EUR/USD macro outlook
→ System extracts: { asset: "EUR/USD", theme: "ECB divergence",
conclusion: "Rate differential trajectory favors EUR",
timeframe: "3-6 months", confidence: "strong_conviction" }
2. Post-outcome analysis
→ A prediction succeeded/failed
→ System extracts: { pattern: "COT extremes in JPY crosses
are unreliable during BOJ normalization",
evidence: [outcome_ids], sample_size: 12 }
3. Market regime change detection
→ Risk tensor Ψ transitions from Risk-Off to Risk-On
→ System records: { event: "regime_transition",
prior: "risk_off", current: "risk_on",
trigger: "VIX collapse below 15 + SPX breakout" }
═══ INSIGHT RETRIEVAL (at analysis time) ═══
When generating analysis for any asset:
1. Query AidenInsight by asset tags
2. Query AidenInsight by current macro context tags
3. Sort by recency and relevance score
4. Inject top-K insights (K ≤ 10) into the analysis context
This means Aiden's analysis of EUR/USD today includes every
relevant insight ever generated — months or years of accumulated
institutional observations that would be lost in any system
that relies solely on LLM context windows.
═══ COMPOUNDING EFFECT ═══
Month 1: Aiden has 0 insights → analysis based solely on frameworks
Month 6: Aiden has ~200 insights → analysis enriched with context
Month 12: Aiden has ~500 insights → deep institutional memory
Month 36+: Aiden has 1,500+ insights → unmatched contextual depth
Each insight makes future analysis more nuanced, more contextually
aware, and more aligned with institutional thinking patterns.
This is the COMPOUNDING MOAT that cannot be replicated by building
a competing system — because the insights require years of
production operation with a domain expert to accumulate.
18.3AidenScorecard: Public Accountability
The AidenScorecard is the public-facing accountability mechanism. Every prediction Aiden generates is tracked against market outcomes and displayed in a transparent scorecard — the Alpha Radar. This scorecard is unique in the industry: no other AI-powered financial product publicly tracks and displays its own prediction accuracy.
| Metric | Computation | Purpose |
|---|
| Overall Hit Rate | wins / (wins + losses) | Primary accuracy metric |
| Profit Factor | (wins × avg_win) / (losses × avg_loss) | Quality-adjusted profitability |
| Expectancy | hit_rate × avg_win − (1−hit_rate) × avg_loss | Expected return per prediction |
| Best Framework | Framework with highest expectancy | Validates framework design |
| Worst Framework | Framework with lowest expectancy | Identifies weak spots |
| Active Predictions | Count(status = Pending) | Current exposure |
| Resolution Time | Mean(closed_date − start_date) | Prediction time horizon accuracy |
REMARK: The willingness to publicly display prediction accuracy is itself a competitive advantage. No vendor dashboard, no ChatGPT wrapper, and no generic analytics tool tracks its own predictions against real market outcomes. TRADARS does — and makes the results visible to every user. This transparency builds trust that marketing claims cannot replicate.
18.4AidenQuestion: Interactive Market Analysis
The AidenQuestion system enables traders to ask natural-language market questions and receive answers grounded entirely in the TRADARS data envelope (Axiom A₁). The architecture ensures that every response cites specific, verifiable data from the system's entities.
QUESTION → ANSWER PIPELINE
TRADER ASKS: "What's the outlook for Gold?"
STEP 1 — CONTEXT ASSEMBLY (deterministic, no LLM):
• Retrieve XAUUSD from MarketData (current price, changes)
• Retrieve XAUUSD from RiskAnalysisCache (risk score, components)
• Retrieve XAUUSD from QuantAnalysisCache (quant score, pivots)
• Retrieve Gold from COTData (net positioning, percentile)
• Retrieve Gold from SeasonalityCache (current month pattern)
• Retrieve Gold from CorrelationCache (key pair correlations)
• Retrieve Gold-related EventPriceImpact records
• Retrieve matching WayneKnowledgeBase entries
• Retrieve recent AidenInsights tagged "gold" or "XAUUSD"
STEP 2 — PRE-COMPUTED ANALYSIS (deterministic):
• Λ decomposition: Level, Trajectory, Acceleration
• Ψ tensor contribution: Gold's role in risk sentiment
• ρ correlations: Gold vs USD, Gold vs yields, Gold vs JPY
• Confluence Gate: framework agreement count and direction
STEP 3 — LLM FORMATTING (serialization only):
The LLM receives a JSON object containing ALL of the above
pre-computed results. It formats them into readable prose.
THE LLM CANNOT:
• Add analysis not present in the JSON
• Reference internet-trained knowledge about gold
• Change the direction or conviction of the pre-computed result
• Omit data that contradicts a narrative
STEP 4 — RESPONSE WITH CITATIONS:
Every claim in the response maps to a specific entity record.
"Gold's COT positioning is at the 72nd percentile" → COTData.id
"The 90-day correlation with USD/JPY has broken down" → CorrelationCache
"Historical seasonality shows June positive 62% of the time" → SeasonalityCache
SECTION §19
Synthetic Currency Strength Index
Individual currency scoring from 28-pair cross-rate decomposition
The Synthetic Currency Strength Index decomposes 28 FX currency pairs into 8 individual currency scores, enabling traders to identify which currencies are strengthening or weakening independently — rather than analyzing pair-level movements that conflate two currencies into a single price. This is a proprietary computation that does not exist on any standard retail trading platform.
DEFINITION 19.1 — Currency Strength Computation
INDIVIDUAL CURRENCY SCORING FROM CROSS-RATES
CURRENCIES: C = { USD, EUR, GBP, JPY, CHF, AUD, CAD, NZD }
PAIR UNIVERSE: All pairs where currency c appears (7 pairs per currency):
pairs(USD) = {EUR/USD, USD/JPY, GBP/USD, USD/CHF, AUD/USD, USD/CAD, NZD/USD}
pairs(EUR) = {EUR/USD, EUR/GBP, EUR/JPY, EUR/CHF, EUR/AUD, EUR/CAD, EUR/NZD}
... (similarly for all 8 currencies)
FOR each currency c ∈ C, for each timeframe t ∈ {1H, 4H, 1D, 1W, 1M}:
Step 1: Collect percentage change of each pair in pairs(c):
Δ(pair, t) = (Close_now − Close_t_ago) / Close_t_ago × 100
Step 2: Normalize for quoting convention:
If c is BASE currency (e.g., EUR in EUR/USD):
contribution = +Δ(pair, t) (pair rising = c strengthening)
If c is QUOTE currency (e.g., USD in EUR/USD):
contribution = −Δ(pair, t) (pair rising = c weakening)
Step 3: Aggregate:
Strength(c, t) = (1/7) × Σ contribution(pair, t)
for all pairs in pairs(c)
Step 4: Multi-timeframe composite:
Strength_composite(c) = 0.10 × S(c, 1H)
+ 0.15 × S(c, 4H)
+ 0.30 × S(c, 1D)
+ 0.25 × S(c, 1W)
+ 0.20 × S(c, 1M)
NORMALIZATION:
Final scores are standardized to a 0–100 scale relative
to the 8-currency universe:
Index(c) = 50 + 50 × (S(c) − mean(S)) / max(|S − mean(S)|)
Index = 100: Strongest currency in the universe
Index = 50: Average strength
Index = 0: Weakest currency in the universe
19.1Pair Signal Generation
Once individual currency strengths are computed, the system generates pair-level signals by comparing the strength of the two currencies in any given pair:
PAIR SIGNAL FROM CURRENCY STRENGTH DIFFERENTIAL
FOR pair X/Y:
Differential(X/Y) = Strength(X) − Strength(Y)
If Differential > +15: STRONG BUY X/Y
(X is strengthening, Y is weakening → pair should rise)
If +5 < Differential ≤ +15: MODERATE BUY X/Y
If −5 ≤ Differential ≤ +5: NEUTRAL
(currencies are equally strong/weak)
If −15 ≤ Differential < −5: MODERATE SELL X/Y
If Differential < −15: STRONG SELL X/Y
(Y is strengthening, X is weakening → pair should fall)
OPTIMAL PAIR SELECTION:
The system identifies the pair with the LARGEST differential
as the highest-conviction opportunity:
"Buy the strongest currency against the weakest currency"
Example:
AUD Index = 72 (strongest)
JPY Index = 28 (weakest)
Differential(AUD/JPY) = +44 → STRONG BUY AUD/JPY
This insight is NOT visible by looking at any single pair chart.
It requires decomposing all 28 pairs into individual currencies
and comparing strengths — a computation that retail platforms
do not offer.
19.2Integration with Confluence Gate
The Currency Strength Index feeds into the Confluence Decision Gate (§6) as one of the framework inputs. When currency strength agrees with COT positioning, Rate Differential trajectory, and Quant Score, the conviction level is amplified. Disagreement between currency strength and other frameworks reduces conviction and may prevent the system from issuing a high-confidence assessment.
SECTION §20
Cross-Country Economic Health Scoring
Composite fundamental scoring of G10 economies for FX directional bias
The Economic Health Scoring system synthesizes the MECE macro taxonomy (§11) into a single composite score per G10 economy. These scores enable direct cross-country comparison — the foundation of FX directional analysis. A currency's medium-term trajectory is fundamentally driven by the relative economic health of the country behind it versus the country behind the counter-currency. This section formalizes the scoring methodology.
DEFINITION 20.1 — Country-Level Composite Score
ECONOMIC HEALTH SCORE COMPUTATION
FOR each G10 country k ∈ {US, EU, UK, JP, CH, CA, AU, NZ, SE, NO}:
STEP 1 — PILLAR SCORES (from MECE Taxonomy §11):
Z_growth(k) = GDP-weighted Z-score of all Growth leaf nodes
Z_inflation(k) = weighted Z-score of Inflation sub-components
Z_liquidity(k) = weighted Z-score of Liquidity indicators
Z_external(k) = weighted Z-score of External balance indicators
STEP 2 — TRAJECTORY ADJUSTMENT (applying Λ operator §3):
For each pillar p:
Λ(p, k) = { Level: Z_p(k),
Trajectory: (Z_p(k, t) − Z_p(k, t−3mo)) / 3,
Acceleration: ΔTrajectory vs prior period }
Trajectory-Adjusted Score:
Z_adj(p, k) = Z_p(k) × (1 + 0.3 × sign(Trajectory_p(k)))
If a pillar is improving (positive trajectory), its score
is amplified by 30%. If deteriorating, it is reduced.
This encodes the market principle that DIRECTION matters
more than LEVEL (Axiom A₄).
STEP 3 — COMPOSITE HEALTH SCORE:
H(k) = 0.40 × Z_adj(growth, k)
+ 0.25 × Z_adj(inflation, k)
+ 0.20 × Z_adj(liquidity, k)
+ 0.15 × Z_adj(external, k)
H(k) ∈ ℝ (no bounded range — can exceed ±3 in extreme cases)
STEP 4 — NORMALIZATION TO SCORECARD:
Score(k) = 50 + 10 × H(k) (centered at 50, std dev = 10)
Score > 70: Exceptional economic health
60 < Score ≤ 70: Above average
40 ≤ Score ≤ 60: Average range
30 ≤ Score < 40: Below average
Score < 30: Significant economic weakness
20.1Cross-Country Differential for FX Analysis
FX DIRECTIONAL SIGNAL FROM ECONOMIC DIFFERENTIAL
FOR currency pair X/Y (where X = base currency, Y = quote):
Δ_econ(X/Y) = Score(country_X) − Score(country_Y)
Example: EUR/USD
Score(EU) = 52 Score(US) = 61
Δ_econ = 52 − 61 = −9
INTERPRETATION:
Δ < −10: Strong fundamental headwind for the pair (bearish)
−10 ≤ Δ < −3: Moderate headwind (slight bearish lean)
−3 ≤ Δ ≤ +3: Fundamentally balanced (neutral)
+3 < Δ ≤ +10: Moderate tailwind (slight bullish lean)
Δ > +10: Strong fundamental tailwind (bullish)
INTEGRATION WITH OTHER FRAMEWORKS:
The economic differential is one input to the scatter plot (§17.4):
• Y-axis (Fundamental Score) = weighted combination of:
- Economic Health Differential (40%)
- Rate Differential trajectory (30%, from §13)
- COT net positioning percentile (20%, from §4)
- Event Impact bias for upcoming events (10%, from §10)
This ensures the fundamental axis of the scatter plot reflects
the full spectrum of macro, monetary, institutional, and
event-driven analysis — not just one indicator.
20.2Data Source Integration
The Economic Health Score draws from the full breadth of TRADARS data ingestion (§2). The following institutional data sources feed directly into the scoring computation:
| Source Agency | Country Coverage | Key Indicators | Pillar |
|---|
| FRED (Federal Reserve Bank of St. Louis) | US primary, G10 secondary | GDP, CPI, PCE, NFP, unemployment, ISM, housing starts | Growth + Inflation |
| Bureau of Labor Statistics (BLS) | US | Non-Farm Payrolls, CPI, PPI, JOLTS, initial/continuing claims | Growth + Inflation |
| Eurostat | EU-19 | GDP, HICP, unemployment, industrial production, trade balance | Growth + Inflation + External |
| Office for National Statistics (ONS) | UK | GDP, CPI, employment, retail sales, trade | Growth + Inflation |
| Statistics Canada | Canada | GDP, CPI, employment change, trade balance, housing | Growth + Inflation + External |
| Australian Bureau of Statistics (ABS) | Australia | GDP, CPI, employment, trade balance, retail sales | Growth + External |
| Statistics New Zealand | New Zealand | GDP, CPI, employment, trade balance | Growth + External |
| Bank of Japan (BOJ) / Statistics Bureau | Japan | GDP, CPI, Tankan survey, trade balance, industrial production | Growth + Inflation |
| Swiss Federal Statistical Office | Switzerland | GDP, CPI, trade balance, KOF indicator | Growth |
| IMF World Economic Outlook | All G20+ | GDP growth projections, fiscal balance, current account forecasts | Growth + External |
| IEA (International Energy Agency) | Global | Oil demand forecasts, supply estimates, strategic reserves | Inflation (cost-push) |
| OPEC Monthly Oil Market Report | Global | Production quotas, compliance, demand forecasts | Inflation (cost-push) |
| EIA (Energy Information Administration) | US + Global | Crude inventories, production, rig counts, STEO projections | Inflation (cost-push) |
| World Bank | Global | Commodity price forecasts, GDP growth estimates, poverty metrics | Growth + External |
| CFTC (Commodity Futures Trading Commission) | US futures | Commitment of Traders reports — institutional positioning | Liquidity (capital flows) |
| G10 Central Banks (Fed, ECB, BOJ, BOE, SNB, BOC, RBA, RBNZ, Riksbank, Norges Bank) | G10 | Rate decisions, forward guidance, balance sheet operations, projections | Liquidity |
REMARK: This table represents the complete catalog of institutional data sources that feed the Economic Health Scoring system. Every data point is ingested through the Data Ingestion Manifold (§2), validated against schema constraints, deduplicated, and normalized before entering the scoring computation. No internet-sourced, LLM-generated, or unverified data is permitted in the scoring pipeline (Axiom A₁ — Data Sovereignty).
SECTION A
Appendix A — Data Source Catalog
Complete inventory of all data connections, refresh cadences, and coverage
A.1Price Data Sources
| Source | Coverage | Instruments | Refresh | Latency | Backup |
|---|
| EODHD Financial | Global EOD + delayed intraday | 72 (FX, indices, commodities, bonds, crypto) | 30 min (market hrs) | <2 min | Yahoo Finance |
| Yahoo Finance | US + global intraday | 50+ instruments | 15 min candles | <5 min | EODHD |
| CoinGecko | Cryptocurrency spot | BTC, ETH | 5 min | <1 min | EODHD crypto |
A.2Economic Data Sources
| Source | Data Domain | Series Count | Refresh | Countries |
|---|
| FRED (St. Louis Fed) | US macro, rates, employment, inflation | 400+ | Varies (daily–quarterly) | US primary, G10 secondary |
| Bureau of Labor Statistics | US employment, CPI, PPI | 25+ | Monthly | US |
| Eurostat | EU GDP, CPI, unemployment, trade | 50+ | Monthly–quarterly | EU-19 |
| FXStreet Calendar | Economic event schedule | All G10 | Hourly | G10 + G20 |
| EIA (Energy Info Admin) | Oil inventories, production, rig counts, STEO projections | 15+ | Weekly (Wed) + monthly | US + global |
| IEA (Int'l Energy Agency) | Global oil demand/supply forecasts, strategic reserves | 10+ | Monthly (Oil Market Report) | Global (OECD + non-OECD) |
| OPEC | Production quotas, compliance rates, demand forecasts | 8+ | Monthly (MOMR) | OPEC+ members + global |
| IMF World Economic Outlook | GDP projections, fiscal balances, current account forecasts | 20+ | Semi-annual (Apr, Oct) | G20+ |
| World Bank | Commodity price forecasts, GDP estimates, GEP reports | 10+ | Quarterly + semi-annual | Global |
| CFTC | Commitment of Traders reports | 22 futures contracts | Weekly (Friday) | US futures markets |
| Baker Hughes | Drilling rig counts | 3 series | Weekly (Friday) | US, Canada, International |
| ONS (UK) | GDP, CPI, employment, retail sales, trade balance | 15+ | Monthly–quarterly | United Kingdom |
| Statistics Canada | GDP, CPI, employment change, trade, housing starts | 12+ | Monthly–quarterly | Canada |
| ABS (Australia) | GDP, CPI, employment, trade, retail sales | 10+ | Monthly–quarterly | Australia |
| Stats NZ (New Zealand) | GDP, CPI, employment, trade balance | 8+ | Quarterly | New Zealand |
| BOJ / Statistics Bureau (Japan) | GDP, CPI, industrial production, Tankan survey | 10+ | Monthly–quarterly | Japan |
| Swiss FSO | GDP, CPI, KOF indicator, trade balance | 6+ | Monthly–quarterly | Switzerland |
A.3Central Bank Data Sources
| Central Bank | Currency | Data Collected | Events/Year | Key Outputs |
|---|
| Federal Reserve (Fed) | USD | Rate decisions, dot plot, minutes, speeches, balance sheet | 8 meetings + ad hoc | Fed funds rate, FOMC statement, SEP projections |
| European Central Bank (ECB) | EUR | Rate decisions, press conference, minutes, projections | 8 meetings | Refi rate, deposit rate, APP/PEPP pace |
| Bank of Japan (BOJ) | JPY | Rate decisions, YCC parameters, Outlook Report | 8 meetings | O/N call rate, YCC band, Tankan survey |
| Bank of England (BOE) | GBP | Rate decisions, MPC vote split, Inflation Report | 8 meetings | Bank rate, vote composition, GDP/CPI forecasts |
| Swiss National Bank (SNB) | CHF | Rate decisions, monetary policy assessment | 4 meetings | Policy rate, FX intervention signals |
| Bank of Canada (BOC) | CAD | Rate decisions, MPR, business surveys | 8 meetings | O/N rate, output gap estimate, neutral rate |
| Reserve Bank of Australia (RBA) | AUD | Rate decisions, SMP, board minutes | 11 meetings | Cash rate, inflation forecast, employment outlook |
| Reserve Bank of New Zealand (RBNZ) | NZD | Rate decisions, MPS | 7 meetings | OCR, GDP forecast, capacity pressure |
| Riksbank (Sweden) | SEK | Rate decisions, monetary policy report | 5 meetings | Repo rate, CPIF forecast, rate path |
| Norges Bank (Norway) | NOK | Rate decisions, monetary policy report | 8 meetings | Policy rate, output gap, rate path |
A.4Derived/Computed Data Sources
| Cache | Computation | Input Sources | Refresh | Output |
|---|
| Risk Analysis Cache | Multi-timeframe risk scores per instrument | MarketData, DailyPriceHistory | Every 30 min | 72 instrument risk profiles |
| Quant Analysis Cache | Pivot levels, trend scores, technical structure | DailyPriceHistory, IntradayPriceHistory | Daily EOD | 72 instrument quant profiles |
| Correlation Cache | Rolling 90-day Pearson correlations | DailyPriceHistory | Daily EOD | 2,556 pair correlations |
| Seasonality Cache | 20-year monthly return distributions | DailyPriceHistory | Weekly (Saturday) | 864 monthly profiles (72×12) |
| Implied Rate Cache | Fed funds futures implied rate path | FRED, CME ZQ contracts | Hourly | 8+ meeting implied rates |
| Spike Radar Cache | Upcoming event impact analysis | EconomicEvent, EventPriceImpact | Hourly | Next 7-day event risk map |
| Volatility Radar Cache | ATR regimes, VIX decomposition | MarketData, DailyPriceHistory | Daily | Volatility regime per instrument |
REMARK: These computed caches represent the "intelligence layer" that sits between raw data and analytical conclusions. They are the proprietary transformation that makes TRADARS's raw data inputs into institutional-grade analytical inputs. The computation algorithms are specified in §3–§13 of this document.
SECTION B
Appendix B — Asset Universe
Full 72-instrument coverage with classification and data source mapping
The TRADARS system monitors 72 instruments across five asset classes. Each instrument has a canonical symbol, an asset class classification, a primary data source, and a set of available analytical frameworks. This appendix catalogs the complete universe.
B.1Foreign Exchange (28 Pairs)
| Symbol | Description | Class | COT | Seasonality | Event Impact |
|---|
| EUR/USD | Euro / US Dollar | G10 Major | ✓ | ✓ | ✓ |
| USD/JPY | US Dollar / Japanese Yen | G10 Major | ✓ | ✓ | ✓ |
| GBP/USD | British Pound / US Dollar | G10 Major | ✓ | ✓ | ✓ |
| USD/CHF | US Dollar / Swiss Franc | G10 Major | ✓ | ✓ | ✓ |
| AUD/USD | Australian Dollar / US Dollar | G10 Commodity | ✓ | ✓ | ✓ |
| USD/CAD | US Dollar / Canadian Dollar | G10 Commodity | ✓ | ✓ | ✓ |
| NZD/USD | New Zealand Dollar / US Dollar | G10 Commodity | ✓ | ✓ | ✓ |
| EUR/GBP | Euro / British Pound | G10 Cross | — | ✓ | ✓ |
| EUR/JPY | Euro / Japanese Yen | G10 Cross | — | ✓ | ✓ |
| GBP/JPY | British Pound / Japanese Yen | G10 Cross | — | ✓ | ✓ |
| EUR/CHF | Euro / Swiss Franc | G10 Cross | — | ✓ | ✓ |
| AUD/JPY | Australian Dollar / Japanese Yen | Risk Barometer | — | ✓ | ✓ |
| EUR/AUD | Euro / Australian Dollar | G10 Cross | — | ✓ | — |
| GBP/AUD | British Pound / Australian Dollar | G10 Cross | — | ✓ | — |
| EUR/CAD | Euro / Canadian Dollar | G10 Cross | — | ✓ | — |
| GBP/CAD | British Pound / Canadian Dollar | G10 Cross | — | ✓ | — |
| AUD/CAD | Australian Dollar / Canadian Dollar | Commodity Cross | — | ✓ | — |
| AUD/NZD | Australian Dollar / New Zealand Dollar | Oceania | — | ✓ | — |
| NZD/JPY | New Zealand Dollar / Japanese Yen | Carry Cross | — | ✓ | — |
| CAD/JPY | Canadian Dollar / Japanese Yen | Carry Cross | — | ✓ | — |
| CHF/JPY | Swiss Franc / Japanese Yen | Safe Haven | — | ✓ | — |
| EUR/NZD | Euro / New Zealand Dollar | G10 Cross | — | ✓ | — |
| GBP/NZD | British Pound / New Zealand Dollar | G10 Cross | — | ✓ | — |
| GBP/CHF | British Pound / Swiss Franc | G10 Cross | — | ✓ | — |
| USD/SEK | US Dollar / Swedish Krona | Scandi | — | — | — |
| USD/NOK | US Dollar / Norwegian Krone | Scandi Oil | — | — | — |
| EUR/SEK | Euro / Swedish Krona | Scandi Cross | — | — | — |
| EUR/NOK | Euro / Norwegian Krone | Scandi Cross | — | — | — |
B.2Indices (12 Instruments)
| Symbol | Description | Region | COT | Seasonality | Event Impact |
|---|
| S&P 500 | Standard & Poor's 500 | US | ✓ | ✓ | ✓ |
| NASDAQ 100 | NASDAQ-100 Technology Index | US | ✓ | ✓ | ✓ |
| Dow Jones 30 | Dow Jones Industrial Average | US | ✓ | ✓ | ✓ |
| Russell 2000 | Russell 2000 Small Cap | US | ✓ | ✓ | — |
| VIX | CBOE Volatility Index | US (Meta) | ✓ | ✓ | ✓ |
| DAX 40 | German DAX Index | Europe | — | ✓ | ✓ |
| FTSE 100 | Financial Times Stock Exchange 100 | UK | — | ✓ | ✓ |
| CAC 40 | French CAC 40 Index | Europe | — | ✓ | — |
| Nikkei 225 | Japan Nikkei 225 | Asia | — | ✓ | ✓ |
| Hang Seng | Hong Kong Hang Seng Index | Asia | — | ✓ | — |
| ASX 200 | Australian ASX 200 | Oceania | — | ✓ | — |
| DXY | US Dollar Index | FX Meta | ✓ | ✓ | ✓ |
B.3Commodities (10 Instruments)
| Symbol | Description | Sub-Class | COT | ξ(t) Oil Regime | Seasonality |
|---|
| XAUUSD | Gold Spot | Precious Metal | ✓ | — | ✓ |
| XAGUSD | Silver Spot | Precious Metal | ✓ | — | ✓ |
| WTI Crude | West Texas Intermediate | Energy | ✓ | ✓ (primary) | ✓ |
| Brent Crude | Brent North Sea | Energy | ✓ | ✓ | ✓ |
| Natural Gas | Henry Hub Natural Gas | Energy | ✓ | — | ✓ |
| Copper | Copper Futures | Industrial Metal | ✓ | — | ✓ |
| Platinum | Platinum Spot | Precious Metal | — | — | ✓ |
| Palladium | Palladium Spot | Precious Metal | — | — | — |
| Wheat | Wheat Futures | Agricultural | ✓ | — | ✓ |
| Corn | Corn Futures | Agricultural | ✓ | — | ✓ |
B.4Bonds (8 Instruments)
| Symbol | Description | Maturity | Yield Curve (§12) | Rate Diff (§13) |
|---|
| US 2Y | US Treasury 2-Year Yield | 2Y | ✓ (short end) | ✓ |
| US 5Y | US Treasury 5-Year Yield | 5Y | ✓ (belly) | — |
| US 10Y | US Treasury 10-Year Yield | 10Y | ✓ (benchmark) | ✓ |
| US 30Y | US Treasury 30-Year Yield | 30Y | ✓ (long end) | — |
| DE 10Y | German Bund 10-Year Yield | 10Y | ✓ | ✓ |
| UK 10Y | UK Gilt 10-Year Yield | 10Y | ✓ | ✓ |
| JP 10Y | Japan JGB 10-Year Yield | 10Y | ✓ | ✓ |
| US 10Y TIPS | US TIPS Real Yield | 10Y | ✓ (real yield) | — |
B.5Cryptocurrency (2 Instruments)
| Symbol | Description | Data Source | Refresh | Frameworks Available |
|---|
| BTC/USD | Bitcoin | CoinGecko + EODHD | 5 min | Λ, Ψ, ρ, Seasonality, Quant Pivot |
| ETH/USD | Ethereum | CoinGecko + EODHD | 5 min | Λ, Ψ, ρ, Seasonality, Quant Pivot |
REMARK: Cryptocurrency coverage is intentionally limited to the two most liquid instruments. The analytical frameworks (COT, yield curve, central bank differential) have no meaningful application to crypto. The system applies only price-based frameworks (momentum, correlation, seasonality) and explicitly flags that crypto assessments have lower conviction than FX/commodity assessments due to fewer applicable frameworks.
SECTION C
Appendix C — Notation Index
Symbol reference for all operators, functions, and variables
This appendix provides a complete reference for all mathematical notation used throughout this specification. Symbols are organized by category and listed with their defining section.
| Symbol | Name | Domain | Definition | Section |
|---|
| Λ | Level–Trajectory Operator | ℝ³ → (ℝ × T × A × [0,100]) | Decomposes any observation into Level, Trajectory, Acceleration, Confidence | §3 |
| Ψ | Risk Sentiment Tensor | ℝ^(5×3×4) | Multi-asset, multi-timeframe, multi-dimensional risk quantification | §4 |
| ξ(t) | Oil Regime Detector | ℝ⁶ → {demand, supply, mixed} | Classifies oil price driver as demand-pull or supply-shock | §5 |
| Γ | Confluence Decision Gate | (S₁..Sₖ) → Classification | Aggregates framework signals into conviction-rated assessment | §6 |
| Ω | Wayne Override Lattice | Context → Directive | ∅ | Matches institutional knowledge base entries to current analysis context | §7 |
| ρ | Correlation Manifold | ℝ^(72×72) | Rolling 90-day Pearson correlation matrix with decay weighting | §8 |
| Φ | Event Impact Function | (event, asset) → Distribution | Historical price reaction distributions conditioned on deviation type | §10 |
| 𝒟 | Verified Data Store | Set of entities | Closed set of all institutional data stores (Axiom A₁) | §0 |
| 𝒜 | Asset Universe | Set of instruments | All 72 monitored instruments | Appendix B |
| 𝒯 | Tag Space | Set of strings | Universe of searchable topic tags for knowledge base matching | §7 |
| Symbol | Name | Range | Description |
|---|
| L | Level | ℝ | Current value of an observation (identity projection) |
| T | Trajectory | {rising, falling, stable} | First-order direction derived from finite difference |
| A | Acceleration | {accel., decel., reversing, stable} | Second-order change-of-change derived from lagged differences |
| C | Confidence | [0, 100] | Data completeness confidence (85 for 3-point, 60 for 2-point) |
| D | Deviation | {beat, miss, inline} | Classification of actual vs. forecast for economic releases |
| μᵢ(τ) | Momentum Score | [−50, +50] | tanh-compressed Z-score of returns for instrument i over timeframe τ |
| νᵢ(τ) | Volatility Regime | {−10, 0, +15} | ATR-based volatility regime classification for instrument i |
| πᵢ | COT Positioning Score | [−25, +25] | Speculative positioning percentile score (contrarian) |
| Rᵢ(τ) | Instrument Risk Score | [−100, +100] | Composite risk score: μᵢ + νᵢ + πᵢ + trend bonus |
| WCS | Weighted Conviction Score | [−100, +100] | Confidence-weighted sum of framework signals in Confluence Gate |
| τ | Trend Consistency | {0, 1} | Binary: 1 if all timeframes agree on direction, 0 otherwise |
| z_breakdown | Breakdown Z-Score | ℝ | Anomaly score for correlation deviations from baseline |
| CA | Carry Attractiveness | ℝ⁺ | Sharpe-like ratio: carry income per unit of FX volatility |
| D(a,b) | Rate Differential | ℝ (basis points) | Policy rate of currency a minus policy rate of currency b |
| OVA | Override Value-Add | ℝ (%) | Performance difference: overridden vs. non-overridden assessments |
| λ | Decay Factor | 0.97 | Exponential decay weight for rolling correlation computation |
| Abbreviation | Full Name | Context |
|---|
| ATR | Average True Range | Volatility measurement (§4) |
| BE | Breakeven Inflation | Nominal yield minus real yield (§12) |
| BLS | Bureau of Labor Statistics | US employment and inflation data (Appendix A) |
| CB | Central Bank | Monetary policy authority (§13) |
| CFTC | Commodity Futures Trading Commission | COT report publisher (§4, Appendix A) |
| COT | Commitment of Traders | Weekly speculative positioning report (§4) |
| DAG | Directed Acyclic Graph | System topology structure (§1) |
| EIA | Energy Information Administration | US energy data publisher (§5, Appendix A) |
| FOMC | Federal Open Market Committee | Fed policy-setting body (§12, §13) |
| FRED | Federal Reserve Economic Data | St. Louis Fed data platform (Appendix A) |
| MECE | Mutually Exclusive, Collectively Exhaustive | Taxonomy design principle (§11) |
| NFP | Non-Farm Payrolls | US monthly employment report (§10) |
| OIS | Overnight Index Swap | Interest rate derivative for rate expectations (§12) |
| QE / QT | Quantitative Easing / Tightening | Central bank balance sheet operations (§11) |
| TIPS | Treasury Inflation-Protected Securities | US real yield bonds (§12) |
| YCC | Yield Curve Control | BOJ policy framework (§12, Appendix A) |
| ZQ | Federal Funds Futures | CME contract for implied rate path (§12) |
END OF DOCUMENT
This document constitutes a proprietary specification of the TRADARS Neural Framework Engine. All mathematical operators, algorithms, and analytical methodologies described herein are the intellectual property of TRADARS Analytics. Reproduction, reverse engineering, or derivative works are strictly prohibited without express written authorization.
TRADARS Analytics — © 2026 — All Rights Reserved
Classification: Restricted Distribution — For Due Diligence Use Only
Generated: 2026-09-30 — Version 3.0