0

我想在 Matlab 中使用 对可转换债券进行估值cbprice,但我无法将其与此答案提供的电子表格的结果对齐。我认为这主要是一个cbprice语法问题。

例如,让我们使用此问题底部的输入来评估 Intel 2.95 2035 债券。
该债券目前的交易价格约为 112。
插入 excel 电子表格,我得到了 106 左右。相当不错。

现在,我想用 Matlab 做同样的计算:

% CbMatrix = cbprice(RiskFreeRate, StaticSpread, Sigma, Price, ConvRatio, ...
%                    NumSteps, IssueDate, Settle, Maturity, CouponRate)
>> CbMatrix = cbprice(0.03, 0.00575, 0.236, 24.49, 34.24, ...
                      100, '30-Mar-2006', '20-Jun-2013', '15-Dec-2035', 0.0295);
>> disp(CbMatrix(1, 1) * 0.1)
   88.3347

我不知道我应该如何将股息收益率分配给cbprice,但电子表格给出了接近 132 的零股息收益率进行比较的价格。

我预计数字接近 110,至少高于 100。
如何使用 重现计算cbprice


电子表格输入:

Bond info:                     Stock info:                 Pricing Info
Pricing Date:   6/20/2013      Current Price:   24.49      Risk Free Rate:   0.03
Maturity Date: 12/15/2035      Dividend Yield: 0.0453      Credit Spread: 0.00575
Face Value:          1000      Volatility:      0.236      Number of steps:   100
Conversion Ratio:   34.24
Coupon (%):          2.95
Frequency:              2
4

1 回答 1

0

Communicating with the Matlab folks, they clarified that it implicitly uses a $100 face value for the bond. The conversion ratio needs to be adjusted accordingly.
The dividend yield has been specified as well in the last two lines of the invocation.

% CbMatrix = cbprice(RiskFreeRate, StaticSpread, Sigma, Price, ...
%                    ConvRatio, ...
%                    NumSteps, IssueDate, Settle, Maturity, CouponRate, ...)
>> CbMatrix = cbprice(0.03, 0.00575, 0.236, 24.49, ...
                      34.24 * 100 / 1000, ...    % changed here
                      100, '30-Mar-2006', '20-Jun-2013', '15-Dec-2035', 0.0295, ...
                      'DividendType', 2, ...
                      'DividendInfo', [datenum('20-Jun-2013') 0.0453]);
>> CbMatrix(1,1)
ans =
  107.3614
于 2013-07-02T19:25:55.923 回答