TulypMethodology
← Back to calculator

Calculator methodology

A public calculator that outputs a number without explaining its method is a black box. For a CFO, a black box is worth zero. This page details line by line how your YTD 2026 FX loss is calculated, what our assumptions are, and what the structural limitations of the tool are. Everything is reproducible by hand in a spreadsheet.

1. The 2 calculation modes and the unified formula

Gross loss on net exposure, with 2 reference modes.

  • YTD mode (default): reference rate = ECB rate on January 2, 2026.
  • Variance vs. budget rates mode (optional): reference rate = budget rate declared by the CFO.

Unified formula:

Net_currency_exposure = Export_revenue_currency - Import_purchases_currency
Movement = (Today_rate - Reference_rate) / Reference_rate
Loss_currency = -1 × Net_currency_exposure × Movement × YTD_fraction

The Net_exposure term incorporates natural hedging (sales minus purchases per currency). The Reference_rate is the ECB spot rate on January 2, or the declared budget rate depending on the mode. The -1 sign naturally encodes both cases: a net exporter incurs a loss if the EUR strengthens, while a net importer realizes a gain in the same configuration.

Hedging (YTD mode only):

Net_loss = Gross_loss × (1 - Hedge_ratio)

2. Rate sources

We use the Euro Foreign Exchange Reference Rates published daily by the ECB (series EXR.D.{CUR}.EUR.SP00.A from the SDW). These are reference rates, not transactional rates: your bank applies a spread that is not modeled here.

3. The 3 possible approaches

Three methods coexist in the treasury literature:

  1. Gross accounting loss (our method). Question: how much has the market cost me since January? Advantage: reproducible, doesn't depend on budget quality. Limitation: doesn't reflect the gap to internal targets.
  2. Variance vs. budget rate. Question: am I above or below my plan? Advantage: aligned with EBITDA, ExCom language. Limitation: requires a formalized, high-quality budget rate.
  3. Opportunity loss post-hedging. Question: what would I have gained by staying unhedged? Used by Tulyp continuously, but impossible to reproduce in a public calculator without knowing your position book.

4. Assumptions and acknowledged limitations

  1. Uniform invoicing throughout the year (linear YTD fraction).
  2. No customer payment delay (calculation on invoiced revenue, not cash collected).
  3. No open positions on January 1, 2026 (forwards inherited from 2025 are not modeled).
  4. Uniform hedge ratio across currencies.
  5. Partial natural hedging: integrated through net exposure (export minus import) if the CFO enters foreign-currency purchases, but assumed to be temporally aligned between sales and purchases.
  6. Only 6 currencies modeled: USD, GBP, CHF, CNY, JPY, AUD. Other currencies (SEK, NOK, CAD, PLN, DKK, HKD, SGD, etc.) are not covered.
  7. ECB reference rates, not transactional rates (bank spread not modeled).
  8. In budget mode, the result depends on the quality of the budget rates declared by the CFO.

5. Reproducible numerical example

Case: EUR 50M export revenue, breakdown USD 60% / GBP 15% / CHF 5% / CNY 10% / JPY 5% / AUD 5%, 0% hedging, calculated on April 17, 2026.

CurrencyECB ref Jan 2Rate Apr 17MovementImpact
USD1.04501.0820+3.54%-€301,200
GBP0.82800.8410+1.57%-€33,400
CHF0.93500.9280-0.75%+€5,300
CNY7.64507.7810+1.78%-€25,300
JPY165.50168.80+1.99%-€14,200
AUD1.67501.7120+2.21%-€15,700
Total YTD-€396,900

USD detail: 50,000,000 × 60% = €30,000,000 exposed for the year. Movement (1.0820 - 1.0450) / 1.0450 = +3.54%. YTD fraction from January 1 to April 17 = 107 / 365 ≈ 0.293. Loss = -1 × 30,000,000 × 0.0354 × 0.293 ≈ -€311,000 (rounding and small business-day differences aside).

6. Transparency and reproducibility

The calculator's source code can be shared on request at methodologie@tulyp.io. Rates are sourced live via the public ECB API on every calculation. This methodology is versioned: any modification is logged.