× Home Articles Ratio Plotter Buffett Indicators Seasonality Plotter Equation Plotter Correlation Plotter Overlay Plotter Financial Calculators Ticker Selector Upcoming Charts Help

RATIOPLOTTER.EU

Compare Tickers

Enter two financial asset tickers (e.g., T-MSFT/T-GOOGL). You can search tickers and copy them into a basket using the ticker selector.

Popular Tickers (Free Tier)

Trading Notes & Guide

General Notes

Currency Consistency: Ensure tickers are in the same currency to avoid exchange rate noise affecting the ratio.
See the currency on the Ticker Selector Page.

ETF Consistency: When plotting the ratio between two ETF's, always check that both are either distributing or accumulating. If this is not the case dividends can effect the results significantly!

Beta Correlation: Ensure the beta (calculated from montly periodic returns) is significant. Otherwise, you may be trading noise, and there will be no reliable reversal to the mean.

Recommendation: Always check the seasonality plot of the ticker you intend to swing trade; ensure the historical seasonality isn't moving against your position.


R2 and Beta Analysis Summary for Ratio Trading

To ensure a Ratio trade is based on structural correlation rather than random price movement, the R2 and Beta must BOTH be significant.

A low R2 indicates that Asset A and Asset B are "decoupled," meaning any apparent pattern in the Ratio is likely statistical noise with no mathematical pressure to return to the mean. Conversely, a high R2 confirms the assets are "tethered," making mean-reversion strategies reliable.

Besides the R2 we also need to make sure the Beta is healthy. The Beta between two assets indicates how much the numerator moves relative to the denominator. To use the Beta you can use this simple formula: Expected Numerator performance ≈ Denominator performance × Beta value.

A static Beta may mask recent shifts in relative volatility. To ensure your position sizing remains accurate, compare the overall Beta with the rolling Beta windows in the bottom dashboard pane. Monitoring these short-term fluctuations helps distinguish between normal market noise and a fundamental shift in how aggressively one asset moves compared to the other.

Statistical Warning: The R2 Validity Test
The following table defines the boundaries between random noise and actionable correlation based R2 values:

0.00 to 0.30 Pure Noise

EXTREME CAUTION.
The assets are practically decoupled. No statistical reason for the Ratio to return to the mean.
Assets with a R2 value in this range can be used for diversifying portfolios.

0.30 to 0.70 Weak Link

CAUTION.
Significant risk of "drift" where the Ratio diverges permanently from historical averages.
Assets with an R2 value in this range provide little value for both diversification and mean reversion trading.

0.70 to 1.00 Reliable Link

OPTIMAL.
Assets are tethered. High probability of mean reversion when the Ratio stretches.
Assets with an R2 value in this range are ideal for mean reversion trading.


Statistical Warning: The Beta Validity Test
The following table defines the boundaries between Inverse Ratio, Low volatility and high volatility asset pairs.

-1.50 to -0.50 Inverse Relationship

ATTENTION.
The assets move in opposite directions. A Beta of -1.0 indicates equal volatility but inverse movement. Assets in this range are primarily used for hedging strategies rather than standard Ratio trading.

0.00 to 0.50 Low Volatility

EXTREME CAUTION.
The numerator asset is significantly less volatile than the denominator. The ratio will move slowly unless position sizing is adjusted.
Assets with Betas in this range can be used for diversifying portfolios.

0.50 to 1.50 The sweet spot

OPTIMAL.
Both assets exhibit similar volatility profiles, meaning neither will easily overpower the other during price swings. This balance makes the pair optimal for standard 1:1 ratio trading, allowing for predictable mean reversion without the need for complex position sizing adjustments.

1.50 to 2.0+ Very high Volatility

CAUTION.
The numerator is highly volatile relative to the denominator. While the assets may be correlated, this severe imbalance requires careful position sizing to prevent the numerator from overpowering the trade.

*Note: RatioPlotter.eu uses periodic returns (relative changes) to ensure the Beta and R2 reflect the structural relationship regardless of the absolute currency price of the assets.

Ticker Data Usage and Sourcing

Ticker Data Sources
Our data is provided from a variety of sources: The Federal Reserve (FED-* tickers), The World Bank (WB-* tickers), The International Monetary Fund (IMF-* tickers), Tiingo (T-* tickers covering: stocks, ETFs, etc), Ourselves (MATH-* tickers). The ticker data sources vary according to ticker prefix as you can see. Our ticker selector allows browsing each ticker and their description and placing them on a basket for use.
SEA() Ticker function
For ratio plotting, the SEA(Ticker) function can only be used in the denominator argument and only for plotting TickerA over SEA(TickerA) like this: T-CRUD/SEA(T-CRUD). The SEA() ticker function works by calculating the median yearly seasonality as a new dataset (see the seasonality page for details and examples of this calculation). This one year seasonality dataset is then unfolded exactly the same for many years and directly inputted as a synthetic ticker into this plotting page arguments. Example: Ratio plot of Crude Oil by its seasonality: T-CRUD/SEA(T-CRUD). To write custom SEA() function synthetic tickers simply input your ticker of choice between the parentheses such as SEA(T-CRUD).
RAT() Ticker function
The RAT() ticker function works by calculating the ratio between two tickers as a new dataset. This dataset is then directly inputted as an synthetic ticker into the plotting page arguments. To write custom RAT() tickers simply input your two tickers of choice between the parentheses, separating them with a comma. Such as RAT(T-AAPL, T-MSFT). This can only be once, synthetic tickers like RAT(RAT(T-AAPL, T-MSFT), SEA(T-qtec)) are invalid for the time being. Example, how is Google outpacing Microsoft in terms of CAGR curve: RAT(T-GOOGL,T-MSFT)/MATH-CAGR_PCT-2
LAG() Ticker function
The LAG() ticker function is used to create a lagged version of an asset. This lags a dataset with an amount of days equal to the lag value in the ticker. To write custom LAG() tickers simply input your ticker of choice and lag value between the parenthesis, seperated by a comma. Such as LAG(AAPL, 10). Lag values can only be inputted into the denominator as positive whole numbers between 1 and 7000 days. Using the ratio plotter with LAG(), a ticker can be analyzed in its auto correlation, or correlation to a nother ticker with a gap of X days (e.g.ratio plot of TICKERA by LAG(TICKERB, 30)).
MATH- Tickers
The MATH- tickers are custom mathematical tickers made by us (e.g. MATH-CAGR_PCT-2 for 2% exponential growth, MATH-CONST_VEC-1 for a constant value of 1 each day). To find the list of valid MATH tickers go to the Ticker Selector Page and search through the MATH category list. Important to mention is that when using the MATH tickers the last observed date for this MATH ticker will be far in te future.
Default Ticker Column Projections & Adjustments
Let's take T-GOOGL as an example. When the projection variable is left blank, the ratio plotter will use the default projection variable which is -AdjClose (close price adjusted for both dividends and splits). This means that when you input T-GOOGL into the ratio plotter it will actually plot the Tiingo split and dividend adjusted close price of GOOGL (T-GOOGL-AdjClose by T-MSFT-AdjClose). If you want to plot the split (but not dividend) adjusted close price of GOOGL you can input T-GOOGL-SplitAdjClose. All projection columns are provided by Tiingo, with exception of the -SplitAdjClose column which is calculated by our system.