Gold ETF iNAV Ladder Trading Bot

Job ID: 40120497

Budget: ₹1,500 – ₹12,500 INR

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.