Multiple Asset Options
Multiple asset options, as the name implies, are options whose payoff is based on two (or more) assets. The two assets are associated with one another with the correlation coefficient.
Multiple asset option functions:
Dual Strike 
A dual strike option is an American (European) option whose payoff involves receiving the best payoff of two standard American (European) style plain options. These options have two underlying assets and two strike prices. The payoff of a dual strike call option is the maximum of asset one minus strike one or asset two minus strike two. The payoff of a dual strike put option is the maximum of strike one minus asset one or strike two minus asset two. The payoff of a reverse dual strike call option is the maximum of asset one minus strike one or strike two minus asset two. The payoff of a reverse dual strike put option is the maximum of strike one minus asset one or asset two minus strike two. A binomial lattice is used for the numerical calculation of an American or European style dual strike and reverse dual strike options. The FinOptions function DualStrikeBin can be used to evaluate American or European style dual strike or reverse dual strike options. 


Exchange 
The exchange option gives the holder the right to exchange one asset for another. The payoff for this option is the difference between the prices of the two assets at expiration. The analytical calculation of European exchange option is based on a modified Black Scholes formula originally introduced by Margrabe (1978). A binomial lattice is used for the numerical calculation of an American or European style exchange option. The FinOptions functions Exchange and ExchangeBin can be used to evaluate exchange options with European or American exercise types, respectively. 


Exchange on Exchange 
Exchange options on exchange options can be found embedded in many sequential exchange opportunities [1]. As an example, a bond holder converting into a stock, later exchanging the shares received for stocks of an acquiring firm. This complex option can be priced analytically using a model introduced by Carr (1988). The FinOptions function ExchOnExch can be used to evaluate European exchange options on exchange options. 


Portfolio 
A portfolio option is an American (or European) style option on the maximum of the sum of the prices of two assets and a fixed strike price. A portfolio call option on two assets S1 and S2 with a strike price X has a payoff of max((S1+S2)X,0) and a put option has a payoff of max((X(S1+S2),0). A binomial lattice is used for the numerical calculation of an American or European style portfolio options. The FinOptions function PortfolioBin can be used to evaluate American or European style portfolio options. 


Rainbow 
A rainbow option is an American (or European) style option on the maximum (or minimum) of two underlying assets. These types of rainbow options are generally referred to as twocolor rainbow options. There are four general types of twocolor rainbow options: maximum or best of two risky assets, the minimum or worst of two risky assets, the better of two risky assets, and the worse of two risky assets. A maximum rainbow call option on two assets S1 and S2 with a strike price X has a payoff of max(max(S1,S2)X,0) and a put option has a payoff of max(Xmax(S1,S2),0). A minimum rainbow call option on two assets S1 and S2 with a strike X has a payoff of max(min(S1,S2)X,0) and a put option has a payoff of max(Xmin(S1,S2),0). Set the Strike parameter to a very small number (1e8) to calculate better and worse rainbow option types. The analytical calculation of European rainbow option is based on Rubinstein’s (1991) model. A binomial lattice is used for the numerical calculation of an American or European style rainbow options. The FinOptions functions Rainbow and RainbowBin can be used to evaluate rainbow options with European or American exercise types, respectively. 


Spread 
A spread option is a standard option on the difference of the values of two assets. Spread options a related to exchange options. If the strike price is set to zero, a spread option is equivalent to an exchange option. A spread call option on two assets S1 and S2 with a strike price X has a payoff of max(S1S2X,0) and a put option has a payoff of max(XS1+S2,0). The analytical calculation of European spread option is based on GaussLegendre integration and the BlackScholes model. A binomial lattice is used for the numerical calculation of an American or European style spread options. The FinOptions functions Spread and SpreadBin can be used to evaluate spread options with European or American exercise types, respectively. 


Two Asset Correlation 
A two asset correlation options have two underlying assets and two strike prices. A two asset correlation call option on two assets S1 and S2 with a strike prices X1 and X2 has a payoff of max(S2X2,0) if S1>X1 and 0 otherwise, and a put option has a payoff of max(X2S2,0) if S1<X1 and 0 otherwise. Two asset correlation options can be priced analytically using a model introduced by Zhang (1995). The FinOptions function TwoAssetCorr can be used to evaluate European two asset correlation options. 
The DualStrikeBin function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of an American or European style dualstrike or reverse dual strike option using a three dimensional binomial model.
The Exchange function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of an American or European exchange one asset for another option using Margrabe’s model.
The ExchangeBin function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of an American or European style exchange one asset for another option using a three dimensional binomial model.
The ExchOnExch function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of a European exchange option on exchange option using Carr’s model.
The PortfolioBin function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of an American or European style portfolio option using a three dimensional binomial model.
The Rainbow function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of a European style rainbow option (options on the maximum or minimum of two risky assets) using Rubinstein’s model.
The RainbowBin function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of an American or European style rainbow option (options on the maximum or minimum of two risky assets) using a three dimensional binomial model.
The Spread function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of a European style spread option using GaussLegendre integration and the BlackScholes model.
The SpreadBin function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of an American or European style spread option using a three dimensional binomial model.
The TwoAssetCorr function calculates the theoretical price, sensitivities, the implied volatility, the implied strike and the implied correlation value of a European twoasset correlation option using Zhang’s model.
References
[1] Haug E.G., The complete guide to option pricing formulas, 1998, McGrawHill