Asian Option Related Functions
About 4 min
Asian Option Related Functions
Visit the Mathema Option Pricing System for foreign exchange options and structured product valuation!
Construction Functions
Excel: =McpAsianOption(args1, args2, args3, args4, args5, fmt='VP')
Python: McpAsianOption(*args)
- Function: Constructs an Asian option object.
- Parameters:
args1~args5 or *args
: Parameter groups, supporting the following two input methods:- First Parameter Set:
CallPut
: Option type (enumeration value, e.g.,Call
orPut
).ReferenceDate
: Trade date or valuation date.SpotPx
: Spot price.AveRate
: Initial average rate.FirstAverageDate
: Start date for averaging.ExpiryDate
: Expiry date.SettlementDate
: Settlement date.StrikePx
: Strike price.ForwardPx
: Forward price.DomesticRate
: Interest rate for currency 2.ForeignRate
: Interest rate for currency 1.BuySell
: Buy/sell direction (enumeration value, e.g.,Buy
orSell
).Volatility
: Volatility.PremiumDate
: Premium payment date.FixingFrequency
: Fixing frequency (default isMonthly
).LastAverageDate
: End date for averaging.CalculatedTarget
: Calculation target (default isCCY1
).AverageMethod
: Averaging method (default isArithmetic
).StrikeType
: Strike type (default isFixed
).PricingMethod
: Pricing method (default isBINOMIAL
).FaceAmount
: Notional amount (default is1
).NumSimulation
: Number of simulations (Monte Carlo, default is10000
).FixingDateAdjuster
: Fixing date adjustment rule (default isModifiedFollowing
).KeepEndOfMonth
: End-of-month rule (default isTrue
).FixingLongStub
: Long stub for averaging (default isFalse
).FixingEndStub
: Short stub for averaging (default isTrue
).Calendar
: Holiday calendar object.DayCounter
: Day count convention (default isAct365Fixed
).TimeStep
: Time step (default is10
).PipsUnit
: Pips unit (default is10000
).
- Second Parameter Set:
CallPut
: Option type (enumeration value).ReferenceDate
: Trade date or valuation date.SpotPx
: Spot price.AveRate
: Initial average rate.FirstAverageDate
: Start date for averaging.ExpiryDate
: Expiry date.SettlementDate
: Settlement date.StrikePx
: Strike price.DomesticRate
: Interest rate for currency 2.ForeignRate
: Interest rate for currency 1.BuySell
: Buy/sell direction (enumeration value).Volatility
: Volatility.PremiumDate
: Premium payment date.NumFixings
: Number of fixings.Calendar
: Holiday calendar object.DayCounter
: Day count convention (default isAct365Fixed
).AverageMethod
: Averaging method (default isArithmetic
).StrikeType
: Strike type (default isFixed
).PricingMethod
: Pricing method (default isBINOMIAL
).FaceAmount
: Notional amount (default is1
).TimeStep
: Time step (default is10
).NumSimulation
: Number of simulations (Monte Carlo, default is10000
).PipsUnit
: Pips unit (default is10000
).
- First Parameter Set:
fmt
: Parameter format (default is'VP'
),Excel-specific parameters.
- Returns: Asian option object.
Usage Functions
Excel: =McpPrice(Obj, isAmount)
Python: Price(*args)
- Function: Calculates the option premium.
- Parameters:
Obj
: Asian option object.isAmount
: Whether to return the amount (default isTrue
, returns the premium in currency 2;False
returns the premium in currency 1).*args
:is a dictionary, does not require the Obj parameter, other parameters are the same as those in Excel.
- Returns: Option premium.
Excel: =McpDelta(obj, isCcy2=False, isAmount=True, pricingMethod=1, isClosedFormMethod=True)
Python: Delta(isCCY2=False, isAmount=True, npricingMethod=1)
- Function: Calculates the Delta value of the option.
- Parameters:
obj
: Asian option object.isCcy2
: Whether it is for currency 2 (True
for currency 2,False
otherwise).isAmount
: Whether to calculate the amount (default isTrue
).pricingMethod
: Pricing method (default is1
).isClosedFormMethod
: Whether to use the closed-form method for Greeks calculation (default isTrue
). IfTrue
, Greeks are calculated using the Black-Scholes model regardless of the selected pricing model; otherwise, the selected model is used.
- Returns: Delta.
Excel: =McpForwardDelta(obj, isCcy2=False, isAmount=True, pricingMethod=1, isClosedFormMethod=True)
Python: ForwardDelta(isCCY2=False, isAmount=True, npricingMethod=1)
- Function: Calculates the Forward Delta value of the option.
- Parameters:
obj
: Asian option object.isCcy2
: Whether it is for currency 2 (True
for currency 2,False
otherwise).isAmount
: Whether to calculate the amount (default isTrue
).pricingMethod
: Pricing method (default is1
).isClosedFormMethod
: Whether to use the closed-form method for Greeks calculation (default isTrue
).
- Returns: Forward Delta.
Excel: =McpVega(obj, isCcy2=False, isAmount=True, pricingMethod=1, isClosedFormMethod=True)
Python: Vega(isCCY2=False, isAmount=True, npricingMethod=1)
- Function: Calculates the Vega value of the option.
- Parameters:
obj
: Asian option object.isCcy2
: Whether it is for currency 2 (True
for currency 2,False
otherwise).isAmount
: Whether to calculate the amount (default isTrue
).pricingMethod
: Pricing method (default is1
).isClosedFormMethod
: Whether to use the closed-form method for Greeks calculation (default isTrue
).
- Returns: Vega.
Excel: =McpGamma(obj, isCcy2=False, isAmount=True, pricingMethod=1, isClosedFormMethod=True)
Python: Gamma(isCCY2=False, isAmount=True, npricingMethod=1)
- Function: Calculates the Gamma value of the option.
- Parameters:
obj
: Asian option object.isCcy2
: Whether it is for currency 2 (True
for currency 2,False
otherwise).isAmount
: Whether to calculate the amount (default isTrue
).pricingMethod
: Pricing method (default is1
).isClosedFormMethod
: Whether to use the closed-form method for Greeks calculation (default isTrue
).
- Returns: Gamma.
Excel: =McpTheta(obj, isCcy2=False, isAmount=True, pricingMethod=1, isClosedFormMethod=True)
Python: Theta(isCCY2=False, isAmount=True, npricingMethod=1)
- Function: Calculates the Theta value of the option.
- Parameters:
obj
: Asian option object.isCcy2
: Whether it is for currency 2 (True
for currency 2,False
otherwise).isAmount
: Whether to calculate the amount (default isTrue
).pricingMethod
: Pricing method (default is1
).isClosedFormMethod
: Whether to use the closed-form method for Greeks calculation (default isTrue
).
- Returns: Theta.
Excel: =McpVanna(obj, isCcy2=False, isAmount=True, pricingMethod=1, isClosedFormMethod=True)
Python: Vanna(isCCY2=False, isAmount=True, npricingMethod=1)
- Function: Calculates the Vanna value of the option.
- Parameters:
obj
: Asian option object.isCcy2
: Whether it is for currency 2 (True
for currency 2,False
otherwise).isAmount
: Whether to calculate the amount (default isTrue
).pricingMethod
: Pricing method (default is1
).isClosedFormMethod
: Whether to use the closed-form method for Greeks calculation (default isTrue
).
- Returns: Vanna.
Excel: =McpVolga(obj, isCcy2=False, isAmount=True, pricingMethod=1, isClosedFormMethod=True)
Python: Volga(isCCY2=False, isAmount=True, npricingMethod=1)
- Function: Calculates the Volga value of the option.
- Parameters:
obj
: Asian option object.isCcy2
: Whether it is for currency 2 (True
for currency 2,False
otherwise).isAmount
: Whether to calculate the amount (default isTrue
).pricingMethod
: Pricing method (default is1
).isClosedFormMethod
: Whether to use the closed-form method for Greeks calculation (default isTrue
).
- Returns: Volga.
Excel: =McpRho(obj, isCcy2=False, isAmount=True, pricingMethod=1, isClosedFormMethod=True)
Python: Rho(isCCY2=False, isAmount=True, npricingMethod=1)
- Function: Calculates the Rho value of the option.
- Parameters:
obj
: Asian option object.isCcy2
: Whether it is for currency 2 (True
for currency 2,False
otherwise).isAmount
: Whether to calculate the amount (default isTrue
).pricingMethod
: Pricing method (default is1
).isClosedFormMethod
: Whether to use the closed-form method for Greeks calculation (default isTrue
).
- Returns: Rho.
Excel: =AOFixingSchedule(obj, fmt='V')
- Function: Retrieves the fixing schedule for averaging.
- Parameters:
obj
:McpAsianOption
object.fmt
: Parameter format (default is'V'
).
- Returns: Fixing schedule for averaging.