chooserbybls
Price European simple chooser options using Black-Scholes model
Description
Examples
Price European Simple Chooser Options Using the Black-Scholes Model
Consider a European chooser option with an exercise price of $60 on June 1, 2007. The option expires on December 2, 2007. Assume the underlying stock provides a continuous dividend yield of 5% per annum, is trading at $50, and has a volatility of 20% per annum. The annualized continuously compounded risk-free rate is 10% per annum. Assume that the choice must be made on August 31, 2007. Using this data:
AssetPrice = 50; Strike = 60; Settlement = datetime(2007,1,1); Maturity = datetime(2007,12,2); ChooseDate = datetime(2007,8,31); RiskFreeRate = 0.1; Sigma = 0.20; Yield = 0.05
Yield = 0.0500
Define the RateSpec
and StockSpec
.
RateSpec = intenvset('Compounding', -1, 'Rates', RiskFreeRate, 'StartDates',... Settlement, 'EndDates', Maturity); StockSpec = stockspec(Sigma, AssetPrice,'continuous',Yield);
Price the chooser option.
Price = chooserbybls(RateSpec, StockSpec, Settlement, Maturity,...
Strike, ChooseDate)
Price = 9.2781
Input Arguments
StockSpec
— Stock specification for underlying asset
structure
Stock specification for underlying asset, specified using
StockSpec
obtained from stockspec
. For information
on the stock specification, see stockspec
.
stockspec
can handle other
types of underlying assets. For example, stocks, stock indices, and
commodities. If dividends are not specified in StockSpec
,
dividends are assumed to be 0
.
Note
Only dividends of type continuous
can be
considered for choosers.
Data Types: struct
Settle
— Settlement or trade dates
datetime array | string array | date character vector
Settlement or trade dates, specified using an
NINST
-by-1
vector using a datetime
array, string array, or date character vectors. Settle
must be earlier than Maturity
.
To support existing code, chooserbybls
also
accepts serial date numbers as inputs, but they are not recommended.
Maturity
— Maturity date
datetime array | string array | date character vector
Maturity date, specified as an
NINST
-by-1
vector using a datetime
array, string array, or date character vectors.
To support existing code, chooserbybls
also
accepts serial date numbers as inputs, but they are not recommended.
Strike
— Option strike price value
nonnegative integer
Option strike price value, specified with a
NINST
-by-1
vector of nonnegative
integers.
Data Types: double
ChooseDate
— Chooser dates
datetime array | string array | date character vector
Choose dates, specified with a
NINST
-by-1
vector using a datetime
array, string array, or date character vectors.
To support existing code, chooserbybls
also
accepts serial date numbers as inputs, but they are not recommended.
Output Arguments
Price
— Expected prices
vector
Expected prices, returned as an
NINST
-by-1
vector.
References
[1] Rubinstein, Mark. "Options for the Undecided." Risk. Vol 4, 1991.
Version History
Introduced in R2008bR2022b: Serial date numbers not recommended
Although chooserbybls
supports serial date numbers,
datetime
values are recommended instead. The
datetime
data type provides flexible date and time
formats, storage out to nanosecond precision, and properties to account for time
zones and daylight saving time.
To convert serial date numbers or text to datetime
values, use the datetime
function. For example:
t = datetime(738427.656845093,"ConvertFrom","datenum"); y = year(t)
y = 2021
There are no plans to remove support for serial date number inputs.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)