pub enum Finding {
RepeatedSize {
size: f64,
count: usize,
of: usize,
},
FewSizes {
sizes: Vec<f64>,
count: usize,
of: usize,
},
Metronome {
mean_gap_ms: f64,
cv: f64,
gaps: usize,
dominant_size: Option<f64>,
},
Cadence {
gap_ms: f64,
share: f64,
gaps: usize,
},
Timer {
low_ms: f64,
median_ms: f64,
high_ms: f64,
cv: f64,
gaps: usize,
share: f64,
pauses: usize,
},
PingPong {
pairs: usize,
share: f64,
},
Ladder {
side: BookSide,
levels: usize,
shape: LadderShape,
size: f64,
last_size: f64,
step_pct: f64,
},
RoundNotional {
side: BookSide,
levels: usize,
of: usize,
examples: Vec<f64>,
},
DepthCycle {
side: BookSide,
period_ms: f64,
cycles: usize,
cv: f64,
runs: usize,
},
}Expand description
One signal that was found, with its evidence.
Variants§
RepeatedSize
count of of trades have the exact size size (base units).
FewSizes
count of of trades have one of the exact sizes sizes, most
common first.
Metronome
Gaps between trade events average mean_gap_ms, with a coefficient
of variation cv, over gaps gaps. dominant_size is set when the
cadence is that of the repeated-size trades only.
Cadence
share of gaps gaps between trade events are gap_ms apart
(within CADENCE_TOLERANCE).
Timer
share of gaps gaps between trade events run from low_ms to
high_ms around median_ms (a timer with jitter); pauses gaps are
far longer (the bot resting between bursts). cv is the spread of
all the gaps.
PingPong
pairs buy/sell pairs of the same size, close in time and price,
cover share of the trades.
Ladder
levels consecutive side levels at steps of about step_pct
percent, from size at the first to last_size (base units),
shaped as shape.
RoundNotional
levels of the top of side levels are whole quote amounts (the
first few in examples) though their sizes are not whole.
DepthCycle
Across the runs of a repeat: the side depth refilled every
period_ms (a coefficient of variation cv) and drained between,
cycles times over runs runs. A saw-tooth no single book shows.