Python

稍後在 QuantLib 中計算普通掉期的市場價值

  • September 11, 2017

我正在按照此處給出的 QuantLib Python 中為 Vanilla Swap 定價的食譜範例。

現在讓我們假設一周過去了,我們正在嘗試計算同一掉期的市值。經過一番環顧後,我找到了這個文章,這讓我相信,為了在以後對掉期重新定價,需要更改結算日期以獲取掉期的更新市場價值。這似乎不對,因為更改掉期的結算日期也會導致現金流量計劃發生變化。

我正在尋找的是保留掉期定義(現金流日期、到期日等),在以後載入新的收益率曲線,並使用新的收益率曲線重新定價我的掉期。

誰能告訴我如何做到這一點?

謝謝!

您可以保留Swap您創建的包含交換定義的實例,並更改評估日期和您正在使用的曲線。

評估日期很簡單:在 Python 中,

Settings::instance().evaluationDate = new_date

會成功的。

至於曲線,您必須更改 and 的聲明,discount_curve以便libor_curve它們使用YieldTermStructureRelinkableHandle而不是YieldTermStructureHandle. 這將使您可以將它們重新連結到不同的曲線。您修改後的腳本將類似於:

# as in the original notebook: create the swap,
# the curves for pricing on the first evaluation date, etc.

print swap.NPV()   # as of the first evaluation date

Settings::instance().evaluationDate = new_date

libor_curve.linkTo(
   # the curve for the new evaluation date
)
discount_curve.linkTo(
   # the curve for the new evaluation date
)

print swap.NPV()  # as of the new date, using the new curves.

簡而言之:保留交換,根據需要更改其他所有內容。掉期將相應地重新計算。

您可能需要注意的一件事:如果任何未到期的浮動票券在評估日期之前固定,您將不得不載入基礎指數的固定。執行此操作的界面是,例如,

libor3M_index.addFixing(date, value)

引用自:https://quant.stackexchange.com/questions/35961