在測試算法的過程中,我使用MATLAB金融工具箱中實現的標準定價函數blsprice
計算隨機輸入值的期權價格。MATLAB中某些輸入值的負面期權價格?
令人驚訝(至少對我來說),
功能似乎返回負期權價格的輸入值的某些組合。
作爲一個例子採取以下:
> [Call,Put]=blsprice(67.6201,170.3190,0.0129,0.80,0.1277)
Call =-7.2942e-15
Put = 100.9502
如果更改時間到期到0.79
或0.81
,該值隨着我期望是非負的。
你們有沒有經歷過類似的事情,並能爲此提供一個簡短的解釋?
這個問題可能更適合於[quant.se]?但是,由於值太小,我認爲這只是一個[浮點錯誤](http://floating-point-gui.de/),因爲在內部計算的某個點處截斷了。也許考慮四捨五入到合適的精度,比如4個小數點?然後,「通話」價格變爲「0」。 – Dan
通過提交[服務請求](http://www.mathworks.com/support/contact_us/?s_tid=sp_ban_cs)來詢問MathWorks支持可能也是一個很好的問題。這可能是一個錯誤,或者他們可能只是不執行邊界條件。您也可以查看底層代碼(如果沒有編譯或編碼)以查看發生了什麼:在命令窗口中輸入「edit blsprice」。 – horchler