Expert Full-Stack Python Developer Event-Driven Trading Bot with Web UI
Budget: -
HOURLY / PART_TIME
⭐ 3.91 (5)
Morocco
postgresql, python, api-integration, data-ingestion, websockets
I am seeking an expert full-stack developer or quantitative engineer to build a high-performance, modular, custom automated trading system. The system will feature an interactive web-based dashboard interface, a highly accurate event-driven backtesting engine, and a live-streaming forward testing (paper trading) engine.
The architecture must be asset-agnostic, capable of handling historical and real-time data feeds for both Futures and CFDs across various indices/charts (e.g., Nasdaq/NAS100, S&P 500, DAX) simply by updating a configuration or inputting a different data stream. The system will also connect to a Cloud AI API (e.g., Anthropic Claude or OpenAI) to process market context or assist in execution logic.
Core Technical Stack & Architecture Requirements
Backend: Python 3.11+ using FastAPI and Asyncio for an asynchronous execution loop, multi-threading data streams, and low-latency API connections.
Web UI Dashboard: Built using Python-native web frameworks like Streamlit or Reflex to keep the front and back end unified.
Charting Frontend: Integration of TradingView’s open-source Lightweight Charts library (e.g., via streamlit-lightweight-charts) directly into the dashboard for clean, fast visual tracking of candles and order executions.
Database: SQLite for local development or PostgreSQL via SQLAlchemy for handling trade logs, metrics, and data tracking.
Non-Negotiable Technical Specifications
Event-Driven Backtesting: Vectorized/look-ahead backtesters will not be accepted. The backtesting engine must process data bar-by-bar (or tick-by-tick) sequentially. The exact same strategy logic file must seamlessly transition from backtesting to live-forward testing without code adjustments.
Universal Data Layer: The strategy logic must handle a normalized data object [Timestamp, Open, High, Low, Close, Volume] independent of whether the underlying feed is from a Futures broker or a CFD provider.
UI Fail-Safe Master Kill-Switch: The dashboard must feature a prominently pinned, red "PANIC / FLATTEN ALL" button. Clicking this button must immediately bypass strategy code, trigger market close orders for all open positions directly at the broker API level, and pause the core engine loop.
Security: No API keys or broker credentials can be hardcoded. Strict implementation of an encrypted or standard .env configuration manager is mandatory.
Required System Architecture (Directory Skeleton)
The system must be built cleanly and modularly. We expect the codebase to adhere strictly to the following directory layout:
trading_bot_system/
│
├── core/ # Core system loops and runtime controls
│ ├── engine.py # Main loop managing Backtest vs. Forward-Test modes
│ ├── config.py # Secure credential and parameter manager (.env based)
│ └── logger.py # Advanced execution logging (errors, fills, API payloads)
│
├── data/ # Ingestion pipelines
│ ├── historical_loader.py # Standardizes data formats for event-driven backtesting
│ └── live_streamer.py # Asynchronous WebSockets parsing live broker feeds
│
├── strategy/ # Strategy engine
│ ├── base_strategy.py # Abstract base class for strategy modules
│ ├── engine_logic.py # Primary structural price array and setup logic
│ └── ai_context_client.py # Asynchronous connector to Cloud AI API
│
├── execution/ # Asset-specific trade execution modules
│ ├── broker_interface.py # Base abstract broker API layer
│ ├── futures_executor.py # Handles margins, contract tracking, ticks
│ └── cfd_executor.py # Handles standard continuous lots and leverage
│
└── dashboard/ # Dashboard front-end interface
├── app.py # Main Streamlit/Reflex entry point
├── components/ # Metrics grids, input fields, control panels
└── tv_charts.py # TradingView chart canvas wrapper
Ouvrir sur Upwork