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

Matlab の関係者とのやり取りの中で、彼らは債券に額面 100 ドルを暗黙的に使用していることを明らかにしました。それに応じて変換比率を調整する必要があります。
配当利回りも呼び出しの最後の 2 行で指定されています。

% 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 に答える