spreadbykirk
Price European spread options using Kirk pricing model
Description
returns the price for a European spread option using the Kirk pricing model.Price
= spreadbykirk(RateSpec
,StockSpec1
,StockSpec2
,Settle
,Maturity
,OptSpec
,Strike
,Corr
)
Examples
Compute the Price of a Spread Option Using the Kirk Model
Define the spread option dates.
Settle = '01-Jan-2012'; Maturity = '01-April-2012';
Define asset 1. Price and volatility of RBOB gasoline
Price1gallon = 2.85; % $/gallon Price1 = Price1gallon * 42; % $/barrel Vol1 = 0.29;
Define asset 2. Price and volatility of WTI crude oil
Price2 = 93.20; % $/barrel
Vol2 = 0.36;
Define the correlation between the underlying asset prices of asset 1 and asset 2.
Corr = 0.42;
Define the spread option.
OptSpec = 'call';
Strike = 20;
Define the RateSpec
.
rates = 0.05; Compounding = -1; Basis = 1; RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle, ... 'EndDates', Maturity, 'Rates', rates, ... 'Compounding', Compounding, 'Basis', Basis)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.9876
Rates: 0.0500
EndTimes: 0.2500
StartTimes: 0
EndDates: 734960
StartDates: 734869
ValuationDate: 734869
Basis: 1
EndMonthRule: 1
Define the StockSpec
for the two assets.
StockSpec1 = stockspec(Vol1, Price1)
StockSpec1 = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.2900
AssetPrice: 119.7000
DividendType: []
DividendAmounts: 0
ExDividendDates: []
StockSpec2 = stockspec(Vol2, Price2)
StockSpec2 = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.3600
AssetPrice: 93.2000
DividendType: []
DividendAmounts: 0
ExDividendDates: []
Compute the European spread option price based on the Kirk model.
Price = spreadbykirk(RateSpec, StockSpec1, StockSpec2, Settle, ...
Maturity, OptSpec, Strike, Corr)
Price = 11.1904
Input Arguments
StockSpec1
— Stock specification for underlying asset 1
structure
Stock specification for underlying asset 1. For information on the stock specification,
see stockspec
.
stockspec
can handle other types of underlying
assets. For example, for physical commodities the price is represented by
StockSpec.Asset
, the volatility is represented by
StockSpec.Sigma
, and the convenience yield is represented by
StockSpec.DividendAmounts
.
Data Types: struct
StockSpec2
— Stock specification for underlying asset 2
structure
Stock specification for underlying asset 2. For information on the stock specification,
see stockspec
.
stockspec
can handle other types of underlying
assets. For example, for physical commodities the price is represented by
StockSpec.Asset
, the volatility is represented by
StockSpec.Sigma
, and the convenience yield is represented by
StockSpec.DividendAmounts
.
Data Types: struct
Settle
— Settlement dates for spread option
serial date number | vector of serial date numbers | date character vector | cell array of character vectors
Settlement dates for the spread option, specified as date character vectors or as serial
date numbers using a NINST
-by-1
vector or cell array of
character vector dates.
Data Types: double
| char
| cell
Maturity
— Maturity date for spread option
serial date number | vector of serial date numbers | date character vector | cell array of date character vectors
Maturity date for spread option, specified as date character vectors or as serial date
numbers using a NINST
-by-1
vector or cell array of
character vector dates.
Data Types: double
| char
| cell
OptSpec
— Definition of option
character vector with values 'call'
or
'put'
| cell array of character vectors
Definition of option as 'call'
or 'put'
, specified
as a NINST
-by-1
cell array of character vectors.
Data Types: cell
| char
Strike
— Option strike price values
integer | vector of integers
Option strike price values, specified as an integer using a
NINST
-by-1
vector of strike price values.
If Strike
is equal to 0
, the function computes the
price of an exchange option.
Data Types: single
| double
Corr
— Correlation between underlying asset prices
integer | vector of integers
Correlation between underlying asset prices, specified as an integer using a
NINST
-by-1
vector.
Data Types: single
| double
Output Arguments
Price
— Expected prices of spread option
vector
Expected prices of the spread option, returned as a
NINST
-by-1
vector.
More About
Spread Option
A spread option is an option written on the difference of two underlying assets.
For example, a European call on the difference of two assets X1 and X2 would have the following pay off at maturity:
where:
K is the strike price.
For more information, see Spread Option.
References
[1] Carmona, R., Durrleman, V. “Pricing and Hedging Spread Options.” SIAM Review. Vol. 45, No. 4, pp. 627–685, Society for Industrial and Applied Mathematics, 2003.
Version History
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)