期權定價
使用 QuantLib FD 的美式期權的全價值函式
我正在查看 QuantLib 的股票期權範例:http: //quantlib.org/reference/_equity_option_8cpp-example.html ,尤其是 FDAmericanEngine。但是,我對 NPV 函式提供的有限差分評估的點值不感興趣,而是對所有資產價格(在
$$ x_min, x_max $$)和到期時間(在$$ 0, T $$) 在我可以定義的一些時間和資產價格網格中。 當然,有限差分求解器會在點網格上產生完整的值函式以產生點值,我怎樣才能訪問這個值函式?
QuantLib 確實為您提供了價值函式,但它隱藏得非常好。此外,它僅適用於 $ t=0 $ .
一旦您建構了選項並設置了有限差分引擎,您可以編寫例如:
SampledCurve prices = option.result<SampledCurve>("priceCurve"); for (Size i=0; i<prices.size(); ++i) std::cout << prices.gridValue(i) << "\t" << prices.value(i) << "\n";
您還可以一次檢索完整的網格或完整的值集;查看類中
<ql/math/sampledcurve.hpp>
可用的完整介面的標題SampledCurve
。不幸的是,沒有關於可以通過該
Instrument::result
函式從任何給定引擎檢索的值的參考;您必須在每個引擎的程式碼中查找它們。