Class QuantoOption

java.lang.Object
com.quantfinlib.pricing.QuantoOption

public final class QuantoOption extends Object
Quanto vanilla: a payoff on a foreign asset S (quoted in foreign currency) paid in domestic currency at a fixed conversion rate, for example a Nikkei call paying max(S_T - K, 0) US dollars per index point.

Model (Hull, Options, Futures, and Other Derivatives, the section on quantos in the chapter "Convexity, timing, and quanto adjustments"; Wystup, FX Options and Structured Products, 2006, section 2.6). S and the FX rate X (domestic per one foreign) follow correlated geometric Brownian motions with vols σ_S, σ_X and correlation ρ. Under the domestic risk-neutral measure S drifts at r_f − q − ρσ_Sσ_X, so

  F_quanto = S · exp((r_f − q − ρ·σ_S·σ_X)·T)
  V = e^{−r_d T} · Black76(F_quanto, K, σ_S, T)

The option is discounted at the domestic rate r_d; the foreign rate r_f only enters the forward. With ρ = 0 the quanto forward is the foreign forward S·e^{(r_f−q)T}, not S·e^{(r_d−q)T}. Positive ρ lowers the forward: the hedger's short foreign-currency position loses exactly when the foreign currency is strong.

Pricing delegates to BlackScholes with rate r_d and carry q + (r_d − r_f) + ρσ_Sσ_X, which reproduces the forward above.

  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    price(BlackScholes.OptionType type, double spot, double strike, double domesticRate, double foreignRate, double assetYield, double assetVol, double fxVol, double rho, double timeYears)
    Quanto vanilla price in domestic currency per unit of the fixed conversion rate.
    static double
    quantoForward(double spot, double foreignRate, double assetYield, double assetVol, double fxVol, double rho, double timeYears)
    Quanto forward of the foreign asset under the domestic measure, in foreign-currency units of S.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • quantoForward

      public static double quantoForward(double spot, double foreignRate, double assetYield, double assetVol, double fxVol, double rho, double timeYears)
      Quanto forward of the foreign asset under the domestic measure, in foreign-currency units of S.
      Parameters:
      foreignRate - continuously compounded rate of the asset's currency
      assetYield - continuous dividend yield of the asset
      rho - correlation of the asset with X = domestic per foreign
    • price

      public static double price(BlackScholes.OptionType type, double spot, double strike, double domesticRate, double foreignRate, double assetYield, double assetVol, double fxVol, double rho, double timeYears)
      Quanto vanilla price in domestic currency per unit of the fixed conversion rate.
      Parameters:
      domesticRate - continuously compounded rate of the payment currency (discounting)
      foreignRate - continuously compounded rate of the asset's currency (drift)