PROJEKT

Automatyzacja handlu dzięki oprogramowaniu tradingowemu w Pythonie

Tworzenie dedykowanego oprogramowania, Automatyzacja handlu w Pythonie, Integracja z API brokera, Dane tradingowe z Excela, Backtesting strategii, Automatyzacja handlu opcjami, Panele tradingowe

  • Branża: Handel finansowy
  • Polska Lokalizacja: Polska
  • Czas realizacji: 16 tygodni
  • Technologie: Python, ccxt
4+ miesięcy

Ta firma zajmująca się handlem algorytmicznym poświęca czas na ręczną obsługę danych rynkowych, danych z arkuszy, weryfikację strategii i zleceń brokerskich. Oprogramowanie łączy konta brokerskie z danymi rynkowymi i strategiami tradingowymi, aby automatyzować kupno i sprzedaż. Odczytuje dane tradingowe z Excela i zwraca zespołowi firmy informacje o zleceniach, pozycjach i backtestach, pomagając ograniczyć ręczną pracę, powtarzalne przetwarzanie danych i wysiłek związany z realizacją zleceń.

Podsumowanie

Problem

Firma poświęca czas na ręczną analizę rynku, obsługę arkuszy kalkulacyjnych i składanie zleceń.

Rozwiązanie

Rozwiązaniem stało się oprogramowanie tradingowe w Pythonie, które łączy dane rynkowe, logikę strategii, arkusze kalkulacyjne i konta brokerskie.

Rezultat

Oprogramowanie ma ograniczyć ręczną pracę związaną z handlem, powtarzalne przetwarzanie danych i możliwy do uniknięcia wysiłek przy realizacji zleceń.

Historia klienta

Klientem jest firma zajmująca się handlem algorytmicznym z Polski. Prowadzi strategie na żywo, strategie przetestowane historycznie i strategie wysokiej częstotliwości za pośrednictwem API brokerów oraz zajmuje się handlem akcjami i opcjami.

Zespół obsługuje dane świecowe, dane wejściowe dotyczące handlu oraz zlecenia kupna i sprzedaży na kontach brokerskich. Traderzy i firmy tradingowe potrzebują zastąpić ręczną analizę danych rynkowych, obsługę danych transakcyjnych i składanie zleceń systemami automatycznymi.

Prośba była prosta: zautomatyzować proces handlowy w Pythonie, połączyć go z Interactive Brokers lub kontem Shoonya Broker, jeśli będzie to wymagane, oraz weryfikować strategie za pomocą backtestów. Firma potrzebowała także przekazywać dane z Excela do procesu i otrzymywać po realizacji zleceń zaktualizowane dane tradingowe.

Rozwiązanie zaprojektowano jako połączone ekrany do konfiguracji interwałów, analizy świec, monitorowania na żywo, obsługi danych Excel i backtestów. Pola strategii, typy zleceń, status brokera i dzienniki transakcji pozostawiono widoczne, aby firma mogła zarządzać procesem zgodnie z własnymi zasadami.

Klient poprosił o

  1. Weryfikację strategii za pomocą backtestów oraz zapewnienie wymaganych instrukcji lub dokumentacji.
  2. Stworzenie automatyzacji handlu w Pythonie, z możliwością wykorzystania Javy lub C++, jeśli będzie to potrzebne.
  3. Połączenie z Interactive Brokers lub kontem Shoonya Broker, jeśli będzie to wymagane.
  4. Odczytywanie danych tradingowych z Excela i aktualizowanie ich po realizacji zleceń.

Dlaczego gotowe oprogramowanie nie pasowało

Gotowe platformy brokerskie obsługują kupno, sprzedaż i zarządzanie aktywami finansowymi, ale ich opisy nie łączą danych z arkuszy tej firmy, konfigurowalnej logiki strategii, backtestów i realizacji zleceń brokerskich w jednym dopasowanym procesie. Rozwiązanie zaprojektowano tak, aby połączyć te elementy i dostosować je do własnych zasad firmy, a dokumentacja i wsparcie szkoleniowe umożliwiały samodzielne korzystanie z systemu.

Przegląd projektu

Rozwiązanie oparto na aplikacji tradingowej w Pythonie, która łączy dane rynkowe, logikę strategii, dane z arkuszy kalkulacyjnych i konta brokerskie. Struktura obejmuje najważniejsze etapy w jednym miejscu: przygotowanie danych, analizę świec, walidację strategii, realizację zleceń i monitorowanie pozycji.

