0
私はバニラ金利スワップを2017年1月31日(評価日)に評価していますが、バニラ金利スワップの有効日は2016年12月31日(開始日)です。まず、以下のコードで評価日と開始日を調整する方法を知りたいと思います。QuantLibを使用したPythonのバニラ金利スワップ評価
import QuantLib as ql
startDate = ql.Date(31,12,2016)
valuationDate = ql.Date(31,1,2017)
maturityDate = ql.Date(30,9,2019)
calendar = ql.SouthAfrica()
bussiness_convention = ql.Unadjusted
swapT = ql.VanillaSwap.Payer
nominal = 144000000
fixedLegTenor = ql.Period(3, ql.Months)
fixedSchedule = ql.Schedule(startDate, maturityDate,
fixedLegTenor, calendar,
ql.ModifiedFollowing, ql.ModifiedFollowing,
ql.DateGeneration.Forward, False)
fixedRate = 0.077
fixedLegDayCount = ql.Actual365Fixed()
spread = 0
floatLegTenor = ql.Period(3, ql.Months)
floatSchedule = ql.Schedule(startDate, maturityDate,
floatLegTenor, calendar,
ql.ModifiedFollowing, ql.ModifiedFollowing,
ql.DateGeneration.Forward, False)
floatLegDayCount = ql.Actual365Fixed()
discountDates = [ql.Date(31,1,2017),ql.Date(7,2,2017),ql.Date(28,2,2017),
ql.Date(31,3,2017),ql.Date(28,4,2017),ql.Date(31,7,2017),
ql.Date(31,10,2017),ql.Date(31,1,2018),ql.Date(31,1,2019),
ql.Date(31,1,2020),ql.Date(29,1,2021),ql.Date(31,1,2022),
ql.Date(31,1,2023),ql.Date(31,1,2024),ql.Date(31,1,2025),
ql.Date(30,1,2026),ql.Date(29,1,2027),ql.Date(31,1,2029),
ql.Date(30,1,2032),ql.Date(30,1,2037),ql.Date(31,1,2042),
ql.Date(31,1,2047)]
discountRates = [1,0.9986796,0.99457,0.9884423,0.9827433,0.9620352,0.9420467,0.9218714,
0.863127,0.7993626,0.7384982,0.6796581,0.6244735,0.5722537,0.5236629,
0.4779477,0.4362076,0.3619845,0.2795902,0.1886847,0.1352048,0.1062697]
jibarTermStructure = ql.RelinkableYieldTermStructureHandle()
jibarIndex = ql.Jibar(ql.Period(3,ql.Months), jibarTermStructure)
jibarIndex.addFixings(dtes, fixings)
discountCurve = ql.DiscountCurve(discountDates,discountRates,ql.Actual365Fixed())
swapEngine = ql.DiscountingSwapEngine(discountCurve)
interestRateSwap = ql.VanillaSwap(swapT, nominal, fixedSchedule,
fixedRate,fixedLegDayCount,jibarIndex,spread,floatSchedule,
floatLegDayCount,swapEngine,floatSchedule.convention)
第二に、私は私が私の割引係数を使用することができますどのように他interestRateSwap =ql.VanillaSwap()
でjibarIndex
を組み込むか、できる最善の方法を知っていただきたいと思いますし、ディスカウント金利スワップ