Expand description
itchy - a nom-based parser for the NASDAQ ITCH protocol 5.0
It aims to sensibly handle the whole protocol. It is zero-allocation and pretty fast. It will process several million messages per second on a decent CPU.
Typical usage:
ⓘ
extern crate itchy;
let stream = itchy::MessageStream::from_file("/path/to/file.itch").unwrap();
for msg in stream {
println!("{:?}", msg.unwrap())
}The protocol specification can be found on the NASDAQ website
Structs§
- AddOrder
- Array
String - A string with a fixed capacity.
- Cross
Trade - Imbalance
Indicator - IpoQuoting
Period - Market
Participant Position - Message
- An ITCH protocol message. Refer to the protocol spec for interpretation.
- Message
Stream - Represents an iterable stream of ITCH protocol messages
- NonCross
Trade - Price4
- Opaque type representing a price to four decimal places
- Price8
- Opaque type representing a price to eight decimal places
- Replace
Order - Retail
Price Improvement Indicator - Stock
Directory
Enums§
- Body
- The message body. Refer to the protocol spec for interpretation.
- Cross
Type - Error
- Event
Code - Financial
Status - Imbalance
Direction - Interest
Flag - IpoRelease
Qualifier - Issue
Classification - Issue
SubType - Level
Breached - Luld
RefPrice Tier - Market
Category - Market
Maker Mode - Market
Participant State - RegSho
Action - Side
- Trading
State
Type Aliases§
- Array
String4 - Stack-allocated string of size 4 bytes (re-exported from
arrayvec) - Array
String8 - Stack-allocated string of size 8 bytes (re-exported from
arrayvec)