An FX pricing engine must identify both the payoff and the currency in which that payoff is valued. A vanilla option needs a domestic and foreign financing convention. An Asian adds a fixing schedule. A barrier adds a monitoring rule. A quanto adds a measure-change adjustment linking the foreign asset to the conversion currency. These are contract features, not optional refinements to one universal formula.

This reference report merges the advanced FX pricing-engine presentation and annotated currency-derivatives notes into one implementation guide. It preserves the available numerical outputs as teaching results while identifying missing parameters that prevent an independent reproduction. The examples do not express a directional view on a currency or recommend a trade.

Start with a precise currency convention

Let XtX_t denote domestic-currency units per unit of foreign currency. Under the simple deterministic-rate domestic risk-neutral model:

dXtXt=(rd−rf)dt+σXdWtd,\frac{dX_t}{X_t}=(r_d-r_f)dt+\sigma_XdW_t^{d},

where rdr_d and rfr_f are domestic and foreign rates, σX\sigma_X is exchange-rate volatility and WdW^d is Brownian motion under the domestic pricing measure.

A call granting the right to buy foreign currency at domestic price KK pays max⁡(XT−K,0)\max(X_T-K,0) in domestic currency per unit of foreign notional. The two-rate vanilla formula discounts spot at the foreign rate and the strike at the domestic rate. Its inputs and units should be explicit before extending it to an exotic payoff.

If the exchange-rate quotation is inverted, the dynamics and payoff interpretation change. A code variable called “foreign rate” is not enough to identify the measure. The instrument record should state quote direction, underlying currency, settlement currency, notional currency and any fixed conversion factor.

A forward benchmark checks the financing layer

Under the same simplified assumptions, the forward exchange rate is F=X0e(rd−rf)TF=X_0e^{(r_d-r_f)T}. The annotated teaching material also uses the simple-interest relationship F=X0(1+rdT)/(1+rfT)F=X_0(1+r_dT)/(1+r_fT). These can both be valid under their respective compounding conventions; they should not be mixed in a single valuation.

The forward is a useful benchmark for the simulated process. Simulated terminal exchange rates should have a sample average consistent, within sampling error, with the model-implied forward. A systematic discrepancy can indicate a wrong rate sign, an inconsistent time scale or a mistaken risk-neutral drift.

Real instruments can require basis and collateral curves rather than two flat rates. The simple formula remains a controlled teaching benchmark. Its role is to verify the engine’s conventions, not to remove the need for the relevant market curve framework.

Asian options turn the fixing schedule into part of the model

An arithmetic-average Asian call pays on the average of selected fixings rather than solely on the final exchange rate. With fixing weights wjw_j summing to one and fixing times tjt_j, define:

A=∑j=1mwjXtj,payoff=max⁡(A−K,0).A=\sum_{j=1}^{m}w_jX_{t_j}, \qquad \text{payoff}=\max(A-K,0).

The arithmetic average of lognormal variables is not generally lognormal, so the vanilla closed form does not directly apply. Monte Carlo simulation is a flexible solution, although it is not the only available method. Approximation methods, control variates and specialised numerical techniques can also be useful.

The payoff specification must state whether the inception value is a fixing, whether observations are business-day or calendar-day, and how holidays or disrupted fixings are treated. Including the initial spot in an equally weighted average when the contract excludes it changes the price. So does using an unweighted average when the contract weights observation periods differently.

For a seasoned Asian, some fixings have already occurred. Separate the known weighted sum from the remaining uncertain fixings. Re-simulating the completed part invents uncertainty that the contract no longer has and misstates both value and sensitivity.

Figure 01 · Conceptual framework

From currency convention to exotic payoff

From currency convention to exotic payoffFrom currency convention to exotic payoff. Fix the currency convention: Define domestic and foreign units and discounting. Write the contract precisely: Record fixing dates, barriers and monitoring rules. Generate consistent scenarios: Apply the process and relevant covariance assumptions. Value and cross-check: Use limiting cases and numerical uncertainty.Fix the currencyconventionDefine domestic and foreignunits and discountingWrite the contractpreciselyRecord fixing dates, barriersand monitoring rulesGenerate consistentscenariosApply the process and relevantcovariance assumptionsValue and cross-checkUse limiting cases and numericaluncertainty
Reading the figureConceptual sequence drawn from the report; the steps describe responsibilities and analytical dependencies, not measured market outcomes.

Simulate the process, then the contractual payoff

For constant parameters, an exact lognormal transition over a step Δt\Delta t is:

Xt+Δt=Xtexp⁡[(rd−rf−12σX2)Δt+σXΔtZ],X_{t+\Delta t}=X_t\exp[(r_d-r_f-\tfrac12\sigma_X^2)\Delta t +\sigma_X\sqrt{\Delta t}Z],

In words: The next exchange rate combines today’s rate with financing, the volatility correction and a random movement.

with independent standard-normal ZZ for the simple one-factor model. This avoids Euler discretisation error for the exchange-rate transition itself. The payoff can still have discretisation error if the simulated times do not match its averaging or monitoring schedule.

