Garman and Kohlhagen (1983) for Currency Options [Loxx]

Garman and Kohlhagen (1983) for Currency Options is an adaptation of the Black-Scholes-Merton Option Pricing Model including Analytical Greeks and implied volatility calculations. The following information is an excerpt from Espen Gaarder Haug's book "Option Pricing Formulas". This version of BSMOPM is to price Currency Options. The options sensitivities (Greeks) are the partial derivatives of the Black-Scholes-Merton ( BSM ) formula. Analytical Greeks for our purposes here are broken down into various categories:

Delta Greeks: Delta, DDeltaDvol, Elasticity
  • Gamma Greeks: Gamma, GammaP, DGammaDSpot/speed, DGammaDvol/Zomma
  • Vega Greeks: Vega , DVegaDvol/Vomma, VegaP, Speed
  • Theta Greeks: Theta
  • Rate/Carry Greeks: Rho, Rho futures option, Carry Rho, Phi/Rho2
  • Probability Greeks: StrikeDelta, Risk Neutral Density
(See the code for more details)

Black-Scholes-Merton Option Pricing for Currency Options
The Garman and Kohlhagen (1983) modified Black-Scholes model can be used to price European currency options; see also Grabbe (1983). The model is mathematically equivalent to the Merton (1973) model presented earlier. The only difference is that the dividend yield is replaced by the risk-free rate of the foreign currency rf:

c = S * e^(-rf * T) * N(d1) - X * e^(-r * T) * N(d2)

p = X * e^(-r * T) * N(-d2) - S * e^(-rf * T) * N(-d1)


d1 = (log(S / X) + (r - rf + v^2 / 2) * T) / (v * T^0.5)

d2 = d1 - v * T^0.5

For more information on currency options, see DeRosa (2000)

S = Stock price.
X = Strike price of option.
T = Time to expiration in years.
r = Risk-free rate
rf = Risk-free rate of the foreign currency
v = Volatility of the underlying asset price
cnd (x) = The cumulative normal distribution function
nd(x) = The standard normal density function
convertingToCCRate(r, cmp ) = Rate compounder
gImpliedVolatilityNR(string CallPutFlag, float S, float x, float T, float r, float b, float cm , float epsilon) = Implied volatility via Newton Raphson
gBlackScholesImpVolBisection(string CallPutFlag, float S, float x, float T, float r, float b, float cm ) = implied volatility via bisection

Implied Volatility: The Bisection Method
The Newton-Raphson method requires knowledge of the partial derivative of the option pricing formula with respect to volatility ( vega ) when searching for the implied volatility . For some options (exotic and American options in particular), vega is not known analytically. The bisection method is an even simpler method to estimate implied volatility when vega is unknown. The bisection method requires two initial volatility estimates (seed values):

1. A "low" estimate of the implied volatility , al, corresponding to an option value, CL
2. A "high" volatility estimate, aH, corresponding to an option value, CH

The option market price, Cm , lies between CL and cH . The bisection estimate is given as the linear interpolation between the two estimates:

v(i + 1) = v(L) + (c(m) - c(L)) * (v(H) - v(L)) / (c(H) - c(L))

Replace v(L) with v(i + 1) if c(v(i + 1)) < c(m), or else replace v(H) with v(i + 1) if c(v(i + 1)) > c(m) until |c(m) - c(v(i + 1))| <= E, at which point v(i + 1) is the implied volatility and E is the desired degree of accuracy.

Implied Volatility: Newton-Raphson Method
The Newton-Raphson method is an efficient way to find the implied volatility of an option contract. It is nothing more than a simple iteration technique for solving one-dimensional nonlinear equations (any introductory textbook in calculus will offer an intuitive explanation). The method seldom uses more than two to three iterations before it converges to the implied volatility . Let

v(i + 1) = v(i) + (c(v(i)) - c(m)) / (dc / dv (i))

until |c(m) - c(v(i + 1))| <= E at which point v(i + 1) is the implied volatility , E is the desired degree of accuracy, c(m) is the market price of the option, and dc/ dv (i) is the vega of the option evaluaated at v(i) (the sensitivity of the option value for a small change in volatility ).

Things to know
  • Only works on the daily timeframe and for the current source price.
  • You can adjust the text size to fit the screen

Related indicators:
BSM OPM 1973 w/ Continuous Dividend Yield

Black-Scholes 1973 OPM on Non-Dividend Paying Stocks

Generalized Black-Scholes-Merton w/ Analytical Greeks

Generalized Black-Scholes-Merton Option Pricing Formula

Sprenkle 1964 Option Pricing Model w/ Num. Greeks

Modified Bachelier Option Pricing Model w/ Num. Greeks

Bachelier 1900 Option Pricing Model w/ Numerical Greeks

Mã nguồn mở

Với tinh thần TradingView, tác giả của tập lệnh này đã xuất bản nó dưới dạng mã nguồn mở, vì vậy các nhà giao dịch có thể hiểu và xác minh nó. Chúc mừng tác giả! Bạn có thể sử dụng mã này miễn phí, nhưng việc sử dụng lại mã này trong một ấn phẩm chịu sự điều chỉnh của Nội quy nội bộ. Bạn có thể yêu thích nó để sử dụng nó trên biểu đồ.

Thông báo miễn trừ trách nhiệm

Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.

Bạn muốn sử dụng tập lệnh này trên biểu đồ?