matlab取平均值不含nan,在Matlab计算中忽略包含NaN条目的向量

此代码根据fitSvensson函数定价。当选择了某些债券具有缺失价格的NaN条目的日期时,如何让Matlab忽略CleanPrice向量中的NaN值。在得出零曲线时,如何让它完全忽略该键?似乎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。在一分之后,所有债券都有价格但不幸的是有一两天的价格缺失。

理想情况下,如果存在NaN,我希望它在该日期忽略该键,如果可能的话,因为生成的曲线越多(无论使用的键数),就越好。如果这是不可能的,那么忽略该日期是一个选项,但会导致许多曲线无法生成。

GhSYM.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值