intenvprice
Price instruments from set of zero curves
Description
Examples
Load Zero Curves and Instruments from Data File
Load the zero curves and instruments.
load deriv.mat
instdisp(ZeroInstSet)
Index Type CouponRate Settle Maturity Period Basis EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate Face Name Quantity 1 Bond 0.04 01-Jan-2000 01-Jan-2003 1 NaN NaN NaN NaN NaN NaN NaN 4% bond 100 2 Bond 0.04 01-Jan-2000 01-Jan-2004 2 NaN NaN NaN NaN NaN NaN NaN 4% bond 50 Index Type CouponRate Settle Maturity FixedReset Basis Principal Name Quantity 3 Fixed 0.04 01-Jan-2000 01-Jan-2003 1 NaN NaN 4% Fixed 80 Index Type Spread Settle Maturity FloatReset Basis Principal Name Quantity 4 Float 20 01-Jan-2000 01-Jan-2003 1 NaN NaN 20BP Float 8 Index Type LegRate Settle Maturity LegReset Basis Principal LegType Name Quantity 5 Swap [0.06 20] 01-Jan-2000 01-Jan-2003 [1 1] NaN NaN [NaN] 6%/20BP Swap 10
Price the instruments.
Price = intenvprice(ZeroRateSpec, ZeroInstSet)
Price = 5×1
98.7159
97.5334
98.7159
100.5529
3.6923
Create a Float-Float Swap and Price with intenvprice
Use instswap
to create a float-float swap and price the swap with intenvprice
.
RateSpec = intenvset('Rates',.05,'StartDate',today,'EndDate',datemnth(today,60)); IS = instswap([400 200],today,datemnth(today,60),[], [], [], [0 0]); intenvprice(RateSpec,IS)
ans = 8.6440
Create Float-Float, Fixed-Fixed, and Float-Fixed Swaps and Price with intenvprice
Use instswap
to create swaps and price the swaps with intenvprice
.
RateSpec = intenvset('Rates',.05,'StartDate',today,'EndDate',datemnth(today,60)); IS = instswap([.03 .02],today,datemnth(today,60),[], [], [], [1 1]); IS = instswap(IS,[200 300],today,datemnth(today,60),[], [], [], [0 0]); IS = instswap(IS,[300 .07],today,datemnth(today,60),[], [], [], [0 1]); intenvprice(RateSpec,IS)
ans = 3×1
4.3220
-4.3220
4.5921
Input Arguments
RateSpec
— Interest-rate specification
structure
(Optional) Interest-rate specification, specified by the
RateSpec
obtained previously from
intenvset
or toRateSpec
for an
IRDataCurve
or toRateSpec
for an
IRFunctionCurve
.
Data Types: struct
InstSet
— Instrument variable containing a collection of instruments
structure
Instrument variable containing a collection of instruments, specified
using instadd
. Instruments are
categorized by type; each type can have different data fields. The stored
data field is a row vector or character vector for each instrument.
Data Types: struct
Output Arguments
Price
— Prices of each instrument
matrix
Prices of each instrument, returned as a number of instruments
(NINST
) by number of curves
(NUMCURVES
) matrix. If an instrument cannot be
priced, a NaN
is returned in that entry.
For single-type pricing functions to retrieve pricing information, see the following:
Price bonds from a set of zero curves. | |
Price arbitrary cash flow instrument from a set of zero curves. | |
Fixed-rate note prices from a set of zero curves. | |
Floating-rate note prices from a set of zero curves. | |
Swap prices from a set of zero curves. |
Version History
Introduced before R2006a
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)