IRDataCurve.bootstrap 似乎忽略了 'InstrumentBasis' 参数.

1 Ansicht (letzte 30 Tage)
雨竺 刘
雨竺 刘 am 17 Feb. 2022
Beantwortet: Aditya am 26 Feb. 2024
比如在下面这个例子中,无论我如何修改'InstrumentBasis'参数,得到的结果都不会发生变化(比如改成0,1,2,3),这种情况很不合理,希望有大神提供解决方式。
Settle=datetime(2021,8,24);
InstrumentTypes = {'Swap';'Swap';'Swap';'Swap'};
Instruments0= [datenum(Settle),datenum(Settle+calmonths(3)); ...
datenum(Settle),datenum(Settle+calmonths(6)); ...
datenum(Settle),datenum(Settle+calmonths(9)); ...
datenum(Settle),datenum(Settle+calyears(1))];
Instruments=[Instruments0 [3.85;3.8888;3.88;3.8725]/100];
bootModel = IRDataCurve.bootstrap('zero', datenum(Settle), InstrumentTypes,Instruments, ...
'Interpmethod','constant', ...
'Compounding',-1,'Basis',1,'InstrumentPeriod',4*ones(4,1),'InstrumentBasis',2*ones(4,1));
Dates=Settle + [calmonths([3 6 9 12]) ]';
DiscountFactors=bootModel.getDiscountFactors(Dates);

Antworten (1)

Aditya
Aditya am 26 Feb. 2024
The MATLAB function IRDataCurve.bootstrap is used to create an interest rate curve from market instruments. The 'InstrumentBasis' parameter specifies the day-count basis to use for each instrument when calculating cash flows and interest payments. The day-count basis can affect the discount factors and zero rates computed by the bootstrap method.
However, if you are not observing any changes in the results when modifying the 'InstrumentBasis' parameter, it could be due to one or more of the following reasons:
  1. The Same Day-Count Convention: If the day-count basis you are specifying is effectively the same for the date range and compounding frequency you are using, then the results might not change. For example, if there are no leap years involved, or if the compounding is continuous (indicated by 'Compounding', -1), the day-count basis might not make a difference.
  2. Instrument Types: Since all the instruments are of type 'Swap', they might not be sensitive to the 'InstrumentBasis' parameter in the same way that other instruments like bonds would be.
  3. Interpolation Method: The 'Interpmethod', 'constant' setting means that interpolation between known points on the curve is constant (flat). This could override some of the sensitivity you might expect from changing the 'InstrumentBasis'.

Kategorien

Mehr zu Instrument Control Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!