Software Developer (Python / Django / PySide6)

Beschreibung der OptionsApp

1. Beschreibung

Die OptionsApp ist eine spezialisierte Windows-Desktop-Software für den vollautomatisierten Optionshandel. Sie führt vom Nutzer definierte Handelsstrategien präzise, regelbasiert und ohne manuelles Eingreifen aus. Die Software selbst entwickelt keine Strategien, sondern sorgt für deren saubere technische Umsetzung, Überwachung und Dokumentation.

Die Anwendung arbeitet dauerhaft im Zusammenspiel mit der Trader Workstation (TWS) von Interactive Brokers (IBKR). Die TWS ist die Handelsplattform von Interactive Brokers, über die der jeweilige User in seinem Handelskonto eingeloggt ist. Über die offizielle TWS-API kommuniziert die OptionsApp in Echtzeit mit der TWS, um Kauf- und Verkaufsorders zu senden, zu empfangen und laufende Positionen zu verwalten.

Sobald die Verbindung hergestellt ist, übernimmt die OptionsApp alle operativen Schritte der automatisierten Ausführung: von der Kontraktsuche und Orderplatzierung über das Risikomanagement (bspw. aktives Managen von Stop-Orders) bis hin zur lückenlosen Protokollierung aller Trades. Der gesamte Ablauf erfolgt nach festgelegten Regeln und macht den Handel dadurch präzise, reproduzierbar und transparent.

Die OptionsApp richtet sich an Optionstrader, die ihre eigenen Strategien automatisiert handeln möchten, unabhängig von der Komplexität und Handelsfrequenz.

2. Hauptfunktionen im Überblick

2.1 Strategieerstellung

Nutzer definieren ihre Handelsstrategien selbst in sogenannten Trade-Templates. Diese ermöglichen einfache oder komplexe Multi-Leg-Strukturen, zum Beispiel Iron Condors, Verticals oder Butterflies. Darüber hinaus kann ein Zeitplan hinterlegt werden, wann welche Trades und zu welchen Bedingungen eröffnet werden sollen.

2.2 Regelbasierte Ausführung

Einstiege und Ausstiege erfolgen ausschließlich nach den konfigurierten Regeln. Dabei können technische Indikatoren wie SMA, EMA oder MACD mit Marktbedingungen und zeitabhängigen Kriterien kombiniert werden.

2.3 Automatisiertes Risikomanagement

Über P&L-Actions steuert die OptionsApp Stop Loss, Profit Target, Delta-Exit oder Early-Exit automatisch. Dadurch kann der Händler Verluste begrenzen und Gewinne systematisch sichern, insofern dies in seiner Strategie sinnvoll ist.

2.4 Analyse und Dokumentation

Alle Trades werden automatisch protokolliert und ausgewertet. Das integrierte Evaluationsmodul zeigt Kennzahlen wie Gewinn, Verlust, Drawdown oder Zeit bis zur Erholung an und ermöglicht Strategievergleiche.

Anforderungsprofil: Softwareentwickler (Python / Django / PySide6)

1. Ziel der Position

Der Softwareentwickler unterstützt das Entwicklungsteam der OptionsApp bei der kontinuierlichen Weiterentwicklung und technischen Optimierung der bestehenden Plattform. Die Tätigkeit umfasst primär die Entwicklung der Desktop-Applikation (Python / PySide6) sowie der serverseitigen Django-Komponenten für Benutzerverwaltung, Lizenzmanagement und Datenaustausch. In einem zweiten Schritt besteht die Möglichkeit, ein eigenständiges Backtesting-System auf der Serverseite zu entwickeln und in die bestehende Infrastruktur zu integrieren.

2. Aufgabenbereich – Priorität 1: Weiterentwicklung der bestehenden OptionsApp

