Table of Contents

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

option BasketOption

The option, on a MinBasketPayoff or MaxBasketPayoff over a plain vanilla payoff.

context EvaluationContext

The evaluation context.

process1 GeneralizedBlackScholesProcess

The first asset's process.

process2 GeneralizedBlackScholesProcess

The second asset's process.

correlation double

The 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.