Debug & Enhance Python Trading Platform
Budget / Salary₹600–1,500
TypeFreelance project
LocationRemote
Posted2 hours ago
# Python Trading Systems Engineer Needed — Debug Zerodha Live Option-Premium Feed and Paper Trade Monitoring
## Project Overview
I am developing an options trading platform using Python, FastAPI, Zerodha Kite Connect, and a modular trading backend.
The platform includes a market-data pipeline, instrument repository, option tick store, strategy engine, and paper/shadow trade execution and position monitoring.
I need an experienced Python backend engineer with practical knowledge of real-time market-data systems and event-driven trading applications to diagnose and fix an intermittent issue in the existing codebase.
**This is an existing-system debugging project, not a complete platform rebuild.**
## Problem Statement
The Zerodha WebSocket feed receives option-market data, and the application successfully normalizes and routes option ticks into its option tick store. However, the position-monitoring service intermittently reports:
`Skipping position monitoring: missing, invalid, or stale premium for [OPTION_SYMBOL] (token=[INSTRUMENT_TOKEN])`
The affected examples include BAJAJ-AUTO and TCS option contracts.
The issue persists despite repeated debugging. We need to establish the actual root cause rather than make assumptions.
Potential investigation areas include:
- Tick processing, normalization, enrichment, validation, and routing.
- Instrument-token mapping and option contract identification.
- OptionTickStore updates, price retrieval, and timestamp handling.
- Five-second freshness validation and local receive-time tracking.
- WebSocket disconnections, reconnections, and subscription restoration.
- Shared in-memory state, module imports, and multiple Python processes.
- Exceptions or processing delays that interrupt tick handling.
- Differences between the running application and the inspected source code.
These are investigation hypotheses, not confirmed root causes.
## Scope of Work
1. Review the existing architecture and trace the complete path from Zerodha WebSocket ticks to option storage and position monitoring.
2. Reproduce the issue or develop a reliable diagnostic test using the supplied logs and test environment.
3. Identify the specific reason valid option premiums are intermittently unavailable or rejected as stale.
4. Implement a minimal, well-documented fix after confirming the root cause.
5. Add targeted diagnostic logging and automated regression tests.
6. Verify that paper/shadow positions continue to be monitored correctly and that existing trading behavior remains unchanged.
7. Provide a concise technical report describing the root cause, changes made, test results, and any remaining limitations.
## Important Constraints
- Preserve the existing trading strategy and its entry, stop-loss, and target rules.
- Do not increase or remove the freshness threshold without evidence and approval.
- Do not introduce live broker-order execution as part of this assignment.
- Do not rebuild unrelated modules or make broad architectural changes without approval.
- All changes must be reviewed and tested before integration.
## Required Experience
- Strong Python debugging and backend engineering.
- WebSockets, asynchronous/event-driven processing, and real-time data pipelines.
- Experience diagnosing shared state, concurrency, timestamps, and stale-data problems.
- Automated testing and regression prevention.
- Preferably, hands-on experience with Zerodha Kite Connect or another brokerage market-data API.
## Expected Deliverables
- Root-cause analysis supported by code and log evidence.
- Minimal code fix with a clear change summary.
- Regression tests covering missing, stale, and valid option premiums.
- Verification of tick routing and position-monitoring behavior.
- Setup/run instructions and a final technical report.
## Proposal Requirements
Please explain:
1. How you would investigate this issue before modifying the code.
2. Your experience with real-time market-data feeds and trading-system debugging.
3. How you would distinguish a genuinely stale quote from a tick that was received but stored in a different process or module instance.
4. Your estimated timeline, milestones, and fixed-price quote.
5. One or two examples of comparable debugging work, if available.
I am looking for an engineer who can demonstrate a systematic, evidence-based debugging approach and deliver a verified fix.
## Project Overview
I am developing an options trading platform using Python, FastAPI, Zerodha Kite Connect, and a modular trading backend.
The platform includes a market-data pipeline, instrument repository, option tick store, strategy engine, and paper/shadow trade execution and position monitoring.
I need an experienced Python backend engineer with practical knowledge of real-time market-data systems and event-driven trading applications to diagnose and fix an intermittent issue in the existing codebase.
**This is an existing-system debugging project, not a complete platform rebuild.**
## Problem Statement
The Zerodha WebSocket feed receives option-market data, and the application successfully normalizes and routes option ticks into its option tick store. However, the position-monitoring service intermittently reports:
`Skipping position monitoring: missing, invalid, or stale premium for [OPTION_SYMBOL] (token=[INSTRUMENT_TOKEN])`
The affected examples include BAJAJ-AUTO and TCS option contracts.
The issue persists despite repeated debugging. We need to establish the actual root cause rather than make assumptions.
Potential investigation areas include:
- Tick processing, normalization, enrichment, validation, and routing.
- Instrument-token mapping and option contract identification.
- OptionTickStore updates, price retrieval, and timestamp handling.
- Five-second freshness validation and local receive-time tracking.
- WebSocket disconnections, reconnections, and subscription restoration.
- Shared in-memory state, module imports, and multiple Python processes.
- Exceptions or processing delays that interrupt tick handling.
- Differences between the running application and the inspected source code.
These are investigation hypotheses, not confirmed root causes.
## Scope of Work
1. Review the existing architecture and trace the complete path from Zerodha WebSocket ticks to option storage and position monitoring.
2. Reproduce the issue or develop a reliable diagnostic test using the supplied logs and test environment.
3. Identify the specific reason valid option premiums are intermittently unavailable or rejected as stale.
4. Implement a minimal, well-documented fix after confirming the root cause.
5. Add targeted diagnostic logging and automated regression tests.
6. Verify that paper/shadow positions continue to be monitored correctly and that existing trading behavior remains unchanged.
7. Provide a concise technical report describing the root cause, changes made, test results, and any remaining limitations.
## Important Constraints
- Preserve the existing trading strategy and its entry, stop-loss, and target rules.
- Do not increase or remove the freshness threshold without evidence and approval.
- Do not introduce live broker-order execution as part of this assignment.
- Do not rebuild unrelated modules or make broad architectural changes without approval.
- All changes must be reviewed and tested before integration.
## Required Experience
- Strong Python debugging and backend engineering.
- WebSockets, asynchronous/event-driven processing, and real-time data pipelines.
- Experience diagnosing shared state, concurrency, timestamps, and stale-data problems.
- Automated testing and regression prevention.
- Preferably, hands-on experience with Zerodha Kite Connect or another brokerage market-data API.
## Expected Deliverables
- Root-cause analysis supported by code and log evidence.
- Minimal code fix with a clear change summary.
- Regression tests covering missing, stale, and valid option premiums.
- Verification of tick routing and position-monitoring behavior.
- Setup/run instructions and a final technical report.
## Proposal Requirements
Please explain:
1. How you would investigate this issue before modifying the code.
2. Your experience with real-time market-data feeds and trading-system debugging.
3. How you would distinguish a genuinely stale quote from a tick that was received but stored in a different process or module instance.
4. Your estimated timeline, milestones, and fixed-price quote.
5. One or two examples of comparable debugging work, if available.
I am looking for an engineer who can demonstrate a systematic, evidence-based debugging approach and deliver a verified fix.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.