Do obsługi danych tradingowych udostępniono przestrzeń roboczą Excel. Odczytuje ona dane z arkuszy, wyświetla dane świecowe i oznacza zaktualizowane dane tradingowe wygenerowane po realizacji zleceń.

Ekran tradingowy łączy wybieralne interwały, parametry strategii oraz kryteria kupna i sprzedaży. Status połączenia z brokerem oraz typy zleceń rynkowych, z limitem i stop pozostają dostępne na tym samym ekranie.

Aplikacja składa zlecenia za pośrednictwem obsługiwanych połączeń brokerskich i udostępnia informacje o realizacji do monitorowania.

Szczególną uwagę poświęcono walidacji strategii. Ekran backtestów wykorzystuje historyczne dane świecowe, parametry strategii i tabele wyników, aby firma mogła porównać strategię przed użyciem jej w handlu na żywo.

System zaplanowano jako zestaw modułów, pozostawiając przestrzeń na dokumentację, instrukcje konfiguracji, wsparcie po wdrożeniu i późniejsze rozszerzenia, takie jak lokalne przetwarzanie lub debugowanie rynku na żywo.

Dostarczone najważniejsze funkcje

  • Automatyczny handel za pośrednictwem kont brokerskich
  • Zlecenia rynkowe, z limitem i stop
  • Pobieranie danych świecowych w wybieralnych interwałach
  • Konfigurowalne strategie i kryteria kupna/sprzedaży
  • Import i aktualizacja danych tradingowych z Excela
  • Backtesting strategii z wykorzystaniem historycznych danych świecowych
  • Monitorowanie zleceń, pozycji i alertów na żywo
  • Status połączenia z kontem brokerskim
  • Automatyzacja handlu oparta na Pythonie

Możliwe rozszerzenia

+ Zniesienia Fibonacciego + Lokalne przetwarzanie danych + Dostosowane wywołania API + Debugowanie rynku na żywo

Kto jeszcze może korzystać z tego rozwiązania

Inne firmy tradingowe mają podobne potrzeby, a to samo rozwiązanie można dostosować do ich danych, strategii i połączeń brokerskich.

Biuro handlu akcjami

Zadanie Automatyzuje kupno i sprzedaż akcji za pośrednictwem kont brokerskich.
Jak pomaga rozwiązanie Rozwiązanie łączy dane rynkowe i zasady handlu ze zleceniami brokerskimi oraz monitorowaniem.

Zespół handlu opcjami

Zadanie Uruchamia konfigurowalne strategie handlu opcjami z określonymi parametrami i kryteriami kupna lub sprzedaży.
Jak pomaga rozwiązanie Rozwiązanie zapewnia konfigurację strategii, realizację zleceń przez brokera i backtesting w jednej aplikacji.

Firma inwestycyjna

Zadanie Zastępuje obsługę danych transakcyjnych opartą na arkuszach kalkulacyjnych botami tradingowymi w Pythonie.
Jak pomaga rozwiązanie Rozwiązanie odczytuje dane z Excela, aktualizuje dane tradingowe i śledzi realizację zleceń.

Stos technologiczny

Python

Język automatyzacji handlu

Python obsługuje logikę handlu, połączenia z brokerami i przetwarzanie danych.

ccxt

Połączenia z API tradingowym

ccxt to biblioteka łącząca oprogramowanie tradingowe z API giełd.

hyperliquid-python-sdk

Handel przez API Hyperliquid

hyperliquid-python-sdk łączy logikę tradingową w Pythonie z API Hyperliquid.

python-calamine

Odczyt plików Excel

python-calamine odczytuje pliki Excel i arkusze kalkulacyjne z danymi tradingowymi.

fastexcel

Szybki odczyt Excela

fastexcel odczytuje dane Excel na potrzeby przestrzeni roboczej danych tradingowych.

vectorbt

Backtesting strategii

vectorbt analizuje i wykonuje backtesting strategii tradingowych na dużą skalę.

backtesting

Testowanie strategii historycznych

backtesting uruchamia strategie tradingowe na historycznych danych świecowych.

bt

Elastyczny backtesting

bt zapewnia framework Pythona do testowania strategii tradingowych.

