Skip to content

Commit 66bb800

Browse files
pcaspersjenkins
authored andcommitted
QPR-11974 analytic multi-leg option engine (as replacement for ql black swaption engine)
1 parent 1c4e3b7 commit 66bb800

79 files changed

Lines changed: 16681 additions & 16323 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Examples/Example_1/ExpectedOutput/curves.csv

Lines changed: 215 additions & 215 deletions
Large diffs are not rendered by default.

Examples/Example_1/ExpectedOutput/flows.csv

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ Swap_20y,Swap,8,0,2024-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,
1010
Swap_20y,Swap,9,0,2025-03-03,Interest,201111.1111,EUR,0.0200000000,1.0055555556,2024-03-01,2025-03-03,0.0000,#N/A,#N/A,10000000.0000,0.8355720124,168042.8158258896,1.0000000000,168042.8158258896,EUR,#N/A,#N/A,#N/A,#N/A
1111
Swap_20y,Swap,10,0,2026-03-02,Interest,199444.4444,EUR,0.0200000000,0.9972222222,2025-03-03,2026-03-02,0.0000,#N/A,#N/A,10000000.0000,0.8192477699,163394.4163249926,1.0000000000,163394.4163249926,EUR,#N/A,#N/A,#N/A,#N/A
1212
Swap_20y,Swap,11,0,2027-03-01,Interest,199444.4444,EUR,0.0200000000,0.9972222222,2026-03-02,2027-03-01,0.0000,#N/A,#N/A,10000000.0000,0.8032287449,160199.5107788594,1.0000000000,160199.5107788594,EUR,#N/A,#N/A,#N/A,#N/A
13-
Swap_20y,Swap,12,0,2028-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,2027-03-01,2028-03-01,0.0000,#N/A,#N/A,10000000.0000,0.7874383387,157487.6677361020,1.0000000000,157487.6677361020,EUR,#N/A,#N/A,#N/A,#N/A
14-
Swap_20y,Swap,13,0,2029-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,2028-03-01,2029-03-01,0.0000,#N/A,#N/A,10000000.0000,0.7720136447,154402.7289360915,1.0000000000,154402.7289360915,EUR,#N/A,#N/A,#N/A,#N/A
15-
Swap_20y,Swap,14,0,2030-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,2029-03-01,2030-03-01,0.0000,#N/A,#N/A,10000000.0000,0.7568910965,151378.2192956247,1.0000000000,151378.2192956247,EUR,#N/A,#N/A,#N/A,#N/A
13+
Swap_20y,Swap,12,0,2028-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,2027-03-01,2028-03-01,0.0000,#N/A,#N/A,10000000.0000,0.7874383387,157487.6677361019,1.0000000000,157487.6677361019,EUR,#N/A,#N/A,#N/A,#N/A
14+
Swap_20y,Swap,13,0,2029-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,2028-03-01,2029-03-01,0.0000,#N/A,#N/A,10000000.0000,0.7720136447,154402.7289360914,1.0000000000,154402.7289360914,EUR,#N/A,#N/A,#N/A,#N/A
15+
Swap_20y,Swap,14,0,2030-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,2029-03-01,2030-03-01,0.0000,#N/A,#N/A,10000000.0000,0.7568910965,151378.2192956248,1.0000000000,151378.2192956248,EUR,#N/A,#N/A,#N/A,#N/A
1616
Swap_20y,Swap,15,0,2031-03-03,Interest,201111.1111,EUR,0.0200000000,1.0055555556,2030-03-01,2031-03-03,0.0000,#N/A,#N/A,10000000.0000,0.7419840264,149221.2319699568,1.0000000000,149221.2319699568,EUR,#N/A,#N/A,#N/A,#N/A
17-
Swap_20y,Swap,16,0,2032-03-01,Interest,198888.8889,EUR,0.0200000000,0.9944444444,2031-03-03,2032-03-01,0.0000,#N/A,#N/A,10000000.0000,0.7274837987,144688.4443986818,1.0000000000,144688.4443986818,EUR,#N/A,#N/A,#N/A,#N/A
17+
Swap_20y,Swap,16,0,2032-03-01,Interest,198888.8889,EUR,0.0200000000,0.9944444444,2031-03-03,2032-03-01,0.0000,#N/A,#N/A,10000000.0000,0.7274837987,144688.4443986819,1.0000000000,144688.4443986819,EUR,#N/A,#N/A,#N/A,#N/A
1818
Swap_20y,Swap,17,0,2033-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,2032-03-01,2033-03-01,0.0000,#N/A,#N/A,10000000.0000,0.7132282696,142645.6539258766,1.0000000000,142645.6539258766,EUR,#N/A,#N/A,#N/A,#N/A
1919
Swap_20y,Swap,18,0,2034-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,2033-03-01,2034-03-01,0.0000,#N/A,#N/A,10000000.0000,0.6992520872,139850.4174362925,1.0000000000,139850.4174362925,EUR,#N/A,#N/A,#N/A,#N/A
2020
Swap_20y,Swap,19,0,2035-03-01,Interest,200000.0000,EUR,0.0200000000,1.0000000000,2034-03-01,2035-03-01,0.0000,#N/A,#N/A,10000000.0000,0.6855497773,137109.9554653681,1.0000000000,137109.9554653681,EUR,#N/A,#N/A,#N/A,#N/A
@@ -41,12 +41,12 @@ Swap_20y,Swap,19,1,2025-09-01,InterestProjected,-99132.7680,EUR,0.0196086794,0.5
4141
Swap_20y,Swap,20,1,2026-03-02,InterestProjected,-99143.3161,EUR,0.0196107658,0.5055555556,2025-09-01,2026-03-02,0.0000,2025-08-28,0.0196107658,10000000.0000,0.8192477699,-81222.9406274122,1.0000000000,-81222.9406274122,EUR,#N/A,#N/A,#N/A,#N/A
4242
Swap_20y,Swap,21,1,2026-09-01,InterestProjected,-99772.0843,EUR,0.0196272953,0.5083333333,2026-03-02,2026-09-01,0.0000,2026-02-26,0.0196272953,10000000.0000,0.8111547103,-80930.5961114186,1.0000000000,-80930.5961114186,EUR,#N/A,#N/A,#N/A,#N/A
4343
Swap_20y,Swap,22,1,2027-03-01,InterestProjected,-98676.3168,EUR,0.0196262288,0.5027777778,2026-09-01,2027-03-01,0.0000,2026-08-28,0.0196262288,10000000.0000,0.8032287449,-79259.6541125289,1.0000000000,-79259.6541125289,EUR,#N/A,#N/A,#N/A,#N/A
44-
Swap_20y,Swap,23,1,2027-09-01,InterestProjected,-100320.0126,EUR,0.0196278285,0.5111111111,2027-03-01,2027-09-01,0.0000,2027-02-25,0.0196278285,10000000.0000,0.7952507879,-79779.5690528285,1.0000000000,-79779.5690528285,EUR,#N/A,#N/A,#N/A,#N/A
44+
Swap_20y,Swap,23,1,2027-09-01,InterestProjected,-100320.0126,EUR,0.0196278285,0.5111111111,2027-03-01,2027-09-01,0.0000,2027-02-25,0.0196278285,10000000.0000,0.7952507879,-79779.5690528303,1.0000000000,-79779.5690528303,EUR,#N/A,#N/A,#N/A,#N/A
4545
Swap_20y,Swap,24,1,2028-03-01,InterestProjected,-99213.4734,EUR,0.0196246431,0.5055555556,2027-09-01,2028-03-01,0.0000,2027-08-30,0.0196246431,10000000.0000,0.7874383387,-78124.4926642392,1.0000000000,-78124.4926642392,EUR,#N/A,#N/A,#N/A,#N/A
4646
Swap_20y,Swap,25,1,2028-09-01,InterestProjected,-100226.1427,EUR,0.0196094627,0.5111111111,2028-03-01,2028-09-01,0.0000,2028-02-28,0.0196094627,10000000.0000,0.7796244634,-78138.7527005890,1.0000000000,-78138.7527005890,EUR,#N/A,#N/A,#N/A,#N/A
4747
Swap_20y,Swap,26,1,2029-03-01,InterestProjected,-98583.9924,EUR,0.0196078659,0.5027777778,2028-09-01,2029-03-01,0.0000,2028-08-30,0.0196078659,10000000.0000,0.7720136447,-76108.1872999366,1.0000000000,-76108.1872999366,EUR,#N/A,#N/A,#N/A,#N/A
48-
Swap_20y,Swap,27,1,2029-09-03,InterestProjected,-101321.0579,EUR,0.0196105273,0.5166666667,2029-03-01,2029-09-03,0.0000,2029-02-27,0.0196105273,10000000.0000,0.7642699804,-77436.6428979263,1.0000000000,-77436.6428979263,EUR,#N/A,#N/A,#N/A,#N/A
49-
Swap_20y,Swap,28,1,2030-03-01,InterestProjected,-97489.3739,EUR,0.0196068015,0.4972222222,2029-09-03,2030-03-01,0.0000,2029-08-30,0.0196068015,10000000.0000,0.7568910965,-73788.8391254097,1.0000000000,-73788.8391254097,EUR,#N/A,#N/A,#N/A,#N/A
48+
Swap_20y,Swap,27,1,2029-09-03,InterestProjected,-101321.0579,EUR,0.0196105273,0.5166666667,2029-03-01,2029-09-03,0.0000,2029-02-27,0.0196105273,10000000.0000,0.7642699804,-77436.6428979229,1.0000000000,-77436.6428979229,EUR,#N/A,#N/A,#N/A,#N/A
49+
Swap_20y,Swap,28,1,2030-03-01,InterestProjected,-97489.3739,EUR,0.0196068015,0.4972222222,2029-09-03,2030-03-01,0.0000,2029-08-30,0.0196068015,10000000.0000,0.7568910965,-73788.8391254098,1.0000000000,-73788.8391254098,EUR,#N/A,#N/A,#N/A,#N/A
5050
Swap_20y,Swap,29,1,2030-09-02,InterestProjected,-100773.5854,EUR,0.0196099950,0.5138888889,2030-03-01,2030-09-02,0.0000,2030-02-27,0.0196099950,10000000.0000,0.7493397313,-75513.6514290348,1.0000000000,-75513.6514290348,EUR,#N/A,#N/A,#N/A,#N/A
5151
Swap_20y,Swap,30,1,2031-03-03,InterestProjected,-99135.6243,EUR,0.0196092444,0.5055555556,2030-09-02,2031-03-03,0.0000,2030-08-29,0.0196092444,10000000.0000,0.7419840264,-73557.0496527155,1.0000000000,-73557.0496527155,EUR,#N/A,#N/A,#N/A,#N/A
5252
Swap_20y,Swap,31,1,2031-09-01,InterestProjected,-99168.4231,EUR,0.0196157320,0.5055555556,2031-03-03,2031-09-01,0.0000,2031-02-27,0.0196157320,10000000.0000,0.7346981408,-72858.8560521546,1.0000000000,-72858.8560521546,EUR,#N/A,#N/A,#N/A,#N/A
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
#TradeId,TradeType,Maturity,MaturityTime,NPV,NpvCurrency,NPV(Base),BaseCurrency,Notional,NotionalCurrency,Notional(Base),NettingSet,CounterParty
2-
Swaption_01_19,Swaption,2036-03-03,20.073770,317239.803684,EUR,317239.803684,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
3-
Swaption_02_18,Swaption,2036-03-03,20.073770,412865.288841,EUR,412865.288841,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
4-
Swaption_03_17,Swaption,2036-03-03,20.073770,469989.336067,EUR,469989.336067,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
5-
Swaption_04_16,Swaption,2036-03-03,20.073770,504364.917039,EUR,504364.917039,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
6-
Swaption_05_15,Swaption,2036-03-03,20.073770,522143.928861,EUR,522143.928861,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
7-
Swaption_06_14,Swaption,2036-03-03,20.073770,527728.381843,EUR,527728.381843,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
8-
Swaption_07_13,Swaption,2036-03-03,20.073770,523416.430591,EUR,523416.430591,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
9-
Swaption_08_12,Swaption,2036-03-03,20.073770,511138.433239,EUR,511138.433239,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
10-
Swaption_09_11,Swaption,2036-03-03,20.073770,491301.110886,EUR,491301.110886,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
11-
Swaption_10_10,Swaption,2036-03-03,20.073770,465874.009693,EUR,465874.009693,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
12-
Swaption_11_09,Swaption,2036-03-03,20.073770,435282.988990,EUR,435282.988990,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
13-
Swaption_12_08,Swaption,2036-03-03,20.073770,400182.823099,EUR,400182.823099,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
14-
Swaption_13_07,Swaption,2036-03-03,20.073770,360657.544200,EUR,360657.544200,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
15-
Swaption_14_06,Swaption,2036-03-03,20.073770,317475.982894,EUR,317475.982894,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
16-
Swaption_15_05,Swaption,2036-03-03,20.073770,270703.644169,EUR,270703.644169,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
17-
Swaption_16_04,Swaption,2036-03-03,20.073770,221852.839306,EUR,221852.839306,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
18-
Swaption_17_03,Swaption,2036-03-03,20.073770,169808.197056,EUR,169808.197056,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
19-
Swaption_18_02,Swaption,2036-03-03,20.073770,115360.249640,EUR,115360.249640,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
20-
Swaption_19_01,Swaption,2036-03-03,20.073770,58737.183290,EUR,58737.183290,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
2+
Swaption_01_19,Swaption,2017-03-01,1.066015,317239.803684,EUR,317239.803684,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
3+
Swaption_02_18,Swaption,2018-03-01,2.066015,412865.288841,EUR,412865.288841,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
4+
Swaption_03_17,Swaption,2019-03-01,3.066015,469989.336067,EUR,469989.336067,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
5+
Swaption_04_16,Swaption,2020-03-01,4.068306,504364.917039,EUR,504364.917039,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
6+
Swaption_05_15,Swaption,2021-03-01,5.066015,522143.928861,EUR,522143.928861,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
7+
Swaption_06_14,Swaption,2022-03-01,6.066015,527728.381843,EUR,527728.381843,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
8+
Swaption_07_13,Swaption,2023-03-01,7.066015,523416.430591,EUR,523416.430591,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
9+
Swaption_08_12,Swaption,2024-03-01,8.068306,511138.433239,EUR,511138.433239,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
10+
Swaption_09_11,Swaption,2025-03-01,9.066015,491301.110886,EUR,491301.110886,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
11+
Swaption_10_10,Swaption,2026-03-01,10.066015,465874.009693,EUR,465874.009693,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
12+
Swaption_11_09,Swaption,2027-03-01,11.066015,435282.988990,EUR,435282.988990,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
13+
Swaption_12_08,Swaption,2028-03-01,12.068306,400182.823099,EUR,400182.823099,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
14+
Swaption_13_07,Swaption,2029-03-01,13.066015,360657.544200,EUR,360657.544200,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
15+
Swaption_14_06,Swaption,2030-03-01,14.066015,317475.982894,EUR,317475.982894,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
16+
Swaption_15_05,Swaption,2031-03-01,15.066015,270703.644169,EUR,270703.644169,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
17+
Swaption_16_04,Swaption,2032-03-01,16.068306,221852.839306,EUR,221852.839306,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
18+
Swaption_17_03,Swaption,2033-03-01,17.066015,169808.197056,EUR,169808.197056,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
19+
Swaption_18_02,Swaption,2034-03-01,18.066015,115360.249640,EUR,115360.249640,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A
20+
Swaption_19_01,Swaption,2035-03-01,19.066015,58737.183290,EUR,58737.183290,EUR,10000000.00,EUR,10000000.00,CPTY_A,CPTY_A

0 commit comments

Comments
 (0)