2.1 Client (Desktop-Applikation)

  • Weiterentwicklung der in Python / PySide6 (Qt for Python) entwickelten OptionsApp
  • Pflege und Erweiterung der Oberfläche (UI/UX) sowie der internen Logik
  • Umsetzung neuer Funktionen und Konfigurationsmöglichkeiten für Optionsstrategien
  • Optimierung des Thread-Managements und der Signalverarbeitung für Markt- und Preisdaten
  • Integration zusätzlicher technischer Indikatoren, Exit-/Entry-Conditions und Ordertypen
  • Fehleranalyse, Performanceverbesserung und Stabilitätsoptimierung

2.2 Server (Benutzer- und Lizenzverwaltung)

  • Weiterentwicklung des bestehenden Django-Backends für Benutzerverwaltung, Session-Management und Lizenzsteuerung
  • Implementierung und Pflege von REST-APIs zur Kommunikation zwischen Desktop-Client und Server
  • Erweiterung der Datenbankmodelle (PostgreSQL / SQLite)
  • Sicherstellung der Stabilität und Sicherheit der Server-Komponenten
  • Monitoring und Logging von Benutzeraktivitäten sowie Optimierung der Zugriffsverwaltung
  • Verwaltung der Cloud-Infrastruktur (AWS EC2, RDS, S3, Load Balancer)

3. Aufgabenbereich – Erweiterung: Backtesting-System (Serverseitig)

In einer zweiten Phase ist der Aufbau eines skalierbaren, webbasierten Backtesting-Moduls vorgesehen. Dieses Modul soll es Nutzern ermöglichen, historische Kursdaten und Strategien über die OptionsApp-Umgebung zu simulieren und auszuwerten.

3.1 Ziel und Funktionsumfang

  • Entwicklung einer Backtesting-Engine auf Basis von Django und Python
  • Integration in die bestehende Benutzerverwaltung und Lizenzstruktur
  • Simulation und Auswertung von Strategien mit historischen SPX/SPY-Daten
  • Bereitstellung einer webbasierten Oberfläche zur Ergebnisdarstellung
  • Skalierbare Ausführung über AWS (Parallelisierung, Lastverteilung, Daten-Caching)

3.2 Technische Anforderungen

  • Umsetzung in Python / Django REST Framework
  • Nutzung von AWS-Komponenten (EC2, Lambda, RDS, S3) zur Lastverteilung
  • Aufbau eines verteilten Systems zur parallelen Simulation
  • Optional: Integration einer Browser-basierten Oberfläche (HTML, JavaScript, React)

4. Technologische Basis

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

5. Anforderungen an die Qualifikation

Pflichtkenntnisse:

  • Sehr gute Kenntnisse in Python 3.x
  • Erfahrung mit PySide6 (Qt for Python) oder ähnlichen GUI-Frameworks
  • Gute Kenntnisse in Multithreading / Asynchroner Programmierung
  • Erfahrung mit Django und Django REST Framework
  • Kenntnisse in API-Integration (REST / WebSocket)
  • Sicherer Umgang mit AWS (EC2, RDS, Load Balancer, S3)
  • Versionskontrolle mit Git

Wünschenswerte Kenntnisse:

  • Erfahrung mit der Interactive Brokers TWS API
  • Verständnis für Optionshandel und Strategielogik
  • Kenntnisse in Browser-Frontends (JavaScript)
  • Grundkenntnisse in Docker, CI/CD und System-Monitoring

6. Persönliche Anforderungen

  • Analytisches Denken und strukturierte Vorgehensweise
  • Eigenständige, verantwortungsvolle Arbeitsweise
  • Interesse an algorithmischem Handel und quantitativer Analyse
  • Kommunikationsfähigkeit im Remote-Team
  • Fokus auf Codequalität, Stabilität und Wartbarkeit

7. Ziel der Zusammenarbeit

Das Ziel ist eine langfristige technische Unterstützung für die Weiterentwicklung der OptionsApp. Der Entwickler soll die bestehende Client-Server-Struktur weiter stabilisieren, neue Funktionen effizient umsetzen und perspektivisch das Backtesting-Modul als eigenständige, skalierbare Serverkomponente realisieren.