MCPcopy Create free account
hub / github.com/Open-Quant/openquant / test_time_decay_weights

Function test_time_decay_weights

crates/openquant/tests/sample_weights.rs:75–99  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

73
74#[test]
75fn test_time_decay_weights() {
76 let (events, close, _, _) = setup_events();
77 let standard = get_weights_by_time_decay(&events, &close, 0.5).expect("standard");
78 let no_decay = get_weights_by_time_decay(&events, &close, 1.0).expect("nodecay");
79 let neg_decay = get_weights_by_time_decay(&events, &close, -0.5).expect("neg");
80 let converge = get_weights_by_time_decay(&events, &close, 0.0).expect("conv");
81 let pos_decay = get_weights_by_time_decay(&events, &close, 1.5).expect("pos");
82
83 let len = events.len();
84 assert_eq!(standard.len(), len);
85 assert_eq!(no_decay.len(), len);
86 assert_eq!(neg_decay.len(), len);
87 assert_eq!(converge.len(), len);
88 assert_eq!(pos_decay.len(), len);
89
90 assert_eq!(standard.last().unwrap().1, 1.0);
91 assert!((standard.first().unwrap().1 - 0.582191).abs() <= 1e5);
92 assert!(no_decay.iter().all(|(_, w)| (*w - 1.0).abs() < 1e-12));
93 assert_eq!(neg_decay.iter().filter(|(_, w)| *w == 0.0).count(), 3);
94 assert_eq!(
95 pos_decay.first().unwrap().1,
96 pos_decay.iter().map(|(_, w)| *w).fold(f64::MIN, f64::max)
97 );
98 assert!(pos_decay[pos_decay.len() - 2].1 >= pos_decay.last().unwrap().1);
99}
100
101#[test]
102fn test_value_error_raise() {

Callers

nothing calls this directly

Calls 3

setup_eventsFunction · 0.85
lenMethod · 0.80

Tested by

no test coverage detected