Excel / XLSX

Pliki danych tradingowych

Pliki Excel dostarczają dane wejściowe handlu i otrzymują zaktualizowane dane tradingowe.

Candle data

Analiza danych rynkowych

Dane świecowe wspierają analizę rynku w określonych interwałach i testowanie strategii.

Integracje

Interactive Brokers

Oprogramowanie łączy strategie tradingowe i zlecenia z platformą lub API Interactive Brokers.

Shoonya Broker Account

W razie potrzeby oprogramowanie przesyła aktywność tradingową przez konto Shoonya Broker.

Excel

Pliki Excel przekazują dane tradingowe do aplikacji i otrzymują zaktualizowane dane po realizacji zleceń.

Brokerage APIs

API brokerów obsługują zlecenia rynkowe, z limitem i stop oraz aktualizacje danych tradingowych.

Rezultat

Reguły handlu są gotowe do kontrolowanej realizacji

Ekran sterowania handlem łączy parametry strategii, kryteria kupna i sprzedaży oraz wybrany typ zlecenia ze statusem połączenia z brokerem. Firma ma dzięki temu jedno miejsce do przygotowywania automatycznych reguł handlu.

Aplikacja obsługuje zlecenia rynkowe, z limitem i stop oraz wykorzystuje wybieralny interwał w procesie handlowym.

Jak to działa

  1. Oprogramowanie pokazuje interwał handlu, parametry strategii, kryteria kupna i sprzedaży oraz status konta brokerskiego.
  2. Moduł strategii stosuje wybrane reguły handlu i typ zlecenia.
  3. Połączenie z brokerem wysyła zlecenia rynkowe, z limitem lub stop i zwraca informacje o realizacji.
  • Ustaw filtr czasu i interwał danych.
  • W razie potrzeby korzystaj z konfigurowalnych strategii handlu opcjami.
Uwaga: Interfejs wyświetla status brokera przed realizacją zlecenia.
Sterowanie handlem i konfiguracja interwału

Sterowanie handlem i konfiguracja interwału

Funkcje na tym ekranie
Ustaw filtr czasu handlu Ustaw interwał danych Twórz algorytmy tradingowe Automatyczna strategia handlu opcjami

Dane świecowe zapewniają strategii przejrzysty obraz rynku

Ekran danych rynkowych przedstawia listę tokenów lub instrumentów, wybrany interwał i tabelę świec. Obszar analizy tradingowej prezentuje pobrane dane do weryfikacji.

Umożliwia to analizę pobranych danych świecowych przed wykonaniem decyzji handlowych.

Jak to działa

  1. Moduł danych świecowych pobiera dane świecowe dla wybranych tokenów lub instrumentów.
  2. Oprogramowanie pokazuje wybrany interwał czasowy i 12 ostatnich danych świecowych w tabeli.
  3. Obszar analizy tradingowej prezentuje dane świecowe do weryfikacji.
Dane rynkowe i analiza świec

Dane rynkowe i analiza świec

Funkcje na tym ekranie
Pobieraj dane świecowe

Zlecenia i pozycje pozostają widoczne podczas handlu

Monitor na żywo łączy złożone zlecenia, otwarte pozycje, status realizacji i alerty transakcyjne w jednym widoku. Dziennik aktywności udostępnia zespołowi tradingowemu zlecenia kupna i sprzedaży, zrealizowane transakcje opcjami oraz aktualizacje w czasie rzeczywistym.

Firma otrzymuje bezpośredni wgląd w informacje zwrócone przez proces brokerski, bez potrzeby korzystania z oddzielnych ręcznych notatek.

Jak to działa

  1. Monitor pokazuje zlecenia kupna i sprzedaży oraz otwarte pozycje.
  2. Obszar realizacji wyświetla wykonane transakcje opcjami i aktualizacje w czasie rzeczywistym.
  3. Dziennik aktywności zapisuje alerty i logi transakcji.
Monitor zleceń i pozycji na żywo

Monitor zleceń i pozycji na żywo

Dane z arkuszy wracają w zaktualizowanej formie

Przestrzeń robocza Excel przechowuje razem źródłowe dane z arkusza i zaktualizowane dane tradingowe. Wspiera dotychczasowy proces pracy firmy z arkuszami, łącząc dane wejściowe z danymi świecowymi i realizacją zleceń.

