Import options & loops for time series data

6 views (last 30 days)
Hi! I have two question. The first is about data importing. Using the "Dati BTP e BOT" dataset, I would like to set the row 8 (it refers to variable "Maturity) and column A (from row 9) as datetime and other cells have to be numbers, but in the editor there aren't ways to change this values for cells in particulare (it's possible change the first row only). Any suggestion?
As second question, I extracted a cross section of "Dati BTP e BOT" as in "test 25ago2022" file. In this I estimate parametes of Nelson-Siegel model (it's a financial model, but this isn't the point) using the following code:
%% Import data from spreadsheet
% Script for importing data from the following spreadsheet:
%
% Workbook: C:\Users\William\Desktop\test 25ago2022.xlsx
% Worksheet: 25ago2022
%
% Auto-generated by MATLAB on 30-Aug-2022 12:38:18
%% Set up the Import Options and import the data
opts = spreadsheetImportOptions("NumVariables", 3);
% Specify sheet and range
opts.Sheet = "25ago2022";
opts.DataRange = "A2:C95";
% Specify column names and types
opts.VariableNames = ["CouponRate", "Maturity", "Prezzo"];
opts.VariableTypes = ["double", "datetime", "double"];
% Specify variable properties
opts = setvaropts(opts, "Maturity", "InputFormat", "");
% Import the data
tbl = readtable("C:\Users\William\Desktop\test 25ago2022.xlsx", opts, "UseExcel", false);
%% Convert to output type
CouponRate = tbl.CouponRate;
Maturity = tbl.Maturity;
Prezzo = tbl.Prezzo;
%% Clear temporary variables
clear opts tbl
Settle = repmat(datenum('25-ago-2022'),[94,1]);
Maturity = datenum(Maturity(:,1));
CleanPrice = Prezzo(:,1);
CouponRate = CouponRate(:,1);
Instruments = [Settle Maturity CleanPrice CouponRate];
PlottingPoints = datenum(Maturity(1,1)):1:datenum(Maturity(94,1));
Yield = bndyield(CleanPrice,CouponRate,Settle,Maturity);
NSModel = IRFunctionCurve.fitNelsonSiegel('Zero',datenum('25-ago-2022'),Instruments,'InstrumentBasis',3,'InstrumentEndMonthRule',0);
NSModel.Parameters
SvenssonModel = IRFunctionCurve.fitSvensson('Zero',datenum('25-ago-2022'),Instruments);
SvenssonModel.Parameters
figure1 = figure('WindowState','maximized','Color',[1 1 1]);
plot(PlottingPoints, getParYields(SvenssonModel, PlottingPoints),'r','Color',[0 0 0],'LineWidth',0.7)
hold on
scatter(Maturity,Yield,'black',Marker='*')
datetick('x')
xlabel('Scadenza','Interpreter','latex');
ylabel('Tasso di interesse','Interpreter','latex');
set(gca,'FontSize',15,'TickLabelInterpreter','latex')
Are there ways to use this code to estimate the parameters automatically for the entire time series and get the daily output as a dataset? Using the for construct is the solution probably but I'm sure I'd some problems in defining the "settle" variable.
I hope it's clear what I mean.
  1 Comment
dpb
dpb on 30 Aug 2022
"I would like to set the row 8 (it refers to variable "Maturity) and column A (from row 9) as datetime and other cells have to be numbers,"
We can't always have what we want...no, you can't have one row in a table be a different data class/type than the others unless the whole column is a cell array containing the various types in the cell. This is possible, but then makes using the table awkward at best because then must dereference the cell every time to get to the content within the cell.
The ideal solution would be to create a corollary variable for each that is the maturity date, coupon rate, etc., ...then you have all the data for everything but at the expense of memory for the axiliary variables.
Probably the better way with these data would be to create an auxiliary table that contains these data for each issue and retrieve it by name/code; whichever it is you're using as the primary reference. The issue name is extremely long and convoluted to use as a practical name but the code ID is non-mnemonic in order to know to which one is referring to; the names are just built up from the metadata, anyways, however, so lookup manually may not be an issue, anyways; you may just process them all and then spit out those of interest by the computed metric, maybe???
I don't understand the second question, sorry...you mean to process all series/issues, not just one, maybe?

Sign in to comment.