The source engine uses 10,000 paths and a matrix of path values. Vectorisation helps performance by updating many simulated paths together, but a larger matrix is not a proof of accuracy. If only an arithmetic sum and terminal state are required, the engine can accumulate those quantities without storing every path, reducing memory use.

After constructing the average and payoff on each path, discount the sample mean using the settlement-currency convention. Preserve the path count, random seed or random-stream identifier, fixing grid, model parameters and discount inputs with the result. Otherwise the displayed price cannot be reproduced reliably.

Preserve numerical output with its uncertainty and missing inputs

The presentation gives the following Asian teaching case:

Retained Asian-option inputs and reported simulation output

Parameter or reported output Value
Initial exchange rate 1.10
Strike 1.08
Volatility 15%
Maturity 1 year
Simulations 10,000
Reported Asian call value 0.0324
Reported standard error 0.00045

The displayed result does not provide every rate and fixing-grid input needed to independently reproduce the price. It is retained as a source-reported teaching output, not relabelled as a verified benchmark.

If 0.00045 is the standard error of the discounted mean and an approximately normal sampling interpretation is appropriate, a rough 95% Monte Carlo interval is 0.0324±1.96(0.00045)0.0324\pm1.96(0.00045), or about 0.03152–0.03328. This interval measures simulation sampling uncertainty under the selected model. It does not include model error, missing-data uncertainty or the possibility that the fixing schedule was specified incorrectly.

Halving standard error typically requires roughly four times as many independent samples if variance is unchanged. Variance reduction can be more efficient than increasing raw path count. Its benefit should be measured on the actual payoff rather than assumed from a generic percentage improvement.

Figure 02 · Qualitative comparison

Three exotic features that alter valuation

Three exotic features that alter valuation
Approach or conceptWhat it contributesWhat still matters
Asian averagingMakes the fixing schedule part of the payoffContinuous and discrete averaging differ
Barrier monitoringMakes a path crossing economically decisiveMonitoring conventions affect missed events
Quanto conversionConnects payoff and settlement currenciesCovariance assumptions enter the adjustment
Reading the figureQualitative comparison of the alternatives and limits discussed in the report; no empirical ranking or performance estimate is implied.

Digital options concentrate sensitivity around a threshold

A cash-or-nothing digital pays a fixed amount QQ if the terminal exchange rate satisfies a condition. In the simple domestic-measure setting, a call digital’s value is Qe−rdTN(d2)Qe^{-r_dT}N(d_2), where d2d_2 follows the matched two-rate vanilla convention.

The fixed payoff makes the option’s sensitivity very different from a vanilla call. Near the strike and expiry, a small change in spot can materially alter the probability of receiving the whole payment. A finite-difference Greek can become unstable if the bump is poorly chosen relative to the payoff discontinuity.

The annotated notes emphasise this sharp near-threshold risk. The correct implementation should therefore return more than a price: show sensitivity to spot, volatility and maturity, and test behaviour on both sides of the strike. The payout currency must be specified because a foreign-currency digital requires a different valuation treatment from a domestic-currency cash payment.

Barrier options require a monitoring convention

A barrier activates or extinguishes an option when the exchange rate touches a specified level. An up-and-out call, for example, can disappear after an upward touch; a down-and-out call can disappear after a downward touch. A cheaper premium buys a different contingency, not the same protection at a discount.

The key fields are barrier level, direction, knock-in or knock-out feature, monitoring dates or continuous monitoring, rebate, payment timing and the relationship between strike and barrier. Two instruments with the same spot, strike and expiry can have different values because one monitors continuously and the other only at daily closes.

Simple daily-path simulation misses touches between observations when the contractual barrier is continuous. A bridge correction or another method consistent with the continuous-monitoring model can reduce that bias. Increasing path count without refining the monitoring treatment will not remove the underlying discretisation error.

The annotated source correctly stresses in-out parity as a useful control: when contract terms match and rebates do not disrupt the identity, knock-in plus knock-out equals the corresponding vanilla. Test that identity across barrier locations rather than on one convenient case.

Figure 03 · Conceptual framework

Can the reported price be reproduced?

Can the reported price be reproduced?Can the reported price be reproduced?. Exotic-option valuation: Check conventions, schedule and model inputs. Specification complete: Reproduce the result with uncertainty and limits. Missing contract or covariance input: Treat the number as an incomplete benchmark. Controlled price record: Retain contract, assumptions and numerical settings together. Lettered arrows correspond to the connection key below.Exotic-option valuationCheck conventions, schedule andmodel inputsSpecification completeReproduce the result withuncertainty and limitsMissing contract orcovariance inputTreat the number as anincomplete benchmarkControlled price recordRetain contract, assumptions andnumerical settings togetherABCD

How the parts connect

  1. Exotic-option valuationPath ASpecification complete
  2. Exotic-option valuationPath BMissing contract or covariance input
  3. Specification completeReviewControlled price record
  4. Missing contract or covariance inputReviewControlled price record
