Retrieving Svensson's model parameters - On what order are these parameters provided?

After creating a Svensson model I would like to store the parameters calculated by the fitSvensson function.
I already know I can get the six parameters (Beta0, Beta1, Beta2, Beta3, Tau1, Tau2) from the model's "Parameters" attribute but I have no idea about on what order are these parameters provided. I searched the documentation but up to this time I found no reference to this information.
The example (below - and _ here _) doesn't help very much.
Settle = repmat(datenum('30-Apr-2008'),[6 1]);
Maturity = [datenum('07-Mar-2009');datenum('07-Mar-2011');...
datenum('07-Mar-2013');datenum('07-Sep-2016');...
datenum('07-Mar-2025');datenum('07-Mar-2036')];
CleanPrice = [100.1;100.1;100.8;96.6;103.3;96.3];
CouponRate = [0.0400;0.0425;0.0450;0.0400;0.0500;0.0425];
Instruments = [Settle Maturity CleanPrice CouponRate];
PlottingPoints = datenum('07-Mar-2009'):180:datenum('07-Mar-2036');
Yield = bndyield(CleanPrice,CouponRate,Settle,Maturity);
SvenssonModel = IRFunctionCurve.fitSvensson('Zero',datenum('30-Apr-2008'),Instruments);
SvenssonModel.Parameters
ans =
0.0002 3.7616 -24.5489 34.3165 10.8867 11.9282
Which one is Beta1? Which one is Tau2? Any clues?
Thank you in advance and Merry Christmas to all of you!
Fernando

3 commentaires

After trying to figure which parameter corresponds to each of Svensson's Betas and Taus (without success) I found out that the formula presented in Mathworks's URL doesn't match Svensson's formula.
seems to be different from the next one (the original Svensson's formula)
The differences are on some minus signs.
Am I missing something?
Any help will be appreciated.
Fernando
I tried to use the parameters in the following order: Beta0, Beta1, Beta2, Beta3, Tau1 and Tau2.
In the original formula the results found are different from those calculated by the getZeroRates method on my SvenssonModel.
Using the formula presented in Mathworks' URL the results don't make any sense.
I also tried other parameter combinations but the results got even worse. It seems that either I am unable to find the right combination of the parameters or the formula used to calculate the zero rate is a bit different from each of the formulas in the previous comment.
Hi, Im trying to get parameters but receiving an error 'No appropriate method, property, or field Parameters for class IRFunctionCurve' can you pls help me on that thnks

Connectez-vous pour commenter.

 Réponse acceptée

According to the source code (IRFunctionCurve.m):
% The fitted parameters can be recovered from the Parameters % field and are the following: (Beta0, Beta1, Beta2, Beta3, % Tau1, Tau2)

1 commentaire

The problem is solved.
Do not pay attention to the "Svenson's function" provided in MatLab's online documentation. Use the original one. It works.
Furthermore, bear in mind that each unity of maturity corresponds to a full year, so if you plan to calculate the interest rate of a single day and your basis is BUS/252 make sure your maturity parameter is 1/252.
Hope this helps.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by