pub struct BotPatterns {
pub trades_sampled: usize,
pub tape_note: Option<String>,
pub findings: Vec<Finding>,
pub bot_like_pct: Option<f64>,
pub bot_like_volume_pct: Option<f64>,
pub book_checked: bool,
}Expand description
The bot-pattern result of one summary.
Fields§
§trades_sampled: usizeTrades the tape signals read (0 when there was no tape).
tape_note: Option<String>Why the tape signals did not run, when they did not.
findings: Vec<Finding>The signals found.
bot_like_pct: Option<f64>Share of the sampled trades, in percent, that a repeated-size or ping-pong signal covers. Reported only: it changes no volume figure.
bot_like_volume_pct: Option<f64>The same trades’ share of the sampled volume (price × quantity), in percent: many tiny bot trades can be little of the volume.
book_checked: boolTrue when a real exchange book was read for ladders.
Implementations§
Source§impl BotPatterns
impl BotPatterns
The share of the sampled trades, and of their volume, that a repeated-size or ping-pong signal marks as bot-made, when any is.
Sourcepub fn format_text(&self) -> String
pub fn format_text(&self) -> String
The report section: the signals in the trades, then those in the book, one line each under its group, then the share.
├── Bot Patterns · likely market-making bots
│ Trades 500 sampled
│ ! Jittered timer 90% of 499 gaps between trades are 32–58s (median 46s)
│ Book top levels of each side
│ ! Bid ladder 9 levels falling 560.112 → 110.1101 at 0.01% stepsSourcepub fn evidence(&self) -> Vec<String>
pub fn evidence(&self) -> Vec<String>
Every finding on its own line (label: evidence), then the share,
for a report that lists them.
Sourcepub fn set_depth_cycles(&mut self, bid: &[(i64, f64)], ask: &[(i64, f64)])
pub fn set_depth_cycles(&mut self, bid: &[(i64, f64)], ask: &[(i64, f64)])
Replaces the depth-cycle findings with those in bid and ask
(time in ms, depth; one point per run, oldest first).
Sourcepub fn check(&self) -> HealthCheck
pub fn check(&self) -> HealthCheck
The health check line: a count and the signals’ names, short enough for a list of checks; the evidence goes in its own section. Nothing found passes when the tape was read; with no tape and no book signal it does not apply.