The Correlation Engine is the fourth surface in the Vortex Research Suite — the cross-module piece available on Elite. Where the other three modules zoom in on a single asset, a panel of capital cells, or a leverage topology, the Correlation Engine zooms out: given the user's watchlist, what does the realized correlation matrix of daily returns look like, and how does it shift across named market regimes.
The shape of the module is opinionated in two ways that earn explanation. First: six named regimes, not a continuous regime variable. The named set is realized (the full window, baseline pairwise Pearson), stress (|BTC daily ret| ≥ 3%, the textbook diversification stress test), btc_up_vol (BTC ≥ +3%, the asymmetric upside half), btc_down_vol (BTC ≤ −3%, where the diversification thesis fails), low_vol (|BTC daily ret| ≤ 0.5%, the calm-market floor), and drawdown (trailing-30-day BTC return ≤ −10%, the persistent-bear case). A continuous regime model would have been more elegant on paper. In practice, named regimes give buyers something concrete to reason about: 'on the days when BTC fell hard, what does my watchlist's correlation matrix look like,' is a question with a specific answer; 'what does the regime-conditional copula look like,' is a question only quants can read. The module's audience is sophisticated but not exclusively quant; named regimes meet them where they are.
Second: the eigenvalue panel sitting next to the matrix is at least as load-bearing as the matrix itself. The decomposition publishes the eigenvalues, the variance share per principal component, the cumulative variance through the first three PCs, the top loadings per PC, and Meucci's effective number of bets — ENB = exp(−Σ pᵢ ln pᵢ) where pᵢ = λᵢ / Σλⱼ. ENB equals the universe size when all correlations are zero (every bet is independent) and collapses toward 1 as the spectrum concentrates on a single dominant factor. For a 12-coin watchlist, an ENB of 9.8 reads 'well diversified'; an ENB of 2.4 reads 'heavy single-factor concentration even though the basket has 12 names.' Most readers will find the ENB headline more useful than the underlying matrix.
The module respects observation-count thresholds. A regime mask that retains fewer than five observations is suppressed and the dashboard disables the corresponding picker button — the matrix isn't estimable from that little data and we'd rather show the user 'too few stress days in the window' than a noisy 12×12 matrix. The realized regime is always available because it's the full window.
Snapshot caching: the assembled snapshot lives in Redis for six hours, keyed by (customer, sorted coin set, window-days). A 250-coin Elite watchlist isn't free to compute — the realized matrix is N²/2 ≈ 31,000 Pearson coefficients, the eigendecomposition runs Jacobi rotations to convergence — but a re-render or a regime-toggle within six hours hits the cache. The CoinGecko per-coin returns are separately cached (six-hour TTL too), so a cold-cache cold-start computation is bounded by a one-time fetch fan-out the first time the user opens the page.
Vortex Legacy
Vortex Research Suite modules produce quantitative diagnostic assessments only. They do not constitute investment advice, price prediction, or buy/sell recommendations.
What the module doesn't do is forecast correlations. The realized matrix and its regime-conditional siblings are sample statistics over the observed window. The same caveat that applies to Diagnostics regime detection applies here: the regime-conditional matrix you see is the regime-conditional matrix that fitted on your window. Different windows yield different matrices. The module makes the structural shape of the window legible; what to do with it is a question the module deliberately doesn't answer.