Visit the Mathema Option Pricing System for foreign exchange options and structured product valuation!
Asian options are a type of option where the final payoff is based on the average price of the underlying asset over a specified period. The mathematical definition of sampling frequency, averaging period, and averaging type can vary.
Asian options include average rate options and average strike options . Average rate options pay the difference between the average price of the underlying asset and the strike price, while average strike options pay the difference between the underlying asset price at maturity and the average price of the underlying asset. The strike price for the latter is thus determined at the option's maturity.
S : Underlying asset price (spot price)K : Strike price of the optionΣ : Volatility of the underlying asset at maturityT : Time to maturity (in years)t : Time interval to the calculation date (in years)T - t : Remaining time to maturity (in years)R : Continuous risk-free interest rate at maturityQ : Continuous dividend yield during the option's lifeB : Cost of carry for the underlying assetΠ : Premium for call or put optionC : Call option premiumP : Put option premiumN(x) : Cumulative normal distribution function:N ( x ) = ∫ − ∞ x 1 2 π × e − x 2 2 d x N(x)=\int\limits_{-\infty}^{x}\frac{1}{\sqrt{2\pi}}\times e^{-\frac{x^2}{2}}dx N ( x ) = − ∞ ∫ x 2 π 1 × e − 2 x 2 d x
n(x) : Standard normal density function:n ( x ) = 1 2 π × e − x 2 2 n(x)=\frac{1}{\sqrt{2\pi}}\times e^{-\frac{x^2}{2}} n ( x ) = 2 π 1 × e − 2 x 2
N : Number of fixingsτ : Time from calculation date to expiry:τ = Expiry − Calcdate 365 \tau = \frac{\text{Expiry} - \text{Calcdate}}{365} τ = 365 Expiry − Calcdate
If:F = Calcdate − Startdate 365 ≤ 0 F = \frac{\text{Calcdate} - \text{Startdate}}{365} \leq 0 F = 365 Calcdate − Startdate ≤ 0
(before the first fixing date), set j = 0 and B = 1 . Otherwise:j = ⌊ n − F F + τ ⌋ j = \left\lfloor \frac{n - F}{F + \tau} \right\rfloor j = ⌊ F + τ n − F ⌋
(integer), andB = B s a ( j ) B = B^{sa}(j) B = B s a ( j )
The payoff for an Asian geometric rate option is calculated as:
A G E R A T E C a l l / P u t = w × S × A s a ( j ) × e − q × T 1 N ( w × d + w × σ × T 2 ) − w × K × e − r × T N ( w × d ) \begin{aligned} AGERATE_{Call/Put} &= w \times S \times A^{sa}(j) \times e^{-q \times T_1} N(w \times d + w \times \sigma \times \sqrt{T_2}) \\ &\quad - w \times K \times e^{-r \times T} N(w \times d) \end{aligned} A GER A T E C a ll / P u t = w × S × A s a ( j ) × e − q × T 1 N ( w × d + w × σ × T 2 ) − w × K × e − r × T N ( w × d )
Where:
A_sa(j) :A s a ( j ) = e − r × ( τ − T 1 ) − σ 2 × ( T 1 − T 2 ) / 2 × B s a ( j ) A^{sa}(j) = e^{-r \times (\tau - T_1) - \sigma^2 \times (T_1 - T_2) / 2} \times B^{sa}(j) A s a ( j ) = e − r × ( τ − T 1 ) − σ 2 × ( T 1 − T 2 ) /2 × B s a ( j )
B_sa(j) :B s a ( 0 ) = 1 , B s a ( j ) = ( ∏ i = 1 j S ( τ − ( n − i ) h ) S ) 1 / n for 1 ≤ j ≤ n B^{sa}(0) = 1, \quad B^{sa}(j) = \left( \prod_{i=1}^{j} \frac{S(\tau - (n - i)h)}{S} \right)^{1/n} \quad \text{for } 1 \leq j \leq n B s a ( 0 ) = 1 , B s a ( j ) = ( i = 1 ∏ j S S ( τ − ( n − i ) h ) ) 1/ n for 1 ≤ j ≤ n
d :d = ln ( S K ) + ( r − q − 1 2 σ 2 ) × T 1 + ln [ B s a ( j ) ] σ T 2 d = \frac{\ln\left(\frac{S}{K}\right) + \left(r - q - \frac{1}{2}\sigma^2\right) \times T_1 + \ln\left[B^{sa}(j)\right]}{\sigma \sqrt{T_2}} d = σ T 2 ln ( K S ) + ( r − q − 2 1 σ 2 ) × T 1 + ln [ B s a ( j ) ]
T_1 :T 1 = n − j n × [ τ − h ( n − j − 1 ) 2 ] T_1 = \frac{n - j}{n} \times \left[\tau - \frac{h(n - j - 1)}{2}\right] T 1 = n n − j × [ τ − 2 h ( n − j − 1 ) ]
T_2 :T 2 = τ × ( n − j n ) 2 − ( n − j ) ( n − j − 1 ) ( 4 n − 4 j + 1 ) 6 n 2 h T_2 = \tau \times \left(\frac{n - j}{n}\right)^2 - \frac{(n - j)(n - j - 1)(4n - 4j + 1)}{6n^2} h T 2 = τ × ( n n − j ) 2 − 6 n 2 ( n − j ) ( n − j − 1 ) ( 4 n − 4 j + 1 ) h
The payoff for an Asian geometric strike option is calculated as:
A G E S T R K C a l l / P u t = w × S × [ e − q × t N ( w × d 1 ) − A s a ( j ) × e − q × T 1 N ( w × d 2 ) ] \begin{aligned} AGESTRK_{Call/Put} &= w \times S \times \left[ e^{-q \times t} N(w \times d_1) - A^{sa}(j) \times e^{-q \times T_1} N(w \times d_2) \right] \end{aligned} A GESTR K C a ll / P u t = w × S × [ e − q × t N ( w × d 1 ) − A s a ( j ) × e − q × T 1 N ( w × d 2 ) ]
Where:
A_sa(j) :A s a ( j ) = e − r × ( τ − T 1 ) − σ 2 × ( T 1 − T 2 ) / 2 × B s a ( j ) A^{sa}(j) = e^{-r \times (\tau - T_1) - \sigma^2 \times (T_1 - T_2) / 2} \times B^{sa}(j) A s a ( j ) = e − r × ( τ − T 1 ) − σ 2 × ( T 1 − T 2 ) /2 × B s a ( j )
d_2 :d 2 = − ln [ B s a ( j ) ] + ( r − q − 1 2 σ 2 ) × ( τ − T 1 ) + σ 2 ( ρ τ × T 2 − 1 ) σ τ e d_2 = \frac{-\ln\left[B^{sa}(j)\right] + \left(r - q - \frac{1}{2}\sigma^2\right) \times (\tau - T_1) + \sigma^2 \left(\rho \sqrt{\tau \times T_2} - 1\right)}{\sigma \sqrt{\tau_e}} d 2 = σ τ e − ln [ B s a ( j ) ] + ( r − q − 2 1 σ 2 ) × ( τ − T 1 ) + σ 2 ( ρ τ × T 2 − 1 )
d_1 :d 1 = d 2 + σ τ e d_1 = d_2 + \sigma \sqrt{\tau_e} d 1 = d 2 + σ τ e
T_1 :T 1 = n − j n × [ τ − h ( n − j − 1 ) 2 ] T_1 = \frac{n - j}{n} \times \left[\tau - \frac{h(n - j - 1)}{2}\right] T 1 = n n − j × [ τ − 2 h ( n − j − 1 ) ]
T_2 :T 2 = τ × ( n − j n ) 2 − ( n − j ) ( n − j − 1 ) ( 4 n − 4 j + 1 ) 6 n 2 h T_2 = \tau \times \left(\frac{n - j}{n}\right)^2 - \frac{(n - j)(n - j - 1)(4n - 4j + 1)}{6n^2} h T 2 = τ × ( n n − j ) 2 − 6 n 2 ( n − j ) ( n − j − 1 ) ( 4 n − 4 j + 1 ) h
τ_e :τ e = τ − 2 ρ τ × T 2 + T 2 \tau_e = \tau - 2 \rho \sqrt{\tau \times T_2} + T_2 τ e = τ − 2 ρ τ × T 2 + T 2
ρ :ρ = [ σ 2 + ( r − q − 1 2 σ 2 ) 2 τ ] ( τ − n − 1 2 h ) − [ r − q − 1 2 σ 2 ] 2 τ × T 1 σ 2 τ × T 2 \rho = \frac{\left[\sigma^2 + \left(r - q - \frac{1}{2}\sigma^2\right)^2 \tau\right] \left(\tau - \frac{n - 1}{2} h\right) - \left[r - q - \frac{1}{2}\sigma^2\right]^2 \tau \times T_1}{\sigma^2 \sqrt{\tau \times T_2}} ρ = σ 2 τ × T 2 [ σ 2 + ( r − q − 2 1 σ 2 ) 2 τ ] ( τ − 2 n − 1 h ) − [ r − q − 2 1 σ 2 ] 2 τ × T 1
An Asian arithmetic rate option must be evaluated using a lognormal approximation method because, even if the underlying asset price follows a lognormal distribution, the arithmetic average does not.
A R O C a l l / P u t [ S ( 0 ) , K ] = w e − r t N E ∗ max [ A ( t N ) − K , 0 ] = w ( e α + 1 2 ν 2 − r t N N ( w × d 1 ) − e − r t N K × N ( w × d 2 ) ) \begin{aligned} ARO_{Call/Put}[S(0), K] &= w e^{-r t_N} E^* \max\left[A(t_N) - K, 0\right] \\ &= w \left( e^{\alpha + \frac{1}{2} \nu^2 - r t_N} N(w \times d_1) - e^{-r t_N} K \times N(w \times d_2) \right) \end{aligned} A R O C a ll / P u t [ S ( 0 ) , K ] = w e − r t N E ∗ max [ A ( t N ) − K , 0 ] = w ( e α + 2 1 ν 2 − r t N N ( w × d 1 ) − e − r t N K × N ( w × d 2 ) )
Where:
d_1 :d 1 = α − ln ( K ) + ν 2 ν d_1 = \frac{\alpha - \ln(K) + \nu^2}{\nu} d 1 = ν α − ln ( K ) + ν 2
d_2 :d 2 = d 1 − ν d_2 = d_1 - \nu d 2 = d 1 − ν
α :α = 2 × ln E ∗ [ A ( t N ) ] − 1 2 ln E ∗ [ A ( t N ) 2 ] \alpha = 2 \times \ln E^*[A(t_N)] - \frac{1}{2} \ln E^*[A(t_N)^2] α = 2 × ln E ∗ [ A ( t N )] − 2 1 ln E ∗ [ A ( t N ) 2 ]
ν :ν = ln E ∗ [ A ( t N ) 2 ] − 2 × ln E ∗ [ A ( t N ) ] \nu = \sqrt{\ln E^*[A(t_N)^2] - 2 \times \ln E^*[A(t_N)]} ν = ln E ∗ [ A ( t N ) 2 ] − 2 × ln E ∗ [ A ( t N )]
An Asian arithmetic strike option must also be evaluated using a lognormal approximation method because, even if the underlying asset price follows a lognormal distribution, the arithmetic average does not.
A S O C a l l / P u t [ S ( 0 ) , K ] = w e − r T E ∗ max [ S ( T ) − A ( t N ) , 0 ] = w ( S ( t ) e − q T N ( w × d 1 ) − e α + 1 2 ν 2 − r T N ( w × d 2 ) ) \begin{aligned} ASO_{Call/Put}[S(0), K] &= w e^{-r T} E^* \max\left[S(T) - A(t_N), 0\right] \\ &= w \left( S(t) e^{-q T} N(w \times d_1) - e^{\alpha + \frac{1}{2} \nu^2 - r T} N(w \times d_2) \right) \end{aligned} A S O C a ll / P u t [ S ( 0 ) , K ] = w e − r T E ∗ max [ S ( T ) − A ( t N ) , 0 ] = w ( S ( t ) e − qT N ( w × d 1 ) − e α + 2 1 ν 2 − r T N ( w × d 2 ) )
Where:
d_1 :d 1 = ln [ S ( t ) ] + ( r − q ) T − α − 1 2 ν 2 + 1 2 Σ 2 Σ d_1 = \frac{\ln[S(t)] + (r - q) T - \alpha - \frac{1}{2} \nu^2 + \frac{1}{2} \Sigma^2}{\Sigma} d 1 = Σ ln [ S ( t )] + ( r − q ) T − α − 2 1 ν 2 + 2 1 Σ 2
d_2 :d 2 = d 1 − Σ d_2 = d_1 - \Sigma d 2 = d 1 − Σ
Σ :Σ = ν 2 + σ T 2 − 2 ρ ν σ T \Sigma = \sqrt{\nu^2 + \sigma_T^2 - 2 \rho \nu \sigma_T} Σ = ν 2 + σ T 2 − 2 ρ ν σ T
σ_T :σ T = σ T \sigma_T = \sigma \sqrt{T} σ T = σ T
α :α = 2 × ln E ∗ [ A ( t N ) ] − 1 2 ln E ∗ [ A ( t N ) 2 ] \alpha = 2 \times \ln E^*[A(t_N)] - \frac{1}{2} \ln E^*[A(t_N)^2] α = 2 × ln E ∗ [ A ( t N )] − 2 1 ln E ∗ [ A ( t N ) 2 ]
ν :ν = ln E ∗ [ A ( t N ) 2 ] − 2 × ln E ∗ [ A ( t N ) ] \nu = \sqrt{\ln E^*[A(t_N)^2] - 2 \times \ln E^*[A(t_N)]} ν = ln E ∗ [ A ( t N ) 2 ] − 2 × ln E ∗ [ A ( t N )]
ρ :ρ ν σ T = ln E ∗ [ A ( t N ) S ( T ) ] − [ α + ln S ( t ) + ( r − q ) T ] − 1 2 ν 2 \rho \nu \sigma_T = \ln E^*[A(t_N) S(T)] - \left[\alpha + \ln S(t) + (r - q) T\right] - \frac{1}{2} \nu^2 ρ ν σ T = ln E ∗ [ A ( t N ) S ( T )] − [ α + ln S ( t ) + ( r − q ) T ] − 2 1 ν 2
A S O C a l l / P u t [ S ( 0 ) , K ] = w e − r T E ∗ max [ S ( T ) − A ( t N ) , 0 ] = w ( S 2 ( t ) e − q T N ( w × d 1 ) − [ S ( t ) + X ] e ( μ − r ) T N ( w × d 2 ) ) \begin{aligned} ASO_{Call/Put}[S(0), K] &= w e^{-r T} E^* \max\left[S(T) - A(t_N), 0\right] \\ &= w \left( S_2(t) e^{-q T} N(w \times d_1) - \left[S(t) + X\right] e^{(\mu - r) T} N(w \times d_2) \right) \end{aligned} A S O C a ll / P u t [ S ( 0 ) , K ] = w e − r T E ∗ max [ S ( T ) − A ( t N ) , 0 ] = w ( S 2 ( t ) e − qT N ( w × d 1 ) − [ S ( t ) + X ] e ( μ − r ) T N ( w × d 2 ) )
Where:
X :X = N b D o n e N b T o G o × A v e X = \frac{NbDone}{NbToGo} \times Ave X = N b T o G o N b Do n e × A v e
Σ :Σ = ν 2 + σ T 2 − 2 ρ ν σ T \Sigma = \sqrt{\nu^2 + \sigma_T^2 - 2 \rho \nu \sigma_T} Σ = ν 2 + σ T 2 − 2 ρ ν σ T
σ_T :σ T = σ T \sigma_T = \sigma \sqrt{T} σ T = σ T
ρ :ρ ν σ T = ln E ∗ [ A ( t N ) S ( T ) ] − [ α + ln S ( t ) + ( r − q ) T ] − 1 2 ν 2 \rho \nu \sigma_T = \ln E^*[A(t_N) S(T)] - \left[\alpha + \ln S(t) + (r - q) T\right] - \frac{1}{2} \nu^2 ρ ν σ T = ln E ∗ [ A ( t N ) S ( T )] − [ α + ln S ( t ) + ( r − q ) T ] − 2 1 ν 2
α :α = 2 × ln E ∗ [ A ( t N ) ] − 1 2 ln E ∗ [ A ( t N ) 2 ] \alpha = 2 \times \ln E^*[A(t_N)] - \frac{1}{2} \ln E^*[A(t_N)^2] α = 2 × ln E ∗ [ A ( t N )] − 2 1 ln E ∗ [ A ( t N ) 2 ]
ν :ν = ln E ∗ [ A ( t N ) 2 ] − 2 × ln E ∗ [ A ( t N ) ] \nu = \sqrt{\ln E^*[A(t_N)^2] - 2 \times \ln E^*[A(t_N)]} ν = ln E ∗ [ A ( t N ) 2 ] − 2 × ln E ∗ [ A ( t N )]
S_2(t) :S 2 ( t ) = N b F i x i n g s N b T o G o × S ( t ) S_2(t) = \frac{NbFixings}{NbToGo} \times S(t) S 2 ( t ) = N b T o G o N b F i x in g s × S ( t )
Sig_1 :S i g 1 = ν 2 T Sig_1 = \sqrt{\frac{\nu^2}{T}} S i g 1 = T ν 2
q_1 :q 1 = r + ln S ( t ) − α − 1 2 ν 2 T q_1 = r + \frac{\ln S(t) - \alpha - \frac{1}{2} \nu^2}{T} q 1 = r + T ln S ( t ) − α − 2 1 ν 2
Rho_1 :R h o 1 = ρ ν σ T ν 2 T σ = ln E ∗ [ A ( t N ) S ( T ) ] − [ α + ln S ( t ) + ( r − q ) T ] − 1 2 ν 2 ν 2 T σ Rho_1 = \frac{\rho \nu \sigma_T}{\sqrt{\nu^2 T \sigma}} = \frac{\ln E^*[A(t_N) S(T)] - \left[\alpha + \ln S(t) + (r - q) T\right] - \frac{1}{2} \nu^2}{\sqrt{\nu^2 T \sigma}} R h o 1 = ν 2 T σ ρ ν σ T = ν 2 T σ ln E ∗ [ A ( t N ) S ( T )] − [ α + ln S ( t ) + ( r − q ) T ] − 2 1 ν 2
μ :μ = ln [ S ( t ) × e ( r − q 1 ) T + X ] ( S ( t ) + X T ) \mu = \frac{\ln\left[S(t) \times e^{(r - q_1) T} + X\right]}{\left(\frac{S(t) + X}{T}\right)} μ = ( T S ( t ) + X ) ln [ S ( t ) × e ( r − q 1 ) T + X ]
Consider an Asian geometric strike call option with an expiry date of January 1, 1999.
Spot Price (S) : 190Strike Price (K) : 200Domestic Risk-Free Rate (R) : 7% per annumDividend Yield (Q) : 5% per annumVolatility (σ) : 20% per annumCalculation Date : January 1, 1998First Fixing Date : January 1, 1998Expiry Date : January 1, 1999Number of Fixings (NbFixings) : 12import math
# Given data
S = 190
K = 200
R = 0.07
Q = 0.05
sigma = 0.2
CalcDate = "01JAN98"
FirstFixingDate = "01JAN98"
ExpiryDate = "01JAN99"
NbFixings = 12
# Calculations
h = ( 1 + 0 ) / NbFixings
T1 = (NbFixings - 0 ) / NbFixings * ( 1 - h * (NbFixings - 0 - 1 ) / 2 )
T2 = 1 * ((NbFixings - 0 ) / NbFixings) ** 2 - ((NbFixings - 0 ) * (NbFixings - 0 - 1 ) * ( 4 * NbFixings - 4 * 0 + 1 )) / ( 6 * NbFixings ** 2 ) * h
A_sa0 = math. exp ( - R * ( 1 - T1) - sigma ** 2 * (T1 - T2) / 2 ) * 1 # Assuming B_sa0 = 1
Te = 1 - 2 * A_sa0 * math. sqrt ( 1 * T1) + T1
d2_prime = ( - math. log (A_sa0) + (R - Q - sigma ** 2 / 2 ) * ( 1 - T1) + sigma ** 2 * (math. sqrt ( 1 * T2) - 1 )) / (sigma * math. sqrt (Te))
d = d2_prime + sigma * math. sqrt (Te)
print ( "A_sa0:" , A_sa0)
print ( "Te:" , Te)
print ( "d2_prime:" , d2_prime)
print ( "d:" , d)