Spread Options

Overview

Spread options are options whose payoff depends on the relative performance of two assets. These options have become prevalent in commodity markets where risk management focuses heavily on basis risk. For example, refiners are exposed to price movements between the crude and the refined product; producers are exposed to price differentials between different grades of crude, whereas consumers are exposed to seasonal fluctuations in natural gas prices.

By way of example, assume an oil refiner (who is a consumer of crude and a producer of refined) wants to lock-in the margin between the price it pays for the crude and the price it receives for the refined (commonly referred to as the crack spread). The refiner could choose to use a spread option, whose payoff is based on the difference between the spot prices of the crude and the refined product.

Modeling spread options requires a different approach than modeling plain vanilla options.  Although each asset is lognormal (as with Black Scholes), the difference of two lognormal assets is not lognormal. For example, spreads can be negative. For most spread options, no simple analytic formula is available, and, as a consequence, many of the various spread options are priced using three-dimensional binomial trees or Monte Carlo simulation.

Formulas & Technical Details

Let  and  be the two underlying assets, let  be a strike price and let  equal 1 for a call and equal -1 for a put.

Spread option

The vanilla instrument in this option class is the European-style spread option with payoff

.

The payoff of a call option () is therefore the difference between the spread  and the strike , if the spread is larger than the strike, and zero otherwise. Spread options can be valued by computing the expected payoff with a numerical integration as described in [5]. The FINCAD function aaSpreadopt calculates the fair value and risk statistics for this option.

Exchange option

An exchange option is an option that gives the holder the right to exchange the asset for the asset . The payoff is

.

The valuation of a European-style exchange option can be done analytically, see [3]. The FINCAD function aaExchangeOpt calculates the fair value and risk statistics for this option.

Portfolio option

The spread option can be generalized to a portfolio of two assets with weights  and  respectively. The payoff function for this option is

A portfolio option can be valued using a three-dimensional binomial tree [1]. The FINCAD functions aaPortfolioOpt and aaPortfolioOpt_ic implement this method for American/Bermudan style portfolio options.

Binary portfolio option

The binary portfolio option pays a fixed amount of cash if the value of a two asset portfolio with weights  and  is above the strike price. Otherwise the option pays nothing. If the binary payoff is $100, then the payoff function of this option can be expressed as

.

Analogous to the portfolio option, a binary portfolio option on two assets can be valued using a three-dimensional binomial tree [1]. The FINCAD functions aaPortfolioOpt_Binary and aaPortfolioOpt_Binary_ic implement this method for American/Bermudan style options.

Asian option

Similar to options on a single asset, an Asian spread option depends on the average spread during the life of the option. The payoff is

,

where  is the arithmetic average of the spread on the sampling dates. The FINCAD functions aaAsian_spread_MC and aaAsian_spread_fs_MC value these options using Monte Carlo simulation. For a more detailed description of these path dependent options see the FINCAD Math Reference Document Asian Options.

Average-strike option

An average strike option depends on the difference of the spread at expiry  and the average spread  during the life of the option. The payoff is

.

The FINCAD functions aaAver_strk_spread_MC and aaAver_strk_spread_fs_MC calculate the fair value and deltas for these options using Monte Carlo simulation. For a more detailed description of these path dependent options see the FINCAD Math Reference Document Average-strike Options.

Lookback call option

A lookback call option pays the amount by which the spread at the expiry date is larger than the smallest spread observed during the life of the option. Thus, the payoff is

 

where  is the minimum of the spread over the sampling dates.

Lookback put option

In analogy to the lookback call option, the lookback put option pays the amount by which the largest spread observed during the life of the option is larger than the spread at the expiry date. The payoff is

 

where  is the maximum of the spread over the sampling dates.

The FINCAD functions aaLook_spread_MC and aaLook_spread_fs_MC calculate the fair value and deltas for lookback put and call spread options using Monte Carlo simulation. For more details see the Lookback Options  FINCAD Math Reference Document.

*       More details on the calculation of the Greeks can be found in the FINCAD Math Reference Document Greeks of Options on Non-Interest Rate Instruments.