Accepted Answer

dpb
dpb on 30 Aug 2022
Edited: dpb on 30 Aug 2022
W/o the second Q?, my approach would be something like --
First, read, create the metadata table of auxiliary data...
metadata=readcell('Dati BTP e BOT.xlsx','Sheet','BTP','Range','5:8').'; % read as cell; transpose
tMD=cell2table(metadata(2:end,:),"VariableNames",metadata(1,:)); % conveert to table use names record
tMD.Name=string(tMD.Name); % make name string variable
ix=cellfun(@isnumeric,tMD.Code); % convert code to categorical -- fixup integers first
tMD.Code(ix)=cellfun(@num2str,tMD.Code(ix),'UniformOutput',false);
tMD.Code=categorical(tMD.Code);
The above leaves you with the metadata as a table to use in conjunction with the table yet to come...
head(tMD)
ans =
8×4 table
Name Code Coupon Rate Maturity
____________________________________________________ ______ ___________ ___________
"BTP ITALY 1993 8 1/2% 22/12/23 30Y - DEFAULT PRICE" 843265 0.085 22-Dec-2023
"BTP ITALY 1993 9% 01/11/23 30Y - DEFAULT PRICE" 398016 0.09 01-Nov-2023
"BTP ITALY 1997 6 1/2% 01/11/27 30Y - DEFAULT PRICE" 613080 0.065 01-Nov-2027
"BTP ITALY 1997 7 1/4% 01/11/26 30Y - DEFAULT PRICE" 843262 0.0725 01-Nov-2026
"BTP ITALY 1998 5 1/4% 01/11/29 30Y - DEFAULT PRICE" 613875 0.0525 01-Nov-2029
"BTP ITALY 2000 6% 01/05/31 30Y - DEFAULT PRICE" 209129 0.06 01-May-2031
"BTP ITALY 2002 5 3/4% 01/02/33 30Y - DEFAULT PRICE" 20662U 0.0575 01-Feb-2033
"BTP ITALY 2003 4 1/4% 01/02/19 15Y - DEFAULT PRICE" 24988H 0.0425 01-Feb-2019
>>
To read the rest looks like --
opt=detectImportOptions('Dati BTP e BOT.xlsx','Sheet','BTP','Range','A9'); % import options object beginning at real data location, not top
vNames=opt.VariableNames; % save default names temporary
opt.VariableNames(1)={'Date'}; % set the variable names Date first
opt.VariableNames(2:end)=strrep(vNames(1:end-1),'Var','BTP'); % make up something short for each issue for convenience
tBTP=readtable('Dati BTP e BOT.xlsx',opt); % and read...
Again, this leaves you with all the data as needed to compute with...
>> head(tBTP)
ans =
8×127 table
Date BTP1 BTP2 BTP3 BTP4 BTP5 BTP6 BTP7 BTP8 BTP9 BTP10 BTP11 BTP12 BTP13 BTP14 BTP15 BTP16 BTP17 BTP18 BTP19 BTP20 BTP21 BTP22 BTP23 BTP24 BTP25 BTP26 BTP27 BTP28 BTP29 BTP30 BTP31 BTP32 BTP33 BTP34 BTP35 BTP36 BTP37 BTP38 BTP39 BTP40 BTP41 BTP42 BTP43 BTP44 BTP45 BTP46 BTP47 BTP48 BTP49 BTP50 BTP51 BTP52 BTP53 BTP54 BTP55 BTP56 BTP57 BTP58 BTP59 BTP60 BTP61 BTP62 BTP63 BTP64 BTP65 BTP66 BTP67 BTP68 BTP69 BTP70 BTP71 BTP72 BTP73 BTP74 BTP75 BTP76 BTP77 BTP78 BTP79 BTP80 BTP81 BTP82 BTP83 BTP84 BTP85 BTP86 BTP87 BTP88 BTP89 BTP90 BTP91 BTP92 BTP93 BTP94 BTP95 BTP96 BTP97 BTP98 BTP99 BTP100 BTP101 BTP102 BTP103 BTP104 BTP105 BTP106 BTP107 BTP108 BTP109 BTP110 BTP111 BTP112 BTP113 BTP114 BTP115 BTP116 BTP117 BTP118 BTP119 BTP120 BTP121 BTP122 BTP123 BTP124 BTP125 BTP126
___________ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ _____ _____ ______ ______ ______ ______ ______ ______ ______ ______ _____ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______
01-Jan-2010 138.82 147.43 122.22 131.08 107.37 116.53 113.8 103.27 103.74 103.81 89.29 97.01 106.48 103.91 103.82 101.21 105.48 103.31 {'NA'} {'NA'} NaN {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'}
04-Jan-2010 141.47 147.59 122.47 131.37 107.63 116.85 114.18 103.35 104.09 104.01 89.68 97.18 106.39 104.42 104.03 101.51 105.73 104.07 {'NA'} {'NA'} NaN {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'}
05-Jan-2010 140.55 147.7 122.43 131.29 107.57 116.72 114 103.42 104 104.08 89.52 97.22 106.41 104.24 104.1 101.59 105.73 103.75 {'NA'} {'NA'} NaN {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'}
06-Jan-2010 142.6 147.22 121.94 130.76 107.07 116.14 113.39 103.27 103.38 103.91 88.91 97.01 106.22 103.47 103.74 101.43 105.3 102.88 {'NA'} {'NA'} NaN {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'}
07-Jan-2010 142.74 147.5 122.14 130.97 107.21 116.25 113.53 103.48 103.47 104.09 89.03 97.23 106.41 103.5 103.98 101.64 105.56 102.84 {'NA'} {'NA'} NaN {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'}
08-Jan-2010 142.82 147.68 122.26 131.11 107.31 116.31 113.53 103.58 103.48 104.18 89.13 97.33 106.51 103.61 104.12 101.76 105.7 102.84 {'NA'} {'NA'} NaN {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'}
11-Jan-2010 142.91 147.74 122.07 131.03 107.13 116.08 113.23 103.76 103.31 104.4 88.98 97.4 106.69 103.36 104.18 101.93 105.68 102.62 {'NA'} {'NA'} NaN {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'}
12-Jan-2010 142.97 147.8 122.17 131.03 107.21 116.12 113.26 103.79 103.35 104.43 89.02 97.52 106.71 103.4 104.28 101.96 105.77 102.55 {'NA'} {'NA'} NaN {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'} {'NA'}
>>
This returns all 126 issues in the spreadsheet; you can limit those imported by selecting the wanted subset from the SelectedVariableNames property of the import object before reading or just delete those unwanted from the full table.
Last little bit of an amenity is fixing up the metadata table to also include the shortname for lookup matching--
tMD=addvars(tMD,categorical(tBTP.Properties.VariableNames(2:end).'),'Before',{'Name'},'NewVariableNames',{'BTP'});
which leaves the augmented metadata table looking like--
>> head(tMD)
ans =
8×5 table
BTP Name Code Coupon Rate Maturity
____ ____________________________________________________ ______ ___________ ___________
BTP1 "BTP ITALY 1993 8 1/2% 22/12/23 30Y - DEFAULT PRICE" 843265 0.085 22-Dec-2023
BTP2 "BTP ITALY 1993 9% 01/11/23 30Y - DEFAULT PRICE" 398016 0.09 01-Nov-2023
BTP3 "BTP ITALY 1997 6 1/2% 01/11/27 30Y - DEFAULT PRICE" 613080 0.065 01-Nov-2027
BTP4 "BTP ITALY 1997 7 1/4% 01/11/26 30Y - DEFAULT PRICE" 843262 0.0725 01-Nov-2026
BTP5 "BTP ITALY 1998 5 1/4% 01/11/29 30Y - DEFAULT PRICE" 613875 0.0525 01-Nov-2029
BTP6 "BTP ITALY 2000 6% 01/05/31 30Y - DEFAULT PRICE" 209129 0.06 01-May-2031
BTP7 "BTP ITALY 2002 5 3/4% 01/02/33 30Y - DEFAULT PRICE" 20662U 0.0575 01-Feb-2033
BTP8 "BTP ITALY 2003 4 1/4% 01/02/19 15Y - DEFAULT PRICE" 24988H 0.0425 01-Feb-2019
>>
  1 Comment
William Milton
William Milton on 7 Sep 2022
Thanks, the second question isn't necessary I decided I won't do that thing because it's unnecessary for what I have to do

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!