Skip to content

Enable extrapolation on SABR swaption vol cube#338

Open
mattmenefee wants to merge 13 commits intoOpenSourceRisk:masterfrom
mattmenefee:enable-sabr-extrapolation
Open

Enable extrapolation on SABR swaption vol cube#338
mattmenefee wants to merge 13 commits intoOpenSourceRisk:masterfrom
mattmenefee:enable-sabr-extrapolation

Conversation

@mattmenefee
Copy link
Copy Markdown

@mattmenefee mattmenefee commented Apr 9, 2026

Summary

  • Call enableExtrapolation() on the SABR-calibrated swaption vol cube after construction, matching the behavior already present on the Linear interpolation path
  • Prevents QuantLib from throwing when pricing instruments with tenors or strikes outside the interpolated grid

Test plan

  • Verify builds successfully
  • Confirm swaption pricing with out-of-grid tenors/strikes no longer throws

pcaspers and others added 13 commits November 1, 2025 15:02
merge master changes for libboost systems fix

See merge request qs/ore!126
Merge v1.8.14.0 into 'master'

Closes QPR-13622, QPR-13650, QPR-13598, QPR-13645, QPR-12983, QPR-13593, QPR-13632, QPR-13533, QPR-13630, QPR-13046, QPR-13619, QPR-12585, QPR-13605, QPR-13578, QPR-13127, QPR-13592, QPR-13375, QPR-13576, QPR-13473, QPR-13596, QPR-13415, QPR-9432, QPR-13185, QPR-13500, QPR-13585, QPR-12601, QPR-13579, QPR-13577, QPR-13570, QPR-13569, QPR-12106, QPR-13567, QPR-13526, QPR-12228, QPR-13557, QPR-13571, QPR-13498, QPR-13548, QPR-13478, QPR-13562, QPR-13564, QPR-12948, QPR-13529, QPR-12059, QPR-13545, QPR-13550, QPR-13547, QPR-13440, QPR-13353, QPR-13409, QPR-13525, QPR-13481, QPR-13502, QPR-13429, QPR-13517, QPR-12753, QPR-13400, QPR-13518, QPR-13510, QPR-13515, QPR-13093, QPR-13520, QPR-13476, QPR-13516, QPR-13486, QPR-13501, QPR-13487, QPR-13220, QPR-13399, QPR-13470, QPR-13484, QPR-12537, QPR-13485, QPR-12984, QPR-13456, QPR-13436, QPR-13219, QPR-13462, QPR-13395, QPR-13459, QPR-13091, QPR-13442, QPR-13113, QPR-13297, QPR-13416, QPR-12143, QPR-13428, QPR-13452, QPR-13435, QPR-13389, QPR-13404, QPR-13406, QPR-13418, QPR-13393, QPR-13354, QPR-13408, QPR-13410, QPR-13304, QPR-13402, QPR-13255, QPR-13254, QPR-13319, QPR-13370, QPR-13390, QPR-13307, QPR-13387, and QPR-13384

See merge request qs/ore-github!68
v1.8.14.1 into github

