Gold ETF iNAV Ladder Trading Bot

Замовник: AI | Опубліковано: 05.01.2026

I need a clean, modular Python program that automates a market-making style strategy for a Gold ETF, using its real-time indicative NAV (iNAV) as the fair-value anchor. The bot must connect to an “Other” brokerage API rather than Interactive Brokers or TD Ameritrade; we can finalise the exact venue together, but please be comfortable wiring into a REST or WebSocket interface and handling authentication, order placement, and streaming market data. Core logic • Continuously read real-time market data and calculate—or ingest—the ETF’s iNAV. • Maintain two five-level limit-order ladders, one above and one below iNAV, starting at ±3 BPS and widening each successive level by exactly 1 BPS. • Each level carries the same quantity (equal-sized clips). BPS values as well as per-level quantities must be adjustable via a simple config file or command-line flags. • When any order fills, instantly place an exit order on the opposite side at the fill price ±3 BPS. Exit orders are “locked”: they stay at their original price even if iNAV drifts. • After a fill, re-price only the still-working ladder levels to preserve the spacing and keep inventory balanced. • Track position, PnL, and outstanding risk in real time. Implementation notes I prefer a well-structured repository that separates data ingestion, order management, strategy logic, and configuration. Clear docstrings, type hints, and concise logging are expected so I can extend the code later or plug in unit tests. Acceptance criteria • End-to-end demo in a paper-trading or sandbox environment of the chosen “Other” broker, showing orders entered, re-priced, and exited exactly per the rules above. • Config file proves that ladder size, BPS offsets, and quantities are truly dynamic. • Code passes a quick review for readability and modularity; no hard-coded secrets or magic numbers. Experience designing live algo-trading or market-making systems will weigh heavily in selection. If this sounds straightforward to you, let’s chat and get the bot humming.