use super::*;
#[test]
fn paths_match_independent_mt_inverse_normal_compound_poisson_fixtures() {
let cases: [(MertonRequest, &[Real]); 6] = [
(
MertonRequest {
horizon: 0.0,
..request()
},
&[
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
100.0, 100.0, 100.0,
],
),
(
MertonRequest {
jump_intensity: 240.0,
log_jump_volatility: 0.01,
log_mean_jump: 0.0,
..request()
},
&[
100.0,
85.07209653331171,
91.88988474720588,
111.86718253199972,
98.97443243097436,
100.0,
106.52644819557457,
121.379805268405,
124.42007481503202,
117.20987247105326,
100.0,
98.39877950292181,
115.14777562147074,
103.21079694553978,
96.22922553539328,
],
),
(
MertonRequest {
jump_intensity: 2800.0,
log_jump_volatility: 0.005,
log_mean_jump: 0.0,
..request()
},
&[
100.0,
77.93839728960181,
83.08319141327475,
102.28974557578935,
87.53792780554767,
100.0,
105.64487739592774,
124.6128914958248,
126.62897791928475,
111.9462977128842,
100.0,
103.17522029749924,
133.41307015954908,
117.72298618514692,
113.90689127728312,
],
),
(
MertonRequest {
seed: 20261002,
..request()
},
&[
100.0,
109.11208955820642,
113.52957184903286,
110.39627791575722,
123.34251604418205,
100.0,
116.34286607788984,
113.55453664968753,
108.65911224413465,
99.97302818165801,
100.0,
100.37033282547205,
100.3584256219746,
93.73678036452743,
93.36924947679067,
],
),
(
MertonRequest {
seed: 4294967295,
..request()
},
&[
100.0,
89.70554768896989,
55.996246105362985,
65.47843847864941,
106.16254807197446,
100.0,
110.64830452945884,
113.73122893373791,
125.45376360906589,
110.24876857514285,
100.0,
82.78274911297181,
79.82758182827156,
98.30805290829555,
100.49260191207966,
],
),
(
MertonRequest {
horizon: 0.7,
jump_intensity: 0.0,
steps: 3,
volatility: 0.0,
..request()
},
&[
100.0,
101.17349876564472,
102.36076852481912,
103.56197087996233,
100.0,
101.17349876564472,
102.36076852481912,
103.56197087996233,
100.0,
101.17349876564472,
102.36076852481912,
103.56197087996233,
],
),
];
for (r, expected) in cases {
assert_fixture(&r, expected);
}
}