Closes QPR-13714, QPR-13626, QPR-13657, QPR-13725, QPR-13744, QPR-13698, QPR-13745, QPR-12587, QPR-13699, QPR-13735, QPR-13711, QPR-13736, QPR-13728, QPR-13738, QPR-13651, QPR-13658, QPR-13668, QPR-13726, QPR-13337, QPR-13702, QPR-13659, QPR-13664, QPR-13666, QPR-12959, QPR-11556, QPR-13706, QPR-12825, QPR-13090, QPR-13614, QPR-13682, QPR-13298, QPR-13700, QPR-13691, QPR-13646, QPR-13486, QPR-13478, QPR-12830, QPR-13696, QPR-13697, QPR-13600, QPR-13674, QPR-13507, QPR-13085, QPR-13661, QPR-13662, QPR-13609, QPR-13466, QPR-10041, QPR-13667, QPR-13671, QPR-13665, QPR-13555, QPR-13625, QPR-13637, QPR-13660, QPR-13654, QPR-13622, QPR-13650, QPR-13598, QPR-13645, QPR-13611, QPR-12983, QPR-13593, QPR-13632, QPR-13533, QPR-13630, QPR-13046, QPR-13619, QPR-12585, QPR-13623, QPR-13624, QPR-13595, QPR-13605, QPR-13578, QPR-13127, QPR-13546, QPR-13592, QPR-13375, QPR-13576, QPR-13473, QPR-13596, QPR-13415, QPR-13602, QPR-9432, QPR-13500, QPR-13536, QPR-13585, QPR-13530, QPR-12601, QPR-13579, QPR-13577, QPR-13570, QPR-13544, QPR-13569, QPR-12106, QPR-13567, QPR-13526, QPR-12228, QPR-13557, QPR-13571, QPR-13440, QPR-13498, QPR-13548, QPR-13561, QPR-13562, QPR-13564, QPR-12948, QPR-13499, QPR-13529, QPR-12059, QPR-13545, QPR-13550, QPR-13353, QPR-13409, QPR-13528, QPR-13525, QPR-13481, QPR-13502, QPR-13524, QPR-13219, QPR-13429, QPR-13517, QPR-12753, QPR-13349, QPR-13400, QPR-13518, QPR-13510, QPR-12657, QPR-13167, QPR-13515, QPR-13093, QPR-13520, QPR-13476, QPR-13475, QPR-13516, QPR-13501, QPR-13513, QPR-13220, QPR-13487, QPR-13399, QPR-13470, QPR-13484, QPR-12537, QPR-13485, QPR-12984, QPR-11122, QPR-13456, QPR-13403, QPR-13436, QPR-13462, QPR-13395, QPR-13459, QPR-13472, QPR-13425, QPR-13458, QPR-13465, QPR-13091, QPR-13401, QPR-13442, QPR-13113, QPR-12369, QPR-13297, QPR-13416, QPR-12143, QPR-13428, QPR-13302, QPR-13445, QPR-13431, QPR-13414, QPR-13435, QPR-13439, QPR-13389, QPR-13404, QPR-13396, QPR-13419, QPR-13406, QPR-13418, QPR-13405, QPR-13393, QPR-13354, QPR-13397, QPR-13408, QPR-13410, QPR-13304, QPR-13402, QPR-13255, QPR-13254, QPR-13351, QPR-13319, QPR-13370, QPR-13390, QPR-13307, QPR-13387, QPR-13384, QPR-13352, QPR-11853, QPR-13367, QPR-13360, QPR-13332, QPR-13377, QPR-13378, QPR-13371, QPR-13369, QPR-12824, QPR-13366, QPR-13347, QPR-13355, QPR-13287, QPR-12758, QPR-13340, QPR-12637, QPR-13094, QPR-13336, QPR-12893, QPR-13324, QPR-13342, QPR-13316, QPR-13211, QPR-13331, QPR-13320, QPR-13283, QPR-13326, QPR-13279, QPR-13218, QPR-13322, QPR-13115, QPR-13303, QPR-13296, QPR-13315, QPR-13311, QPR-12468, QPR-13240, QPR-13210, QPR-13309, QPR-13308, QPR-13284, QPR-13207, QPR-13237, QPR-13282, QPR-13213, QPR-13230, QPR-12995, QPR-13226, QPR-13251, QPR-13088, QPR-13277, QPR-12562, QPR-13125, QPR-13171, QPR-13247, QPR-13174, QPR-13092, QPR-13199, QPR-13157, QPR-13201, QPR-13242, QPR-13227, QPR-13099, QPR-13234, QPR-12867, QPR-13189, QPR-13231, QPR-11539, QPR-13203, QPR-12551, QPR-13212, QPR-12978, QPR-13215, QPR-12602, QPR-13205, QPR-13204, QPR-13195, QPR-13209, QPR-13202, QPR-13192, QPR-13193, QPR-13187, QPR-12345, QPR-13200, QPR-13141, QPR-13191, QPR-13162, QPR-13183, QPR-12539, QPR-13173, QPR-13181, QPR-13176, QPR-13178, QPR-13117, QPR-12403, QPR-11660, QPR-13165, QPR-13153, QPR-13175, QPR-13105, QPR-13160, QPR-13156, QPR-12367, QPR-12827, QPR-13068, QPR-13152, QPR-13161, QPR-13154, QPR-13031, QPR-13140, QPR-13135, QPR-13124, QPR-13142, QPR-13130, QPR-13139, QPR-13083, QPR-13022, QPR-12919, QPR-12985, QPR-13086, QPR-13128, QPR-13034, QPR-13122, QPR-13126, QPR-13123, QPR-12894, QPR-12913, QPR-13120, QPR-13010, QPR-13110, QPR-9916, QPR-13111, QPR-13119, QPR-13058, QPR-13112, QPR-13118, QPR-13100, QPR-13116, QPR-13069, QPR-13107, QPR-13114, QPR-13096, QPR-13104, QPR-13106, QPR-13045, QPR-13098, QPR-13095, QPR-13103, QPR-13089, QPR-13033, QPR-13076, QPR-13061, QPR-13072, QPR-13084, QPR-13081, QPR-13078, QPR-13070, QPR-13059, QPR-13071, QPR-13073, QPR-13067, QPR-13052, QPR-12826, QPR-12625, QPR-13038, QPR-13065, QPR-13060, QPR-12960, QPR-10742, QPR-11751, QPR-13055, QPR-12980, QPR-13035, QPR-13020, QPR-12999, QPR-13021, QPR-13014, QPR-12694, QPR-13011, QPR-13004, QPR-12955, QPR-12907, QPR-12981, QPR-12997, QPR-13000, QPR-12982, QPR-12862, QPR-12998, QPR-12993, QPR-12962, QPR-12974, QPR-12957, QPR-12970, QPR-12977, QPR-12327, QPR-11459, QPR-12868, QPR-12929, QPR-12965, QPR-12953, QPR-12952, QPR-12947, QPR-12939, QPR-12945, QPR-12918, QPR-12933, QPR-12938, QPR-12752, QPR-12935, QPR-12821, QPR-12946, QPR-12944, QPR-12915, QPR-12662, QPR-12839, QPR-12858, QPR-12343, QPR-12835, QPR-12902, QPR-12912, QPR-12910, QPR-12888, QPR-12911, QPR-12755, QPR-12904, QPR-12847, QPR-12860, QPR-12909, QPR-12908, QPR-12905, QPR-12900, QPR-12552, QPR-12877, QPR-12865, QPR-12841, QPR-12769, QPR-12883, QPR-12706, QPR-12849, QPR-12852, QPR-12834, QPR-12863, QPR-12853, QPR-12687, QPR-12854, QPR-12799, QPR-12851, QPR-12819, QPR-12533, QPR-12844, QPR-12848, QPR-12801, QPR-12814, QPR-12788, QPR-12822, QPR-12672, QPR-12833, QPR-12823, QPR-12358, QPR-12668, QPR-12708, QPR-12748, QPR-12772, QPR-12658, QPR-12818, QPR-12817, QPR-12511, QPR-12608, QPR-12812, QPR-12811, QPR-12524, QPR-12802, QPR-12781, QPR-12792, QPR-12643, QPR-12791, QPR-12780, QPR-12793, QPR-12725, QPR-12764, QPR-12782, QPR-12762, QPR-12391, QPR-12774, QPR-12741, QPR-12719, QPR-12775, QPR-12431, QPR-12290, QPR-12666, QPR-12308, QPR-12104, QPR-12770, QPR-12768, QPR-12650, QPR-12624, QPR-12639, QPR-12678, QPR-12730, QPR-12731, QPR-12613, QPR-12737, QPR-12746, QPR-12756, QPR-12712, QPR-12722, QPR-12581, QPR-12716, QPR-12742, QPR-12729, QPR-12720, QPR-12686, QPR-12726, QPR-12707, QPR-12703, QPR-12699, QPR-12154, QPR-11578, QPR-12698, QPR-12646, QPR-12691, QPR-12683, QPR-12680, QPR-12676, QPR-12674, QPR-12656, QPR-12634, QPR-12212, QPR-12665, QPR-12443, QPR-12506, QPR-12481, QPR-12579, QPR-12652, QPR-12629, QPR-12568, QPR-12661, QPR-12633, QPR-12660, QPR-12622, QPR-12645, QPR-12638, QPR-12640, QPR-12631, QPR-12518, QPR-12480, QPR-12394, QPR-12073, QPR-12507, QPR-12610, QPR-12617, QPR-12242, QPR-11787, QPR-12620, QPR-12586, QPR-12609, QPR-12599, QPR-12550, QPR-12592, QPR-12517, QPR-12573, QPR-12593, QPR-12519, QPR-12590, QPR-12570, QPR-12520, QPR-12487, QPR-12456, QPR-12376, QPR-12526, QPR-12398, QPR-12493, QPR-12498, QPR-12482, QPR-12449, QPR-12386, QPR-12433, QPR-12419, QPR-12424, QPR-12414, QPR-12137, QPR-12302, QPR-12275, QPR-12349, QPR-12192, QPR-12337, QPR-12316, QPR-9859, QPR-11618, QPR-12297, QPR-12253, QPR-12281, QPR-12014, QPR-12028, QPR-12144, QPR-12201, QPR-12108, QPR-12156, QPR-12135, QPR-12027, QPR-11670, QPR-11732, QPR-11148, QPR-9728, QPR-10762, QPR-10702, QPR-11078, QPR-11060, QPR-11014, QPR-11037, QPR-10997, QPR-11047, QPR-11033, QPR-10523, QPR-11011, QPR-10930, QPR-10943, QPR-10928, QPR-9765, and QPR-10710

See merge request qs/ore-github!72
ore 1.8.15.0

Closes QPR-13138, QPR-13657, QPR-12587, QPR-13720, QPR-13799, QPR-13719, QPR-13789, QPR-13802, QPR-13776, QPR-13803, QPR-13768, QPR-13801, QPR-13793, QPR-13648, QPR-13656, QPR-13790, QPR-13786, QPR-13777, QPR-13312, QPR-13774, QPR-13781, QPR-13766, QPR-11988, QPR-13765, QPR-13726, QPR-13767, QPR-13703, QPR-11989, QPR-12830, QPR-13714, and QPR-13626

See merge request qs/ore-github!74
update submodule

See merge request qs/ore-github!76
update the quantlib swig submodule

See merge request qs/ore-github!77
QPR-13657 missing inline

See merge request qs/ore-github!78
The SABR-calibrated swaption volatility cube was not marked as
extrapolation-enabled, causing QuantLib to throw when pricing
instruments with tenors or strikes outside the interpolated grid.

Call enableExtrapolation() on the cube immediately after SABR
calibration so that vol queries beyond the grid boundaries use
the calibrated model's natural extrapolation rather than failing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants