Software Developer (Python / Django / PySide6)

Description of the OptionsApp

1. Description

The OptionsApp is a specialized Windows desktop application designed for fully automated options trading. It executes user-defined trading strategies precisely, rule-based, and without manual intervention. The software itself does not develop or recommend strategies; instead, it ensures their clean technical execution, monitoring, and documentation.

The application operates continuously in conjunction with the Trader Workstation (TWS) from Interactive Brokers (IBKR). The TWS is the trading platform provided by Interactive Brokers, where each user is logged into their brokerage account. Through the official TWS API, the OptionsApp communicates in real time with the TWS to send and receive buy and sell orders and to manage open positions.

Once the connection is established, the OptionsApp takes over all operational steps of automated execution: from contract selection and order placement to risk management (such as dynamically managing stop orders) and complete trade logging. The entire process follows predefined rules, making trading precise, reproducible, and transparent.

The OptionsApp is designed for options traders who wish to automate their own strategies, regardless of strategy complexity or trading frequency.

2. Key Features Overview

2.1 Strategy Creation

Users define their trading strategies in so-called trade templates. These templates allow for simple or complex multi-leg structures such as Iron Condors, Verticals, or Butterflies. In addition, a schedule can be defined to determine when specific trades should be opened and under what conditions.

2.2 Rule-Based Execution

Entries and exits are executed strictly according to the configured rules. Technical indicators such as SMA, EMA, or MACD can be combined with market conditions and time-based criteria.

2.3 Automated Risk Management

Using P&L Actions, the OptionsApp automatically controls Stop Loss, Profit Target, Delta Exit, or Early Exit. This allows traders to limit losses and secure profits systematically, as defined within their individual strategies.

2.4 Analysis and Documentation

All trades are automatically logged and evaluated. The integrated evaluation module displays metrics such as profit, loss, drawdown, and time to recovery, enabling comprehensive strategy comparisons.

Job Profile: Software Developer (Python / Django / PySide6)

1. Objective of the Position

The software developer supports the OptionsApp development team in the continuous improvement and technical optimization of the existing platform. The main responsibilities include the development of the desktop application (Python / PySide6) as well as the server-side Django components for user management, license management, and data exchange. In a second phase, there will be the opportunity to develop an independent backtesting system on the server side and integrate it into the existing infrastructure.

2. Area of Responsibility – Priority 1: Further Development of the Existing OptionsApp

2.1 Client (Desktop Application)

  • Further development of the Python / PySide6 (Qt for Python)-based OptionsApp
  • Maintenance and expansion of the user interface (UI/UX) and internal logic
  • Implementation of new functions and configuration options for option strategies
  • Optimization of thread management and signal processing for market and price data
  • Integration of additional technical indicators, exit/entry conditions, and order types
  • Error analysis, performance improvement, and stability optimization

2.2 Server (User and License Management)

  • Further development of the existing Django backend for user management, session handling, and license control
  • Implementation and maintenance of REST APIs for communication between desktop client and server
  • Extension of database models (PostgreSQL / SQLite)
  • Ensuring stability and security of server components
  • Monitoring and logging of user activities as well as optimization of access control
  • Management of cloud infrastructure (AWS EC2, RDS, S3, Load Balancer)

3. Area of Responsibility – Expansion: Backtesting System (Server-Side)

In a second phase, the development of a scalable, web-based backtesting module is planned. This module will enable users to simulate and analyze historical price data and strategies within the OptionsApp environment.

3.1 Objective and Scope

  • Development of a backtesting engine based on Django and Python
  • Integration into the existing user management and licensing structure
  • Simulation and evaluation of strategies with historical SPX/SPY data
  • Provision of a web-based interface for results visualization
  • Scalable execution via AWS (parallelization, load balancing, data caching)

3.2 Technical Requirements

  • Implementation in Python / Django REST Framework
  • Use of AWS components (EC2, Lambda, RDS, S3) for load distribution
  • Setup of a distributed system for parallel simulations
  • Optional: Integration of a browser-based interface (HTML, JavaScript, React)

4. Technological Foundation

ComponentTechnology
ClientPython 3.x, PySide6 (Qt for Python), Multithreading, REST API
ServerDjango / Django REST Framework, PostgreSQL / SQLite
API / CommunicationREST, JSON, WebSockets
Cloud InfrastructureAWS (EC2, RDS, S3, Load Balancer, Monitoring)
ToolsGit, Docker (optional), Jenkins / CI
Broker IntegrationInteractive Brokers TWS API (Java / Python Wrapper)

5. Qualification Requirements

Required Skills:

  • Strong knowledge of Python 3.x
  • Experience with PySide6 (Qt for Python) or similar GUI frameworks
  • Good understanding of multithreading / asynchronous programming
  • Experience with Django and Django REST Framework
  • Knowledge of API integration (REST / WebSocket)
  • Proficiency with AWS (EC2, RDS, Load Balancer, S3)
  • Version control using Git

Desirable Skills:

  • Experience with the Interactive Brokers TWS API
  • Understanding of options trading and strategy logic
  • Knowledge of browser frontends (JavaScript)
  • Basic knowledge of Docker, CI/CD, and system monitoring

6. Personal Requirements

  • Analytical thinking and structured approach
  • Independent and responsible working style
  • Interest in algorithmic trading and quantitative analysis
  • Communication skills in a remote team
  • Focus on code quality, stability, and maintainability

7. Objective of the Collaboration

The goal is to provide long-term technical support for the further development of the OptionsApp. The developer should continue to stabilize the existing client-server structure, implement new functions efficiently, and eventually realize the backtesting module as an independent, scalable server component.