Class StulzEngine
- Namespace
- NanoQL.PricingEngines
- Assembly
- NanoQL.dll
Stulz's engine for a European option on the minimum or the maximum of two assets: R. Stulz, "Options on the Minimum or the Maximum of Two Risky Assets", Journal of Financial Economics 10 (1982), 161-185.
public static class StulzEngine
- Inheritance
-
StulzEngine
- Inherited Members
Remarks
The bivariate normal is QuantLib's default, BivariateCumulativeNormalDistributionWe04DP. Each
forward reads its own process's curves and the payoff is discounted on the first process's risk-free curve, where
QuantLib builds the second forward on the first process's discount
(Divergences/TwoAssetTwoRiskFreeCurvesTests.cs);
each structure is read by date and accrues nothing before its reference date
(Divergences/TwoAssetMismatchedTimesTests.cs).
Where the assets move together, a combined deviation of zero (a correlation of 1 with equal volatilities, or two
zero volatilities), the minimum is the asset of the smaller forward and the maximum that of the larger, each priced
by Black's formula, where QuantLib's derived correlations are NaN or infinite and refused; an asset of zero
volatility reads the bivariate normal at an infinite bound, its limit (Divergences/StulzDegenerateTests.cs).
At a negative strike the payoffs are linear: a call is the call struck at zero less the discounted strike, a put
is worth nothing, where QuantLib takes the log of a negative ratio (Divergences/StulzNegativeStrikeTests.cs).
Methods
Calculate(BasketOption, EvaluationContext, GeneralizedBlackScholesProcess, GeneralizedBlackScholesProcess, double)
Prices a European option on the minimum or the maximum of two assets: QuantLib's calculate.
public static MultiAssetOptionResults Calculate(BasketOption option, EvaluationContext context, GeneralizedBlackScholesProcess process1, GeneralizedBlackScholesProcess process2, double correlation)
Parameters
optionBasketOptionThe option, on a MinBasketPayoff or MaxBasketPayoff over a plain vanilla payoff.
contextEvaluationContextThe evaluation context.
process1GeneralizedBlackScholesProcessThe first asset's process.
process2GeneralizedBlackScholesProcessThe second asset's process.
correlationdoubleThe correlation of the two assets.
Returns
- MultiAssetOptionResults
The option's results: the value; the expired results when it has expired.
Exceptions
- ArgumentNullException
An argument is null.
- NanoQLException
The exercise isn't European, or the payoff isn't a minimum or maximum basket over a plain vanilla payoff.