FINCAD Functions

aaAsian_spread_MC (price_u1, price_u2, ex, d_v, d_exp, d_aver, average, vlt1, vlt2, rate_ann, cost_hldg1, cost_hldg2, corr, option_type, sam_freq, num_rnd, stat)

Calculates, by Monte Carlo simulation, the fair value and delta for an Asian spread option with periodic sampling points (an Asian spread option is an Asian option on the spread of two asset prices).  You may choose from 15 pre-defined sampling periods.  The accuracy of the fair value is also provided.

aaAsian_spread_fs_MC (price_u1, price_u2, ex, d_v, d_exp, d_aver, average, vlt1, vlt2, rate_ann, cost_hldg1, cost_hldg2, corr, option_type, sam_freq, num_rnd, stat)

Calculates, by Monte Carlo simulation, the fair value and delta for an Asian spread option with free-style sampling points, an Asian option on the spread of two assets. This function should be used for sampling periods that are not defined in aaAsian_spread_MC.  The accuracy of the fair value is also provided.

aaAver_strk_spread_MC (price_u1, price_u2, ex, d_v, d_exp, d_aver, average, vlt1, vlt2, rate_ann, cost_hldg1, cost_hldg2, corr, option_type, sam_freq, num_rnd, stat)

Calculates, by Monte Carlo simulation, the fair value and delta for an average-strike spread option with periodic sampling points (an average-strike spread option is an average-strike option on the spread of two assets). You may choose from 15 pre-defined sampling periods.  The accuracy of the fair value is also provided.

aaAver_strk_spread_fs_MC (price_u1, price_u2, ex, d_v, d_exp, d_aver, average, vlt1, vlt2, rate_ann, cost_hldg1, cost_hldg2, corr, option_type, sam_freq, num_rnd, stat)

Calculates, by Monte Carlo simulation, the fair value and delta for an average-strike spread option with free-style sampling points (an average-strike spread option is an average-strike option on the spread of two assets).  This function should be used for sampling periods that are not defined in aaAver_strk_spread_MC. The accuracy of the fair value is also provided.

aaLook_spread_MC (price_u1, price_u2, min_max, d_v, d_exp, d_sam_start, sam_freq, vlt1, vlt2, rate_ann, cost_hldg1, cost_hldg2, corr, option_type, num_rnd, stat)

Calculates, by Monte Carlo simulation, the fair value and delta for a discrete look spread option with periodic sampling points (a lookback spread option is a lookback option on the spread of two assets). You may choose from 15 pre-defined sampling periods.  The accuracy of fair value is also provided.

aaLook_spread_fs_MC (price_u1, price_u2, min_max, d_v, d_exp, d_sam_start, sam_freq, vlt1, vlt2, rate_ann, cost_hldg1, cost_hldg2, corr, option_type, num_rnd, stat)

Calculates, by Monte Carlo simulation, the fair value and delta for a discrete look spread option with free-style sampling points (a lookback spread option is a lookback option on the spread of two assets). This function should be used for sampling periods that are not defined in aaLook_spread_MC. The accuracy of fair value is also provided.

aaSpreadopt (price_u1, price_u2, ex, d_exp, d_v, vlt1, vlt2, rate_ann, option type, stat, iter, cost_hldg1, cost_hldg2, corr)

 Calculates the fair value and risk statistics with respect to both assets for a European option with a single strike price on the difference between the values of two risky assets.

aaPortfolioOpt (price_u1, price_u2, N1, N2, strike_tbl, d_exp, d_v, vlt1, vlt2, rate_ann, option_type, stat, iter, cost_hldg1, cost_hldg2, corr)

Calculates the fair value and risk statistics for a portfolio option. Uses a 3D binomial tree.

aaPortfolioOpt_ic (price_u1, price_u2, N1, N2, strike_tbl, d_exp, d_v, vlt1, vlt2, rate_ann, option_type, stat, iter, cost_hldg1, cost_hldg2, price)

Calculates the implied correlation for a portfolio option. Uses a 3D binomial tree.

