Currency Correlation Calculator
Compare how forex pairs moved together using historical daily returns. Select two pairs and a lookback window, then explore the correlation matrix and its sample dates.
Compare currency pair movements
Pearson correlation of matched daily log returns.
Daily ECB reference rates via Frankfurter. This is historical analysis, not a live or intraday price feed. Source requests are cached for up to six hours.
How to use the currency correlation calculator
- Choose two forex pairs from the supported major and cross-currency pairs.
- Select 30, 60, 90, 180 or 250 matched daily return observations. Check the actual first and last price dates.
- Read the coefficient from −1 to +1 and compare it with other pairs in the matrix. Select a matrix cell to update the pair comparison.
- Export the major-pair matrix as CSV if you want to review it alongside your own trading records. The export includes the window and sample size.
How forex pair correlation is calculated
For each complete reference date, the calculator derives pair prices from the same EUR-base snapshot. It calculates log returns between consecutive observations and applies Pearson’s correlation coefficient to the aligned return series.
Cross price = Quote rate per EUR ÷ Base rate per EUR
Daily log return = ln(Current price) − ln(Previous price)
r = Σ((x − mean(x)) × (y − mean(y)))
÷ √(Σ(x − mean(x))² × Σ(y − mean(y))²)
Here, x and y are the two matched return series. Using returns avoids treating a shared upward or downward trend in raw prices as the same question as day-to-day co-movement. A zero-variance series cannot produce a defined Pearson coefficient, so it is shown as N/A.
Reading the correlation matrix
Teal cells indicate positive correlation and orange cells indicate negative correlation. The sign describes direction; the magnitude describes the strength of the linear relationship within the chosen sample.
| Coefficient | Interpretation within the sample |
|---|---|
| −1.00 | Perfect opposite linear relationship |
| −0.80 | Strong negative relationship under this tool’s descriptive bands |
| 0.00 | No measured linear relationship; not proof of independence |
| +0.80 | Strong positive relationship under this tool’s descriptive bands |
| +1.00 | Perfect positive linear relationship |
For example, an illustrative coefficient of +0.80 does not mean two pairs rise together on exactly 80% of days, or that a trade has an 80% chance of winning. Correlation is neither a hit rate nor a forecast.
Choose a window that matches your analysis
A 30-return window needs 31 complete price dates. Because the data follows reference-rate publications, weekends and holidays do not automatically add new observations. A 250-return window therefore spans considerably more than 250 calendar days.
Short windows react more to recent observations and outliers. Longer windows describe a broader period but can combine different market conditions. Compare windows rather than assuming a single coefficient is permanent.
The result shows the full price window and exact return count. All matrix cells use that same matched sample, so the displayed coefficients are comparable on their dates and observation count.
Data source and important limitations
Daily reference observations come from the ECB feed through Frankfurter. Source requests are cached for up to six hours. The tool is intended for historical analysis, not live pricing or intraday execution.
Only dates with valid rates for EUR, USD, GBP, JPY, AUD, CAD, CHF and NZD are retained. Cross rates use a common source snapshot. Missing dates are not interpolated or filled with unchanged prices. Source revisions, rounding and publication timing can affect the outcome.
Read the ECB’s explanation of reference rates and NIST’s Pearson correlation reference for further context.
Pairs sharing a currency can have related exposure, but correlation alone does not determine appropriate position sizes, hedge quantities or portfolio risk. Trade direction, notional amounts, leverage and changing market relationships also matter. No trading recommendation is produced.
Explore the Risk Reward CalculatorCurrency Correlation Calculator FAQ
Daily returns, lookback windows, data sources and interpretation.
What does currency correlation measure?
Currency pair correlation measures the linear relationship between two return series over a selected sample. Pearson's coefficient ranges from −1 to +1. Positive values describe same-direction co-movement and negative values describe opposite-direction co-movement. It is not a probability of winning.
Does the calculator use price levels or returns?
It correlates log returns between successive matched daily reference-rate observations, not raw price levels. Each return is ln(current price) − ln(previous price). A 30-return window therefore needs 31 complete price observations.
Is this live or hourly forex correlation?
No. The source is daily ECB reference rates delivered through Frankfurter. Requests are cached for up to six hours. This tool does not use intraday candles or executable broker quotes. The actual sample dates appear with the result.
Does 30 observations mean 30 calendar days?
No. It means 30 return observations from 31 complete publication dates. Weekends, holidays and dates without complete rates can make the calendar window longer. Missing observations are not filled or invented.
How are cross-currency pairs calculated?
The data uses EUR as a common base. A cross rate is the quote currency's EUR-base rate divided by the base currency's EUR-base rate. All pairs use the same complete source dates before their log returns are calculated.
What does a correlation of zero mean?
A value near zero suggests little linear relationship within the sample. It does not prove the pairs are independent, that no nonlinear relationship exists, or that combining them removes portfolio risk.
Why do correlations change when I change the window?
A different lookback includes different observations. Market conditions, outliers and changing currency relationships affect the result. Short samples can be especially sensitive to a few observations; longer samples can hide more recent changes.
What happens if historical data is unavailable?
The calculator shows an error and a retry option. It does not substitute sample correlation values. Insufficient history and zero-variance returns are reported explicitly; undefined matrix values appear as N/A.
Historical correlation can change and does not establish causation, independence or future performance. Reference rates are informational and are not executable broker quotes.