Python Excel Trade terminal Migration

Job ID: 39768381

Budget: $30 – $250 USD

Project Overview
Objective:
Migrate and adapt an advanced Python-based Excel trading terminal (currently working with Finvasia Shoonya API) to work entirely with the ICICI Direct (equity and derivatives) API. The new solution should replicate all live trading, order management, option chain, and portfolio tracking features of the original tool, utilizing ICICI Direct’s official APIs and real-time market feeds.

About the Current System
The current tool is a robust Excel-integrated trading and analytics system, written in Python, using the Finvasia Shoonya API (via NorenRestApiPy) and xlwings for Excel connectivity.

It provides live order placement/cancellation, advanced order book, real-time market/option-chain data with Greeks, and portfolio/holdings management, all directly visible and actionable from Excel.

Notifications are available via Telegram and system voice alerts.

Project Requirements
1. Complete API Migration
Deeply review the provided code and logic for all trading, market data, and Excel automation flows.

Understand Finvasia’s Shoonya API implementation and rewrite all API interactions to use ICICI Direct’s equivalent endpoints (REST/WebSocket), including:

Login/session management (ICICI Direct's authentication protocols).

Real-time market feed (tick/quote updates for equities and derivatives, via ICICI WebSocket).

Order placement, cancelation, and status tracking.

Fetching positions, holdings, funds, and margins.

Option chain instruments lookup, with all strike/greek/OI/volume data.

2. Excel UI & Functional Parity
Preserve the Excel workbook UI and logic—terminal sheet, option chain, orderbook, holdings, and their data flows should work as in the original tool.

Xlwings and pandas should remain the core libraries for Excel-Python connectivity and data management.

3. Feature Matching
The following features must be ported and operational with ICICI Direct:

Trade Terminal: Real-time market orders, limit/SL orders, trailing SL, auto target, and cancel/square-off from Excel.

Order Book: Live order status with cancel facility.

Portfolio/Holdings: MTM/P&L, net quantity, average price calculation, updated via ICICI feed.

Option Chain with Greeks:

Subscribe to option chain for any instrument.

Calculate/refresh real-time Greeks (Delta, Gamma, Theta, Vega, Rho, IV, OI, change in OI, etc.) for all visible strikes.

Telegram and Voice Alerts: Integrate all order updates/important events to Telegram bot and system voice (as per current codebase).

Configurable via Excel: Enable/disable modules from Excel Config sheet.

4. Documentation and Support
Code comments and a separate usage/setup document are required for deployment and maintainability.

Basic post-delivery support (in-message/email) during initial testing.

5. Technical Stack
Python 3.x, pandas, xlwings, requests (and python-socketio or equivalent for ICICI WebSocket).

All solution components should reside locally (no cloud dependency).

Must adhere to ICICI Direct’s API rate limits, authentication, and session preservation mechanics.

Deliverables
Full working Python source code, ready to run with ICICI Direct API, matching the features of the existing Finvasia tool.

Excel workbook template (xlsm/xlsx) with integrated sheets (Trade Terminal, Option Chain, Order Book, Holdings/Portfolio, Config).

Documentation

Instructions for setup, API key/secret integration, and usage.

Description of all core methods and modules.

Demo/Test

Live demonstration via screen-share or video showing the tool working with real/sandbox ICICI Direct account and API feeds.

Desired Freelancer Profile
Proven experience integrating ICICI Direct APIs (REST/WebSocket endpoints for trading/market data).

Strong background in Python (especially pandas, xlwings, threading, and error/log handling).

Hands-on with automated trading, Excel dashboards, and options analytics.

Ability to understand and translate business logic from one broker’s API to another.