MATLAB: Is there an error in the FLOATBYBDT function in the Financial Derivatives Toolbox

bdtblackblack-derman-toydermanFinancial Derivatives Toolboxtoy

I use FLOATBYBDT from the Financial Derivatives Toolbox in the following code:
load deriv
Spread = 0;
Settle = '01-Jan-2000';
Maturity = '01-Jan-2003';
[Price, PriceTree] = floatbybdt(BDTTree, Spread, Settle, Maturity);
Since the spread is 0, I expect the clean price at each node of the BDT tree to be 100. However, when I inspect the results:
PriceTree.PTree{3}
The resulting clean prices are not equal to 100:
ans =
1.0e+002 *
1.00912643712036 1.00361480744255 0.98816799382958

Best Answer

This bug has been fixed in Release 14 Service Pack 3 (R14SP3). For previous product releases, read below for any possible workarounds:
We have verified that there is a bug in the Financial Derivatives Toolbox 3.0.1 (R14SP1) and prior versions when using the FLOATBYBDT function.
There are currently no known workarounds.