Correlations are computed on the last 200 price ticks, where each tick is the latest price from Pyth Hermes at the moment of the update (~3 second intervals).
This gives approximately 10 minutes of market context — enough to capture intraday co-movement without overfitting to ultra-short noise.
Minimum Sample
The function returns null until at least 4 ticks are available for both assets. The UI shows "Computing…" during this warmup period.
In practice, meaningful correlations stabilize after ~60 ticks (~3 minutes).
Limitations
Limitation
Description
Linear only
Misses nonlinear dependencies (use NMI for those)
Sensitive to outliers
A single price spike can distort the result
Stationarity assumption
Assumes the relationship is stable over the window
No causation
Correlation ≠ causation — always interpret with context
Why Price Levels (Not Returns)?
The tracker uses raw price levels rather than log returns for real-time correlation. This is intentional:
At tick frequency (3s), price levels are nearly identical to returns in relative terms
Using levels makes the sparklines and correlation charts more interpretable visually
For longer-term analysis, log-return correlation would be more statistically sound