We will use the Garman-Kohlhagan model (Links to an external site.) to price our options in this assignment. We will write a function that takes the option contract parameters (type–call or put, strike price, and expiration date) as well as market observations (spot exchange rate, volatility, and interest rates in both the domestic and foreign currencies) and returns the fair market value of the option contract.
The work will be decomposed into several functions and the pricing function will use these lower-level functions to calculate its result. The functions you will write are:
fx_option_price(call, strike, expiration, spot_date, spot, volatility, domestic_rate, foreign_rate)
fx_option_d2(term, volatility, d1)
fx_option_d1(strike, term, spot, volatility, domestic_rate, foreign_rate)
discount(rate, term)
years_apart(date1, date2)