orderflow_backtest/visualizer_test.py

39 lines
1.0 KiB
Python

"""Interactive demo for the Visualizer; run manually, not as a test."""
import random
from datetime import datetime
from visualizer import Visualizer
from storage import Book, BookSnapshot, OrderbookLevel
def demo_visualizer_creates_single_bar_on_flush() -> None:
vis = Visualizer(window_seconds=60, max_bars=10)
book = Book()
ts = datetime.now().timestamp()
snapshot = BookSnapshot(timestamp=int(ts))
for r in range(100):
snapshot.bids[100000 + random.random() * 100] = OrderbookLevel(
price=100000 + random.random() * 100,
size=1.0,
liquidation_count=0,
order_count=1,
)
snapshot.asks[100000 + random.random() * 100] = OrderbookLevel(
price=100000 + random.random() * 100,
size=1.0,
liquidation_count=0,
order_count=1,
)
book.add_snapshot(snapshot)
vis.update_from_book(book)
vis.flush()
vis.show()
if __name__ == "__main__":
demo_visualizer_creates_single_bar_on_flush()