이 코드는 fitSvensson 함수에 따라 가격이 책정됩니다. 누락 된 가격에 대해 일부 채권에 NaN 항목이있는 날짜를 선택하면 ClearPrice 벡터에서 NaN 값을 무시하도록 Matlab을 어떻게 얻습니까? 제로 곡선을 도출 할 때 어떻게 그 유대감을 무시하도록 할 수 있습니까? NaN에 대한 많은 솔루션이 보간법이나 0으로 설정되어 있지만 이것이 잘못된 곡선으로 이어질 것입니다.Matlab 계산에서 NaN 항목을 포함하는 벡터를 무시합니다.
Maturity=gcm3.data.CouponandMaturity(1:36,2);
[r,c]=find(gcm3.data.CleanPrice==datenum('11-May-2012'));
row=r
SettleDate=gcm3.data.CouponandMaturity(row,3);
Settle = repmat(SettleDate,[length(Maturity) 1]);
CleanPrices =transpose(gcm3.data.CleanPrice(row,2:end));
CouponRate = gcm3.data.CouponandMaturity(1:36,1);
Instruments = [Settle Maturity CleanPrices CouponRate];
PlottingPoints = gcm3.data.CouponandMaturity(1,2):gcm3.data.CouponandMaturity(36,2);
Yield = bndyield(CleanPrices,CouponRate,Settle,Maturity);
SvenssonModel = IRFunctionCurve.fitSvensson('Zero',SettleDate,Instruments)
ParYield=SvenssonModel.getParYields(Maturity);
데이터는 다음과 같습니다. 각 열이 본드 인 경우 열 1은 날짜 및 클린 가격 요소입니다. 보시다시피, 데이터의 첫 번째 부분에는 아직 채권에 대한 많은 NaN이 포함되어 있지만 가격은 없습니다. 모든 채권에는 가격이 붙어 있지만 불행히도 1 ~ 2 일 가격이없는 경우가 있습니다. 이상적으로, NaN이있는 경우 가능한 한 더 많은 곡선이 생성됨에 따라 (해당 채권의 수와 관계없이) 더 나은 날짜로 해당 채권을 무시하고 싶습니다. 이것이 불가능할 경우 그 날짜를 무시하는 것은 옵션이지만 많은 곡선이 생성되지 않습니다.
예제 데이터를 입력 할 수 있습니까? 그 채권의 전체 또는 그 날짜 또는 그 날짜의 채권을 무시하고 싶습니까? 처음 두 가지 옵션 중 하나가되어야한다고 생각합니다. – Dan
자신 만의 핸들러를 작성하려면'isnan'을 체크하고'nanmean '과 같은 기존 NaN 핸들링 함수를 사용하십시오. – jmetz
@ Dan. 고맙습니다 .- 나는 더 많은 정보를 포함하도록 질문을 편집했습니다. 그 날짜에 그 채권을 제거하는 것이 가능하다면 그것은 내가 필요로하는 것에 대해 우수 할 것입니다. – Mary