instcbond
Construct CBond instrument for convertible bond
Syntax
Description
creates a ISet = instcbond(CouponRate,Settle,Maturity,ConvRatio)CBond instrument variable from data arrays.
creates a ISet = instcbond(___,Name,Value)CBond instrument variable from data arrays using optional
name-value pair arguments.
adds a ISet = instcbond(___,Name,Value)CBond instrument to an existing instrument set using optional
name-value pair arguments.
[
lists the field metadata for the FieldList,ClassList,TypeString]
= instcbondCBond instrument.
Examples
Create a CBond instrument.
CouponRate = 0.03; Settle = datetime(2014,1,1); Maturity = datetime(2016,1,1); CallStrike = 125; CallExDates = [datetime(2015,1,1) datetime(2016,1,1)]; ConvRatio = 1.5; Spread = 0.045; InstSet = instcbond(CouponRate,Settle,Maturity,ConvRatio,... 'Spread',Spread,'CallExDates',CallExDates,'CallStrike',CallStrike,... 'AmericanCall', 1);
Display the InstSet for the convertible bond.
instdisp(InstSet)
Index Type CouponRate Settle Maturity ConvRatio Period IssueDate FirstCouponDate LastCouponDate StartDate Face Spread CallStrike CallExDates AmericanCall PutStrike PutExDates AmericanPut ConvDates DefaultProbability RecoveryRate 1 CBond 0.03 01-Jan-2014 01-Jan-2016 1.5 2 NaN NaN NaN NaN 100 0.045 125 01-Jan-2015 01-Jan-2016 1 NaN NaN 0 01-Jan-2016 NaN NaN
Create a bond instrument using instbond.
CouponRate= [0.035;0.04]; Settle= 'Nov-1-2013'; Maturity = 'Nov-1-2014'; Period =1; InstSet = instbond(CouponRate,Settle,Maturity, ... Period);
Add a CBond instrument to the existing portfolio set.
ConvRatio = 1.5;
InstSet = instadd(InstSet,'CBond',CouponRate,Settle,Maturity,ConvRatio);
instdisp(InstSet)Index Type CouponRate Settle Maturity Period Basis EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate Face 1 Bond 0.035 01-Nov-2013 01-Nov-2014 1 0 1 NaN NaN NaN NaN 100 2 Bond 0.04 01-Nov-2013 01-Nov-2014 1 0 1 NaN NaN NaN NaN 100 Index Type CouponRate Settle Maturity ConvRatio Period IssueDate FirstCouponDate LastCouponDate StartDate Face Spread CallStrike CallExDates AmericanCall PutStrike PutExDates AmericanPut ConvDates DefaultProbability RecoveryRate 3 CBond 0.035 01-Nov-2013 01-Nov-2014 1.5 2 NaN NaN NaN NaN 100 NaN NaN NaN 0 NaN NaN 0 01-Nov-2014 NaN NaN 4 CBond 0.04 01-Nov-2013 01-Nov-2014 1.5 2 NaN NaN NaN NaN 100 NaN NaN NaN 0 NaN NaN 0 01-Nov-2014 NaN NaN
[FieldList,ClassList,TypeString] = instcbond
FieldList = 20×1 cell
{'CouponRate' }
{'Settle' }
{'Maturity' }
{'ConvRatio' }
{'Period' }
{'IssueDate' }
{'FirstCouponDate' }
{'LastCouponDate' }
{'StartDate' }
{'Face' }
{'Spread' }
{'CallStrike' }
{'CallExDates' }
{'AmericanCall' }
{'PutStrike' }
{'PutExDates' }
{'AmericanPut' }
{'ConvDates' }
{'DefaultProbability'}
{'RecoveryRate' }
ClassList = 20×1 cell
{'cell'}
{'date'}
{'date'}
{'dble'}
{'dble'}
{'date'}
{'date'}
{'date'}
{'date'}
{'cell'}
{'dble'}
{'dble'}
{'date'}
{'dble'}
{'dble'}
{'date'}
{'dble'}
{'date'}
{'dble'}
{'dble'}
TypeString = 'CBond'
Input Arguments
Bond coupon rate, specified as an NINST-by-1
positive decimal annual rate or an NINST-by-1 cell
array, where each element is a NumDates-by-2 cell array.
The first column of the NumDates-by-2 cell array is
dates and the second column is associated rates. The date indicates the last day that the
coupon rate is valid.
Data Types: double | cell
Settlement date, specified as an NINST-by-1 vector
using a datetime array, string array, or date character vectors.
Note
The Settle date for every convertible bond is set to the
ValuationDate of the stock tree. The bond argument,
Settle, is ignored.
To support existing code, instcbond also
accepts serial date numbers as inputs, but they are not recommended.
Maturity date, specified as an NINST-by-1 vector
using a datetime array, string array, or date character vectors.
To support existing code, instcbond also
accepts serial date numbers as inputs, but they are not recommended.
Number of shares convertible to one bond, specified as an
NINST-by-1 nonnegative vector.
Data Types: double
Variable containing a collection of instruments, specified as a structure. Use thus
argument to add a CBond (convertible bond) to an existing instrument set
(ISet). Instruments within ISet are broken down by
type, and each type can have different data fields. For more information on
theISet variable, see instget.
Data Types: struct
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN, where Name is
the argument name and Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name in quotes.
Example: InstSet =
instcbond(CouponRate,Settle,Maturity,ConvRatio,'Spread',Spread,'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall',
1)
Coupons per year, specified as the comma-separated pair consisting of
'Period' and a NINST-by-1
vector.
Data Types: double
Bond issue date, specified as the comma-separated pair consisting of
'IssueDate' and a NINST-by-1 vector
using a datetime array, string array, or date character vectors.
To support existing code, instcbond also
accepts serial date numbers as inputs, but they are not recommended.
Irregular first coupon date, specified as the comma-separated pair consisting of
'FirstCouponDate' and a NINST-by-1
vector using a datetime array, string array, or date character vectors
To support existing code, instcbond also
accepts serial date numbers as inputs, but they are not recommended.
Irregular last coupon date, specified as the comma-separated pair consisting of
'LastCouponDate' and a NINST-by-1
vector using a datetime array, string array, or date character vectors.
To support existing code, instcbond also
accepts serial date numbers as inputs, but they are not recommended.
Face value, specified as the comma-separated pair consisting of
'Face' and a NINST-by-1 scalar of
nonnegative face values or an NINST-by-1 cell array,
where each element is a NumDates-by-2 cell array. The
first column of the NumDates-by-2 cell array is dates
and the second column is the associated face value. The date indicates the last day that the
face value is valid.
Data Types: cell | double
Number of basis points over the reference rate, specified as the comma-separated pair
consisting of 'Spread' and a
NINST-by-1 vector.
Data Types: double
Call strike price for European, Bermuda, or American option, specified as the
comma-separated pair consisting of 'CallStrike' and one of the following
values:
For a European call option —
NINST-by-1vector of nonnegative integersFor a Bermuda call option —
NINST-by-NSTRIKESmatrix of strike price values, where each row is the schedule for one call option. If a call option has fewer thanNSTRIKESexercise opportunities, the end of the row is padded withNaNs.For an American call option —
NINST-by-1vector of strike price values for each call option.
Data Types: double
Call exercise date for European, Bermuda, or American option, specified as the
comma-separated pair consisting of 'CallExDates' and a datetime array,
string array, or date character vectors for one of the following values:
For a European option —
NINST-by-1vector of date character vectors.For a Bermuda option —
NINST-by-NSTRIKESmatrix of exercise dates, where each row is the schedule for one call option. For a European option, there is only oneCallExDateon the option expiry date.For an American option —
NINST-by-1orNINST-by-2matrix of exercise date boundaries. For each instrument, the call option can be exercised on any tree date between or including the pair of dates on that row. IfCallExDatesisNINST-by-1, the call option can be exercised between theValuationDateof the stock tree and the single listedCallExDate.
To support existing code, instcbond also
accepts serial date numbers as inputs, but they are not recommended.
Call option type, specified as the comma-separated pair consisting of
'AmericanCall' and a NINST-by-1
vector with positive integer flags with values 0 or 1.
For a European or Bermuda option —
AmericanCallis0for each European or Bermuda option.For an American option —
AmericanCallis1for each American option. TheAmericanCallargument is required to invoke American exercise rules.
Data Types: double
Put strike values for a European, Bermuda, or American option, specified as the
comma-separated pair consisting of 'PutStrike' and one of the following
values:
For a European put option —
NINST-by-1vector of nonnegative integersFor a Bermuda put option —
NINST-by-NSTRIKESmatrix of strike price values, where each row is the schedule for one put option. If a put option has fewer thanNSTRIKESexercise opportunities, the end of the row is padded withNaNs.For an American put option —
NINST-by-1vector of strike price values for each put option.
Data Types: double
Put exercise date for a European, Bermuda, or American option, specified as the
comma-separated pair consisting of 'PutExDates' and a datetime array,
string array, or date character vectors for one of the following values:
For a European option —
NINST-by-1vector date character vectors.For a Bermuda option —
NINST-by-NSTRIKESmatrix of exercise dates, where each row is the schedule for one put option. For a European option, there is only onePutExDateon the option expiry date.For an American option —
NINST-by-1orNINST-by-2matrix of exercise date boundaries. For each instrument, the put option can be exercised on any tree date between or including the pair of dates on that row. IfPutExDatesisNINST-by-1, the put option can be exercised between theValuationDateof the stock tree and the single listedPutExDate.
To support existing code, instcbond also
accepts serial date numbers as inputs, but they are not recommended.
Put option type, specified as the comma-separated pair consisting of
'AmericanPut' and a NINST-by-1
vector with positive integer flags with values 0 or 1.
For a European or Bermuda option —
AmericanPutis0for each European or Bermuda option.For an American option —
AmericanPutis1for each American option. TheAmericanPutargument is required to invoke American exercise rules.
Data Types: double
Convertible dates, specified as the comma-separated pair consisting of
'ConvDates' and a NINST-by-1 or
NINST-by-2 vector using a datetime array, string
array, or date character vectors. If ConvDates is not specified, the bond
is always convertible until maturity.
To support existing code, instcbond also
accepts serial date numbers as inputs, but they are not recommended.
For each instrument, the bond can be converted on any tree date between or including the pair of dates on that row.
If ConvDates is NINST-by-1, the
bond can be converted between the ValuationDate of the stock tree and the
single listed ConvDates.
Output Arguments
Variable containing a collection of instruments, returned as a row vector or character
vector for each instrument. Instruments are broken down by type and each type can have
different data fields. For more information on theISet variable, see
instget.
Name of each data field for instrument type, returned as an
NFIELDS-by-1 cell array of character vectors.
Data class of each field, returned as an
NFIELDS-by-1 cell array of character vectors with valid
character vector values of 'dble', 'date', and
'char'.
Type of instrument added, returned as character vector. When adding a
CBond, the TypeString =
'CBond'.
More About
A convertible bond is a type of hybrid security that combines features of both debt and equity; it is bond that can be converted into a predetermined number of shares of the issuing company's stock at the bondholder's discretion, usually at specific times during its life.
Upon call, the bondholder can either convert the bond or redeem at the call price. This option enables the issuer to control the price of the convertible bond and, if necessary, refinance the debt with a new cheaper one.
Version History
Introduced in R2015aAlthough instcbond 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.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)