Document version 1 — Date of issue: June 2026
Introduction
This document sets out the methodology underlying the analytical panels of the Global Investing FX Terminal (MQL5 Market product #180326): the data each panel uses, how that data is transformed into the readings shown on screen, and the conventions applied for labeling, fallbacks, and interpretation.
This is a descriptive document. It explains how the terminal's panels are calculated and what they are designed to measure. It does not constitute investment advice, and nothing in this document should be read as a recommendation to take any particular position in any currency or instrument. Users should form their own view and, where appropriate, seek independent advice.
This methodology is subject to revision as panels are refined or new data sources become available. Material changes will be reflected in an updated document version.
Objectives and Key Features
The terminal combines several institutional-style FX and macro signals — positioning, rate expectations, carry, currency strength, cross-pair correlation, implied volatility and skew, retail sentiment, and economic surprises — into a single monitoring surface running natively in MetaTrader 5. Each panel is designed to measure a specific, well-defined dimension of the market, using data sources and transformations documented below.
The guiding principle is that each signal is used for what it is designed to measure, and panels are intended to be read together rather than in isolation — a theme covered in detail in Section 1. The Composite Score (Section 8) brings several of these signals together into a single per-currency reading using an explicit, documented combination logic.
Section 1: Combining Signals — Why No Single Panel Is Sufficient
The appeal of a single indicator is simplicity, but major FX moves are rarely driven by a single factor.
Positioning data (Section 2) tells you where leveraged institutional money sits, but not whether the thesis behind that positioning is intact or whether a reversal catalyst exists. Crowded positions can persist for months in trending markets.
Forward rate expectations (Section 3) show where central bank policy paths are expected to diverge, but not how much of that divergence is already reflected in spot prices.
Carry (Section 4) has a well-documented long-run premium but also well-documented crash risk — it performs well in calm, trending regimes and fails in risk-off episodes. Used without a volatility filter, raw carry yield is one of the most common sources of error in systematic FX approaches.
Currency strength (Section 5), cross-pair correlation (Section 6), implied volatility and risk reversal skew (Section 7), retail positioning (Section 9), and the economic surprise index (Section 10) each add further context: relative momentum across currencies, how exposures co-move, the options market's view of forward risk, how the non-institutional crowd is positioned, and whether incoming data is beating or missing expectations.
Section 2: Positioning — CFTC Commitments of Traders (Leveraged Funds)
What the data measures
The CFTC's Traders in Financial Futures (TFF) report is published weekly and breaks down open interest in CME currency futures by trader category. The terminal uses the Leveraged Funds category — hedge funds and CTAs, whose positions tend to be directional and trend-following — as the basis for the COT panel.
Net position for Leveraged Funds is calculated as:
Net = Longs − Shorts
A positive net value indicates a net long position in the currency versus USD; a negative value indicates net short.
Normalization: 52-week rolling z-score
Raw net positions are not directly comparable across currencies, since futures contract sizes differ materially (for example, 125,000 EUR vs. 12,500,000 JPY per contract). The terminal converts the net position into a 52-week rolling z-score:
z = (Net_current − Mean_52w) / StdDev_52w
This expresses current positioning in standard deviations from its own one-year average, making readings comparable across currencies.
Interpretation
| z-score | Classification |
|---|---|
| > +1.5σ | Extreme long |
| +0.5 to +1.5σ | Extended long |
| −0.5 to +0.5σ | Neutral |
| −1.5 to −0.5σ | Extended short |
| < −1.5σ | Extreme short |
A reading beyond ±1.5σ indicates positioning that is historically extreme for that currency relative to its own one-year range.
Week-over-week flow
The z-score is a snapshot of where positioning sits; the week-over-week change in net positioning (ΔNet) shows the direction of flow. A currency at an extreme short with several consecutive weeks of short-covering reads differently from one at the same extreme with shorts still being added, even though the headline z-score may look similar in both cases. The COT panel displays both the z-score and the weekly flow together for this reason, and raises an alert when a new weekly release is detected, when the sign of net positioning flips, or when the weekly flow exceeds a configurable threshold.
Source
CFTC publishes the TFF report weekly, covering data through the previous Tuesday.
Section 3: Central Bank Rates and OIS-Implied Expectations
Two distinct signals
The terminal separates two signals that are often conflated:
- The CB Rates table (trend) is retrospective — it reflects the direction of the central bank's most recent policy decision.
- The CB Bias is prospective — it reflects what the market currently expects at the next meeting, derived from Overnight Indexed Swap (OIS) pricing or equivalent term-rate instruments.
These two signals can and sometimes do diverge — for example, a policy rate that has been flat for several months (trend = hold) while the market prices a high probability of a cut at the next meeting (bias = cut). This divergence is intentional and is not "corrected" by aligning one measure to the other.
What OIS measures
Overnight Indexed Swaps are fixed-for-floating swaps referencing each currency's overnight policy benchmark (SOFR for USD, €STR for EUR, SONIA for GBP, TONA for JPY, CORRA for CAD, SARON for CHF, and equivalent benchmarks for other currencies). Because OIS contracts are liquid, market-traded instruments, the fixed rate on a given contract reflects the market's current expectation for the average overnight rate over that contract's life — distinct from, and generally more informative than, simply comparing current policy rates.
Reading meeting expectations
For a central bank with meetings at dates T1 and T2 and a current overnight rate R₀, the OIS rate for a contract ending shortly after T2 implies:
Rate_implied = (days_before_T1 × R₀ + days_T1_to_T2 × R₁ + days_after_T2 × R₂) / total_days
Working backward from observed OIS rates for contracts ending just after each meeting allows the implied rate at each meeting — and therefore the probability of a 25bp move — to be estimated. As a practical approximation, the basis-point gap between the current front-month OIS rate and the current policy rate is approximately proportional to the probability of a 25bp move at the next meeting; this approximation is broadly consistent with tools such as CME FedWatch for standard 25bp increments with a single meeting per contract window.
Source hierarchy
OIS-equivalent data is sourced per currency from the relevant overnight benchmark, with a tiered fallback to term-rate futures or forward instruments where direct OIS pricing is unavailable. Term-rate instruments are preferred throughout, since overnight spot rates alone are not informative about expectations ahead of an upcoming meeting. Hike and cut probabilities derived from this data are refreshed on a periodic cycle; where all sources are temporarily unavailable, the prior reading is preserved rather than reverting to a less-informative heuristic, to avoid false regime flips during transient data outages. The terminal raises an alert when the CB bias changes or when a hike/cut probability shifts by more than a configurable threshold.
Section 4: Carry — Sharpe-Adjusted Yield
Why raw carry is insufficient
The carry trade — long high-yield currencies funded in low-yield currencies — has a well-documented long-run positive expected return, but also a well-documented tendency toward sharp, sudden drawdowns during risk-off episodes. Brunnermeier, Nagel, and Pedersen (2008) documented that carry trade returns exhibit negative skewness and excess kurtosis, consistent with periodic sudden unwinding events linked to spikes in currency-pair illiquidity. Using raw carry yield as a directional indicator, without accounting for this crash risk, is a common source of error in systematic FX approaches.
Calculation
The annualized carry for a pair is computed directly from the broker's swap rates:
Carry_annualised = (Swap_pts × Point × 365) / Bid × 100
Following industry convention (consistent with Bloomberg's Carry Trade Monitor), the annualized figure reflects the swap rate for whichever side of the pair currently carries positively — a pair classified on its short side uses the short swap rate, not the negative long-side rate.
This is then adjusted for the realized volatility of the pair over the trailing 30 trading days, computed close-to-close with no drift assumption (consistent with standard FX options conventions for short-window realized volatility):
Carry_adj = Carry_annualised / RealVol_30d
Interpretation
- Carry_adj > 0.5 : carry well-compensated for current volatility.
- Carry_adj ≤ 0 : the current volatility regime has historically been unfavorable for carry-motivated positioning, regardless of the nominal yield differential.
The Carry Monitor panel displays this Sharpe-adjusted figure per pair, alongside HV30 and the annualized swap rate, and classifies each pair as favoring a long, short, or neutral carry position based on configurable thresholds on the annualized rate. The terminal raises an alert when a pair's swap rate changes by more than a configurable threshold.
Section 5: Currency Strength Index (CSI)
What the panel measures
The Currency Strength Index ranks the relative strength of the major currencies plus a synthetic USD/DXY proxy by aggregating price performance across the full set of major pairs over a selected timeframe (M5, M15, H1, H4, or D1). This follows the standard "currency strength meter" approach used across institutional and retail FX platforms: rather than reading a single pair in isolation, relative strength is derived from each currency's performance against the full basket of counterparts, isolating currency-specific momentum from pair-specific noise.
Source and timeframe selection
The panel is computed natively from MetaTrader 5 price history across the 28 major FX pairs, with the user able to switch between five timeframes to view strength on different horizons.
Section 6: Correlation Matrix
What the panel measures
The Correlation Matrix shows the pairwise Pearson correlation of daily log returns across the major USD pairs and a synthetic DXY series, over a configurable lookback period (default 30 days). This is the standard approach used by institutional desks to monitor cross-pair diversification and identify when historically uncorrelated pairs begin moving together — often a signal of a broad USD-driven move rather than pair-specific dynamics.
Calculation
For each pair of series, the correlation coefficient is:
ρ = Σ(rᵢ − r̄)(sᵢ − s̄) / √[Σ(rᵢ − r̄)² × Σ(sᵢ − s̄)²]
where r and s are the daily log-return series for each instrument over the lookback window. The synthetic DXY series used for the USD row/column is constructed as a weighted geometric combination of EUR/USD, USD/JPY, GBP/USD, USD/CAD, and USD/CHF, following the standard ICE U.S. Dollar Index weighting convention.
Section 7: Volatility and Risk Reversal Skew
Realized volatility (HV)
The Volatility & Options panel shows annualized historical (realized) volatility over three windows — 7, 20, and 63 trading days — for the major and cross pairs. Volatility is computed close-to-close with no drift assumption, consistent with standard FX options pricing conventions for short-window realized volatility:
σ² = Σ(rᵢ)² / n , where rᵢ = ln(Cᵢ / Cᵢ₋₁)
The panel highlights when shorter-window volatility (HV7) is running materially above or below the longer-window average (HV20/HV63), flagging a volatility regime shift.
25-delta risk reversal skew
Alongside realized volatility, the panel displays 25-delta risk reversal levels at the 1-week, 1-month, and 3-month tenors. A risk reversal is the volatility differential between an out-of-the-money call and an equivalent out-of-the-money put on the same currency pair, and is the standard market measure of directional skew in the options market: a positive risk reversal indicates the options market is pricing greater demand for upside protection (call skew) on the base currency, while a negative reading indicates greater demand for downside protection (put skew). This is a market-implied, forward-looking complement to the historical volatility measure above, and to the realized-volatility component used in the carry calculation (Section 4).
Section 8: Composite Score
Inputs and weights
The Composite Score combines five of the signals described above into a single per-currency reading on a ±10 scale:
| Component | Weight | Basis |
|---|---|---|
| Positioning (COT) | 30% | 52-week z-score (Section 2), mapped to a ±3.0 point contribution |
| Rate Expectations (CB/OIS) | 20% | Continuous differential between hike and cut probability (Section 3), mapped to a ±2.0 point contribution |
| Carry | 15% | Sharpe-adjusted carry (Section 4), capped at ±1.5 |
| Economic Surprise Index | 15% | Decay-weighted z-score (Section 10), mapped to a ±1.5 point contribution |
| Retail Positioning (contrarian) | 20% | Section 9, applied with a contrarian sign convention, mapped to a ±2.0 point contribution |
Combination logic
Carry does not generate an independent directional signal within the Composite Score; its role is to confirm or temper the positioning and rate-expectation components:
| Positioning + OIS | Carry | Resulting read |
|---|---|---|
| Same direction | Supportive (Carry_adj > 0.5) | Highest-confidence configuration — all components aligned |
| Same direction | Unfavorable (Carry_adj ≤ 0) | Directional components aligned, but the volatility regime has historically worked against carry-aligned positioning |
| Conflicting | Either | No directional read — the framework is designed to produce an explicit non-signal rather than force a view when inputs disagree |
A disciplined framework should be capable of returning "no clear signal" when positioning and rate expectations point in different directions, rather than defaulting to a view based on whichever component happens to be strongest.
USD
The CFTC does not publish a primary USD futures position directly comparable in liquidity to the component-currency markets. The terminal's USD positioning signal is therefore derived as the U.S. Dollar Index (DXY)-weighted inverse of the six component currencies with liquid CFTC futures coverage (EUR, JPY, GBP, CAD, AUD, CHF), applied to each currency's z-score to produce a synthetic USD z-score that feeds the Composite Score identically to the other currencies. Retail positioning for USD is likewise derived from the inverse of EUR/USD retail positioning, EUR/USD being the largest single component of retail FX volume. This weighted-inverse approach reflects standard practice for constructing a dollar-side read from component-currency data, given that a direct USD futures contract (ICE U.S. Dollar Index futures) carries materially lower open interest than the combined component markets that institutional desks reference.
Section 9: Retail FX Positioning
What the data measures
The Retail Sentiment panel shows aggregate retail trader positioning — the proportion of open positions long versus short each major pair — sourced from the Myfxbook community platform and refreshed on a periodic cycle.
Contrarian framing
Retail positioning is widely used across the industry as a contrarian indicator: extreme consensus among retail traders (a large majority positioned on one side of a pair) has historically preceded reversals more often than continuations, on the reasoning that retail flow tends to follow trends late and is frequently positioned opposite to the larger institutional flow captured in Section 2. The panel flags a pair as showing a contrarian condition when long or short positioning exceeds 65% of open interest. The raw long/short composition feeds the Composite Score (Section 8) with a contrarian sign convention, and is also displayed independently as context alongside the positioning and rate-expectation panels.
Section 10: Economic Surprise Index (ESI)
What the index measures
The Economic Surprise Index measures whether economic data releases for a given currency are coming in above or below consensus forecasts, aggregated over a rolling 90-day window. A positive index value indicates that recent releases have beaten expectations more often, or by a larger margin, than they have missed; a negative value indicates the opposite.
Decay-weighted z-score methodology
The ESI uses a decay-weighted z-score methodology modeled on the Citigroup Economic Surprise Index (CESI) and Bloomberg Economic Expectations Index (BEEI) conventions — the same general approach used by institutional macro desks to gauge whether a currency's economic backdrop is improving or deteriorating relative to expectations.
Two adjustments are applied:
- Z-score normalization. For each release type, the terminal builds a running mean and standard deviation of the historical surprise (actual minus forecast) using up to two years of history. Where at least three historical observations exist, each new surprise is expressed as a z-score against that release's own historical standard deviation, capped at ±2.5σ and normalized to a ±1 scale. This distinguishes a statistically large surprise from routine noise — a beat on a release with low historical variance is scored as more significant than the same absolute beat on a release with high historical variance. Releases without sufficient history fall back to the mean absolute historical surprise, or to a sign-only score where no usable history exists.
- Exponential time decay. Each release's contribution to the 90-day score decays with an approximately 45-day half-life, matching the Citigroup CESI convention — a surprise from 45 days ago carries roughly half the weight of an equivalent surprise today. Releases are also weighted by their calendar importance (high, medium, or low).
The resulting weighted average is scaled to a ±10 index value per currency, which feeds both the standalone ESI panel and, at a 15% weight, the Composite Score (Section 8).
Limitations
The ESI does not capture market impact directly. A surprise in a release the market currently treats as a key policy variable can have materially more FX impact than an equivalent-sized surprise in a release of secondary importance; the z-score methodology weights larger surprises more heavily but does not specifically amplify releases that are contextually more important to the prevailing rate narrative.
Section 11: AI Market Signals
In addition to the quantitative panels described above, the terminal displays a qualitative market signal per currency pair, generated by a periodically-refreshed AI analysis process and presented alongside a priority indicator and supporting narrative. This panel is intended as a qualitative complement to the quantitative signals in Sections 2–10 — it does not itself form part of the Composite Score calculation, and like all other panels, it is descriptive of current conditions rather than a recommendation to take a specific position. The terminal raises an alert when a new signal is published.
Limitations
This methodology is subject to revision as panels are refined, and changes will be reflected in future versions of this document.
Positioning extremes do not imply timing. A z-score beyond ±1.5σ indicates that current positioning is historically extreme relative to the past year, not that a reversal is imminent. Crowded positions can and frequently do persist for extended periods.
Carry is regime-dependent. The Sharpe-adjusted carry measure reflects current and recent realized volatility; it does not predict regime shifts, and a favorable reading can deteriorate rapidly during a sudden change in market conditions.
OIS-implied probabilities are approximations. The meeting-probability approximation described in Section 3 is consistent with standard tools for simple cases (single meeting per window, standard 25bp increments) but becomes less precise for more complex meeting schedules or non-standard policy moves.
Risk reversal data reflects indicative quotes. The 25-delta risk reversal levels shown in Section 7 are indicative mid prices from a third-party source and may not reflect live tradable levels at all times.
The ESI does not directly measure market impact, as noted in Section 10 — it measures the statistical significance of a data surprise, not how much the market is likely to react to it.
All panels depend on third-party data availability. Where a primary source is temporarily unavailable, panels are designed to degrade gracefully — for example, by preserving the prior reading rather than reverting to a less-informative heuristic — but may not reflect current market conditions until the live source is restored.
This document describes calculation methodology, not investment recommendations. Nothing in this document, or in the terminal's panels, constitutes advice to take any position in any currency, instrument, or market.
Web Terminal
The Global Investing web terminal (globalinvesting.github.io) shares several of the signal concepts described in this document — including COT positioning, OIS-implied rate expectations, Sharpe-adjusted carry, retail positioning, and the Economic Surprise Index — and additionally includes panels not present in this MT5 product, such as a Cross-Asset Risk Monitor and an FX Liquidity & Sessions panel. The methodology for these web-only panels is documented separately in the corresponding guides on the web terminal.
References
Brunnermeier, M. K., Nagel, S., & Pedersen, L. H. (2008). Carry trades and currency crashes. NBER Macroeconomics Annual, 23, 313–347.
Lustig, H., & Verdelhan, A. (2007). The cross section of foreign currency risk premia and consumption growth risk. American Economic Review, 97(1), 89–117.
Menkhoff, L., Sarno, L., Schmeling, M., & Schrimpf, A. (2012). Carry trades and global foreign exchange volatility. Journal of Finance, 67(2), 681–718.
U.S. Commodity Futures Trading Commission. (n.d.). Traders in Financial Futures: Explanatory notes. Retrieved from https://www.cftc.gov/MarketReports/CommitmentsofTraders/index.htm
CME Group. (n.d.). FedWatch tool methodology. Retrieved from https://www.cmegroup.com/trading/interest-rates/countdown-to-fomc.html
Citigroup. (n.d.). Citigroup Economic Surprise Index (CESI) — index conventions referenced for the ESI decay-weighting and z-score methodology in this document.
Bloomberg. (n.d.). Bloomberg Economic Expectations Index (BEEI) — index conventions referenced for the ESI decay-weighting and z-score methodology in this document.
ICE Data Indices. (n.d.). ICE U.S. Dollar Index — component weighting convention referenced for the synthetic DXY series used in Sections 6 and 8 of this document.