Reading the figureDecision framework derived from the report. The two paths identify different evidence or control conditions; they do not predict an investment or operational outcome.

Quanto pricing is a covariance problem

A quanto pays the performance of a foreign asset in domestic currency at a fixed conversion rate. The holder has removed the final random currency conversion from the payoff, but the asset’s domestic-measure dynamics still depend on the covariance between the foreign asset and the exchange rate.

Let StS_t be a foreign-currency asset paying yield qq. Retain XtX_t as domestic per foreign currency, and let asset and FX volatilities be σS\sigma_S and σX\sigma_X, with instantaneous correlation ρ\rho. Under the simple domestic pricing measure, the foreign asset’s drift becomes:

bq=rf−q−ρσSσX.b_q=r_f-q-\rho\sigma_S\sigma_X.

The sign depends on the stated exchange-rate quotation convention. This is why a generic instruction to subtract a correlation term without defining currencies is insufficient. If the quote is inverted, the correlation and representation must be transformed consistently.

For a fixed domestic conversion factor Xˉ\bar X, a European quanto call has the form:

Cq=Xˉe−rdT[S0ebqTN(d1)−KN(d2)],C_q=\bar Xe^{-r_dT} [S_0e^{b_qT}N(d_1)-KN(d_2)],

d1=ln⁡(S0/K)+(bq+12σS2)TσST,d2=d1−σST.d_1=\frac{\ln(S_0/K)+(b_q+\tfrac12\sigma_S^2)T}{\sigma_S\sqrt T}, \qquad d_2=d_1-\sigma_S\sqrt T.

In words: Compare the asset with the strike after allowing for growth and uncertainty, then subtract the uncertainty from the first result.

The source engine uses an ambiguous rate substitution in its displayed quanto formula. The explicit convention above resolves the economic meaning instead of copying that ambiguity into a new implementation.

Read the quanto numerical example as an incomplete benchmark

Quanto teaching inputs retained from the display

Aspect Retained observation
foreign asset level The retained display uses a foreign asset level of 30,000,
strike strike 31,000,
asset volatility asset volatility 25%,
FX volatility FX volatility 12%
correlation and correlation 0.3.

Their covariance adjustment has magnitude 0.3×0.25×0.12=0.0090.3\times0.25\times0.12=0.009, or 0.9 percentage points in the annual drift under the stated convention.

The screen reports a quanto call value of 1,450.25 in domestic currency. It omits sufficient detail about maturity, rates, asset yield and fixed conversion factor to reproduce that price independently. The adjustment magnitude can be checked; the full price cannot be verified from the displayed inputs alone.

This distinction is useful model governance. Preserve what the source actually provides, identify what can be calculated from it and avoid filling the missing fields with guesses that make the output appear validated.

Use limiting cases to isolate the source of an error

Product-specific limiting cases are more informative than comparing two large engines whose conventions are both unclear.

Contract-specific limiting cases isolate pricing errors

Aspect Retained observation
Asian An Asian with only one remaining fixing should reduce to the corresponding terminal-fixing payoff, subject to any already-fixed component.
knock-out barrier As a knock-out barrier moves sufficiently far from relevant paths, its value should approach the matched vanilla.
barrier already triggered A barrier already triggered at inception should follow the contract’s activation or termination rule immediately.

For a quanto, setting correlation to zero removes the covariance adjustment under the stated convention. Changing correlation from +0.3 to −0.3 in the retained volatility example changes the drift adjustment from −0.9 to +0.9 percentage points, a 1.8-point difference. This checks the direction and units of the covariance effect; it does not by itself establish the full price without the remaining inputs.

Sensitivity testing should then isolate one convention at a time. Hold the payoff currency fixed while varying the domestic curve. Hold the foreign-asset definition fixed while varying the foreign rate and yield. Reversing an FX quote requires transforming the entire specification, not just replacing spot with its reciprocal and leaving every other parameter untouched.

The same discipline applies to numerical efficiency claims. A vectorised run can be faster while reproducing the same incorrect monitoring rule. A lower Monte Carlo standard error can accompany a biased payoff approximation. Report sampling error, discretisation evidence and convention checks separately so an apparently precise result does not conceal the wrong contract.

The common infrastructure should handle currency definitions, curves, calendars, simulation settings and result diagnostics. Product modules should handle their own payoffs and controls: fixing logic for Asians, threshold behaviour for digitals, monitoring for barriers and measure conventions for quantos.

A compact validation matrix then tests vanilla limits, rate and quote direction, fixing inclusion, barrier parity, correlation-zero behaviour and numerical convergence. Sensitivities should be verified against independent bumps and plausible stress scenarios, with caution around discontinuities.

The strongest conclusion from the combined material is that an exotic’s contract definition is part of its model. Speed and vectorisation are useful only after that definition is correct. A price accompanied by clear conventions, reproducible inputs and product-specific diagnostics is more valuable than a precise-looking output whose currency or payoff logic cannot be reconstructed.

Built from public documents and the author's own experience. No consultation informed it.