Math Problem Statement
import numpy as np
Parameters given in the problem
r0 = 0.05 # initial short rate (5%) u = 1.1 # up factor d = 0.9 # down factor q = 0.5 # probability of up move t_expiration = 6 # expiration time for the option strike_price = 80 # strike price for the option
Build the short-rate binomial tree for 10 periods
n = 10 r = np.zeros((n+1, n+1)) r[0, 0] = r0
for i in range(1, n+1): for j in range(i+1): if j == 0: r[j, i] = r[j, i-1] * u else: r[j, i] = r[j-1, i-1] * d
Initialize bond prices at maturity t = 10 (ZCB with face value 100)
bond_prices = np.zeros((n+1, n+1)) bond_prices[:, n] = 100
Backward induction to compute bond prices at each node
for i in range(n-1, -1, -1): for j in range(i+1): bond_prices[j, i] = (q * bond_prices[j, i+1] + (1-q) * bond_prices[j+1, i+1]) / (1 + r[j, i])
Initialize the option values at expiration (t=6) based on the strike price
option_values = np.maximum(bond_prices[:, t_expiration] - strike_price, 0)
Backward induction to compute the option price at t=0, considering early exercise
for i in range(t_expiration-1, -1, -1): for j in range(i+1):
Discounted expected option value if held to the next period
hold_value = (q * option_values[j+1] + (1-q) * option_values[j]) / (1 + r[j, i])
Immediate exercise value
exercise_value = bond_prices[j, i] - strike_price
Option value is the maximum of holding and exercising
option_values[j] = max(hold_value, exercise_value)
The price of the American call option at time 0 is option_values[0]
american_call_price_at_time_0 = round(option_values[0], 2) print("The price of the American call option is:", american_call_price_at_time_0)
Solution
Ask a new question for Free
By Image
Drop file here or Click Here to upload
Math Problem Analysis
Mathematical Concepts
Finance
Binomial Trees
Option Pricing
Interest Rates
Formulas
Binomial option pricing formula
Theorems
-
Suitable Grade Level
Undergraduate level
Related Recommendation
Binomial Model Option Pricing for a Call and Put Option with Strike Price $28
Binomial Tree Model: State Price Deflator and Non-standard Option Pricing
Minimum Gain from an Arbitrage Portfolio with European Calls and Stock Short-Sale
Time to Maturity Calculation for a European Call Option with a Strike Price of $110
Pricing a $90-Strike European Put Option Using a Binomial Tree