QuantLib Swaption Vol Cube

Aug 27 2020

В настоящее время я пытаюсь оценить свопинг в QuantLib / Python, используя куб волатильности, используя ql.SwaptoinVolCube2. Из документации:

optionTenors = ['1y', '2y', '3y']
swapTenors = [ '5Y', '10Y']
strikeSpreads = [ -0.01, 0.0, 0.01]
volSpreads = [
    [0.5, 0.55, 0.6],
    [0.5, 0.55, 0.6],
    [0.5, 0.55, 0.6],
    [0.5, 0.55, 0.6],
    [0.5, 0.55, 0.6],
    [0.5, 0.55, 0.6],
]

optionTenors = [ql.Period(tenor) for tenor in optionTenors]
swapTenors = [ql.Period(tenor) for tenor in swapTenors]
volSpreads = [[ql.QuoteHandle(ql.SimpleQuote(v)) for v in row] for row in volSpreads]

swapIndexBase = ql.EuriborSwapIsdaFixA(ql.Period(1, ql.Years), e6m_yts, ois_yts)
shortSwapIndexBase = ql.EuriborSwapIsdaFixA(ql.Period(1, ql.Years), e6m_yts, ois_yts)
vegaWeightedSmileFit = False

volCube = ql.SwaptionVolatilityStructureHandle(
    ql.SwaptionVolCube2(
        ql.SwaptionVolatilityStructureHandle(swaptionVolMatrix),
        optionTenors,
        swapTenors,
        strikeSpreads,
        volSpreads,
        swapIndexBase,
        shortSwapIndexBase,
        vegaWeightedSmileFit)
)

В настоящее время мне интересно, какую роль в этом играют два индекса обмена?

Я предполагаю, что это как-то связано с расчетом банкоматов и страйк-спредов по сравнению с банкоматами, но я не понимаю, почему для этого требуются два индекса.

Спасибо за любые указатели!

Ответы

3 DavidDuarte Aug 27 2020 at 04:00

Куб объема обмена представляет собой в основном серию поверхностных слоев, каждый из которых относится к данному страйку и имеет объемы для комбинаций сроков истечения опционов и срока обмена одного и того же базового актива: своп с заданными соглашениями. Эта основа определяется расширением swapIndexBase.

Однако в отношении более коротких сроков погашения часто применяются другие правила. Например, в евро у вас есть своп против 6M Euribor для срока> 1 года и своп против 3M Euribor для срока 1Y. shortSwapIndexBaseИспользуются для идентификации этого второго , лежащих в основе.

В этом отношении пример с readthedocs мог бы быть лучше.