Wskaźnik zaktualizowanych danych ułatwia odróżnienie zwróconych informacji tradingowych od pliku źródłowego.

Jak to działa

  1. Przestrzeń robocza Excel odczytuje dane z pliku Excel i wyświetla je w tabeli danych arkusza.
  2. Aplikacja łączy dane z arkusza z danymi świecowymi wykorzystywanymi w handlu.
  3. Przestrzeń robocza pokazuje zaktualizowane dane Excel i dane tradingowe po realizacji zleceń.
Przestrzeń robocza danych tradingowych Excel

Przestrzeń robocza danych tradingowych Excel

Funkcje na tym ekranie
Aktualizuj dane akcji

Backtesting wspiera bezpieczniejszą weryfikację strategii

Ekran backtestów porównuje skonfigurowaną strategię tradingową z historycznymi danymi świecowymi przed rozpoczęciem handlu na żywo. Wyniki i parametry strategii pozostają widoczne do dalszej analizy.

Dzięki temu walidacja strategii jest częścią tego samego oprogramowania, a nie oddzielnym ręcznym etapem analizy.

Jak to działa

  1. Moduł backtestów wczytuje wybrane parametry strategii i historyczne dane świecowe.
  2. Biblioteka backtestów uruchamia strategię tradingową na danych historycznych.
  3. Tabela wyników i obszar porównania pokazują rezultaty backtestu.
  • Porównuj wyniki strategii przed rozpoczęciem handlu na żywo.
  • Analizuj parametry i dane historyczne razem.
Wyniki backtestu strategii

Wyniki backtestu strategii

Funkcje na tym ekranie
Wykonuj backtest strategii tradingowej

Co zapewnia rozwiązanie

Dzięki temu rozwiązaniu firma tradingowa może:

  • Automatyzować kupno i sprzedaż za pośrednictwem połączonych kont brokerskich.
  • Pobierać dane świecowe w wybieralnych interwałach handlu.
  • Odczytywać dane z Excela i otrzymywać zaktualizowane dane tradingowe po realizacji zleceń.
  • Testować strategie na historycznych danych świecowych przed rozpoczęciem handlu na żywo.
  • Monitorować zlecenia, pozycje, alerty i status realizacji.
  • Zarządzać zasadami handlu akcjami i opcjami w jednej aplikacji.

Czy gotowe systemy mogłyby wykonać to zadanie?

Przed rozpoczęciem projektowania porównano zadanie z gotowymi produktami na podstawie ich własnych opisów.

Czego potrzebuje klient Platformy brokerskie Kite, MetaTrader 5, thinkorswim Platformy handlu algorytmicznego Galileo FX, Abbado, MetaTrader 5 Platformy handlu wieloma aktywami eToro, Dotbig platform, E*Trade Web Platform Dedykowane rozwiązanie
Weryfikacja strategii za pomocą backtestów częściowo —
Stworzenie automatyzacji handlu w Pythonie — — —
Połączenie kont brokerskich i API —
Odczyt i aktualizacja danych Excel — — —
Dopasowanie do własnych zasad klienta: etapów, ról i raportów — — —
Wszystkie etapy w jednym miejscu — — —
Brak ręcznych kroków między programami — częściowo —

Na podstawie publicznych opisów produktów i ich kategorii.

Gotowe produkty obejmują część zadania, w tym dostęp brokerski, narzędzia tradingowe i niektóre funkcje algorytmiczne. Gotowy produkt wystarczy, gdy potrzebny jest tylko jeden z tych elementów.

Ta firma potrzebowała własnego oprogramowania, ponieważ dane z arkuszy, walidacja strategii, realizacja zleceń przez brokera i monitorowanie musiały działać w jednym miejscu, zgodnie z jej zasadami i przy mniejszej liczbie ręcznych kroków między programami.

Podsumowanie

Ostatecznie rozwiązanie miało usunąć ręczną pracę z procesu prowadzącego od danych rynkowych i reguł strategii do zleceń brokerskich oraz zaktualizowanych rejestrów tradingowych.

FAQ

Myślisz o stworzeniu podobnego systemu? Przeczytaj poniższe odpowiedzi, aby poznać najważniejsze decyzje projektowe dotyczące automatyzacji handlu w Pythonie, połączeń brokerskich i walidacji strategii.