QuantLib Swaption Hacim Küpü
Şu anda QuantLib / Python altında bir volatilite küpü kullanarak takasları fiyatlandırmaya çalışıyorum ql.SwaptoinVolCube2. Belgelerden:
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)
)
Şu anda iki takas endeksinin bunda hangi rolü oynadığını merak ediyorum.
Bunun ATM hesaplaması ve ATM'ye karşı grev spreadlerinin hesaplanmasıyla bir ilgisi olduğunu varsayıyorum, ancak bunun için neden iki endeks gerektirdiğini anlamıyorum .
Herhangi bir işaret için teşekkürler!
Yanıtlar
Swaption vol cube temelde bir dizi yüzey katmanıdır, her katman belirli bir greve atıfta bulunur ve aynı temelin opsiyon bitişleri ve takas vade kombinasyonları için vols'a sahiptir: belirli kurallarla bir swap. Temelde swapIndexBase,.
Ancak, daha kısa vadeler için sözleşmeler genellikle farklıdır. Örneğin, Euro'da, 1Y'den büyük vadeler için 6M Euribor'a ve 1Y tenor için 3M Euribor'a karşı takasınız var. shortSwapIndexBaseAltında yatan şu saniye tanımlamak için kullanılır.
Okunan metinlerle ilgili örnek bu açıdan daha iyi olabilir.