Historical Ticker Plant

Use Case

Historical Ticker Plant

  • Store historical daily and intraday asset quotes and trades data
  • Use Polars and DuckBD to perform various analytics on the data

Tools Used

  • Polars
  • Duck DB

Dataflow Diagram

Session 1

Topics Discussed

  • Rust Application Setup
  • Interaction between NSQ and Rust Application (Demo)

Video explanation

Rust Sessioin 1

Source Code

https://github.com/sravzpublic/training/tree/master/training-rust/sravz

Session 2

Dataflow Diagram

Topics Discussed

  • Ticker plant internal components
    • Main Module
    • Router
    • Services
  • Demo of Leveraged Funds service usage

Video explanation

Rust Sessioin 2

Source Code

Session 3

Dataflow Diagram

Topics Discussed

  • Py03 integration
  • Pass polars dataframe to Python
  • Review matplotlib output

Video explanation

Rust Sessioin 3

Source Code

Session 4

Dataflow Diagram

Topics Discussed

  • Config struct to parse environment variables
  • Ticker plant send the output on the NSQ backend-node topic

Video explanation

Rust Sessioin 3

Session 5

Dataflow Diagram

Topics Discussed

  • Demo:
    • Angular UI sends a message to the backend-node over socket.io websockets
    • Backend-node server receives the message on the socket.io websocket
    • Backed-node sends the message to NSQ Server on the backend-rust topic
    • Backend-rust receives the message on the NSQ Server backend-rust topic
    • Backend-rust process the message
    • Backend-rust send the response to NSQ Server on the backend-node topic
    • Backend-node receives the response message on the backend-node topic
    • Backend-node sends the response message on WebSocket Socket.IO to Angular UI
    • Angular UI Debug Console shows the message received from the backend-rust
  • Added config.toml support to pass extra config data to backend-rust
  • Removed .expect and .unwrap usage which cause panics
  • Use match pattern to match enun result pattern
  • Error handling using Box<dyn Error>

Video explanation

Rust Sessioin 5

References

Polars
NSQ
Socket.IO
Py03

comments powered by Disqus