aaPortfolioOpt_Binary (price_u1, price_u2, N1, N2, strike_tbl, d_exp, d_v, vlt1, vlt2, rate_ann, option_type, stat, iter, cost_hldg1, cost_hldg2, corr)

Calculates the fair value and risk statistics for a binary portfolio option (with a payout of 100 or nothing). Uses a 3D binomial tree.

aaPortfolioOpt_Binary_ic (price_u1, price_u2, N1, N2, strike_tbl, d_exp, d_v, vlt1, vlt2, rate_ann, option_type, stat, iter, cost_hldg1, cost_hldg2, corr)

Calculates the implied correlation for a binary portfolio option (with a payout of 100 or nothing). Uses a 3D binomial tree.

aaExchangeOpt (price_u1, price_u2, d_exp, d_v, vlt1, vlt2, rate_ann, stat, icost_hldg1, cost_hldg2, corr)

Calculates the fair value and risk statistics for a European exchange option (the right to exchange one asset for another). Uses a closed form solution.

Example

Calculate the fair value of an Asian spread call option with a strike price of 10 that has a spot price on the first underlying of 100 and a spot price of 120 for the second. The value date is December 1, 1999 and the option expires on June 1, 2000.  The averaging period commenced on May 1, 1999 and to-date the weekly average of the spread has been 20. With a correlation of 0.9, the first underlying has a volatility of 20% and the second underlying has a volatility of 23%. Both holding costs and the risk-free rate are 4% and the number of random trials is 1000.

 

Using the function aaAsian_spread_MC() we have:

aaAsian_spread_MC

Argument

Description

Example Data

Switch

price_u1

underlying price of asset 1

100

 

price_u2

underlying price of asset 2

120

 

ex

exercise price

10

 

d_v

value (settlement) date

1-Dec-1999

 

d_exp

expiry date

1-Jun-2000

 

d_aver

date when averaging starts

1-May-1999

 

average

average of  spreads up to value date

20

 

vlt1

volatility of asset 1

20%

 

vlt2

volatility of asset 2

23%

 

rate_ann

rate - annual compounding

5%

 

cost_hldg1

holding cost - asset 1

5%

 

cost_hldg2

holding cost - asset 2

5%

 

corr

correlation coefficient

0.9

 

option_type

option type

1

call

sam_freq

sampling frequency

5

weekly

num_rnd

number of random trials

1000

 

table_type

output table type

1

fair value and accuracy measure

Results

Column

Description

Value

1

fair value

9.748530504

2

accuracy

0.63719104

This option is valued at $9.748530504. Given a 95% confidence interval, one can expect the option to be worth $9.748530504 ± $0.63719104. It is worth noting that the second output table, which extends also returns the delta of each underlying, will effectively double the calculation time required. Thus, unless the deltas are required, it is recommended that one only calculate the fair value.

References

[1]          Clewlow, L, Strickland, C. (1998) Implementing Derivatives Models, Wiley.

[2]          Haug E.G. (1998) The complete guide to option pricing formulas, McGraw-Hill.

[3]          Hull J. (2005) Options, Futures, and Other Derivatives, Toronto: Prentice Hall Inc.

[4]          Rubinstein M. (1991) Asian Options, University of California at Berkeley.

[5]          Rubinstein M. (November 1991), Two-Color Rainbow Options, Risk Vol. 4. Rubinstein M. (November 1994) Return to Oz, Risk Vol. 7.

 

 

Disclaimer

 

With respect to this document, FinancialCAD Corporation (“FINCAD”) makes no warranty either express or implied, including, but not limited to, any implied warranty of merchantability or fitness for a particular purpose. In no event shall FINCAD be liable to anyone for special, collateral, incidental, or consequential damages in connection with or arising out of the use of this document or the information contained in it. This document should not be relied on as a substitute for your own independent research or the advice of your professional financial, accounting or other advisors.

 

This information is subject to change without notice. FINCAD assumes no responsibility for any errors in this document or their consequences and reserves the right to make changes to this document without notice.

 

Copyright

 

Copyright © FinancialCAD Corporation 2008. All rights reserved.