Zespół agentów sztucznej inteligencji i proces badań
Wyspecjalizowani agenci Stratmill przekazują każdą strategię przez ustaloną sekwencję etapów, z kontrolami pomiędzy nimi.
Zespół agentów
Kierownik badań tworzy hipotezy. Programista strategii koduje je jako strategie NautilusTrader. Agent QA sprawdza poprawność kodu. Analityk strategii analizuje wyniki backtestów i optymalizacji, a następnie decyduje o dalszych krokach. Specjalista ds. ryzyka ocenia bezpieczeństwo strategii przed awansem. Menedżer portfela decyduje o awansie i alokacji w całym portfelu.
Zespół wspierają: silnik backtestów, który uruchamia każdy backtest i optymalizację z użyciem realistycznie modelowanych stawek opłat; inżynier danych, który dba o kompletność katalogu danych rynkowych; narzędzie Library Refiner, które przy kolejnych iteracjach strategii proponuje ulepszenia z cytatami ze źródeł w Bibliotece wiedzy; oraz narzędzie eksportu, które przenosi strategie na inne platformy.
Kolejność etapów
Przebieg przechodzi przez etapy kodowania, weryfikacji, backtestu, przeglądu backtestu, optymalizacji i analizy. Na etapie analizy strategia może wrócić do kodowania w ramach kolejnej iteracji, trafić z powrotem do Kierownika badań w celu opracowania poprawionej hipotezy, zostać porzucona albo przejść do przeglądu ryzyka, awansu i handlu symulowanego. Zadania z dalszych etapów są przetwarzane w pierwszej kolejności, dzięki czemu kolejki nowego kodu nie blokują weryfikacji ani backtestów.
Warstwy weryfikacji
Kod jest weryfikowany, zanim zostanie uruchomiony na pełnej historii. Ponowne zgłoszenie identyczne jak w poprzedniej iteracji jest natychmiast odrzucane. Kontrola spójności potwierdza, że kod handluje na rynku i instrumentem określonym w hipotezie. Analiza statyczna sprawdza strukturę i wymagane metody oraz zakazuje dostępu do plików, sieci i systemu, a także sposobów odczytywania danych z przyszłości.
Następnie testy syntetyczne uruchamiają strategię na wygenerowanych rynkach (trend wzrostowy, trend spadkowy, rynek płaski, skok zmienności, zerowy wolumen i luka cenowa, a także brakujące dane uzupełniające, jeśli strategia z nich korzysta) w odizolowanym środowisku testowym. Krótki backtest w tym środowisku na niedawnych rzeczywistych świecach musi wygenerować co najmniej jedną transakcję. Na koniec Agent QA sprawdza zgodność logiki z hipotezą: wykorzystanie danych z przyszłości, kierunek sygnału, wielkość pozycji, reguły rynku i harmonogramy. Agent QA nie ocenia wyników.
Co się dzieje po nieudanej weryfikacji
Po nieudanej weryfikacji uruchomienie wraca do programisty wraz z wykrytym problemem. Po 3 nieudanych próbach uruchomienie zostaje porzucone. Zasada, która nigdy nie zostaje uruchomiona, lub wymaganie, którego programista nie może spełnić, powoduje odesłanie hipotezy do Kierownika badań w celu jej poprawienia. Błędy spowodowane przez samą platformę są ponawiane i nigdy nie są zaliczane na niekorzyść strategii.
Dwie decyzje analityka
Po pierwszym teście historycznym analityk decyduje, czy optymalizować, iterować, zmienić hipotezę czy porzucić strategię, dzięki czemu wiele godzin optymalizacji poświęca się wyłącznie pomysłom z rzeczywistym sygnałem. Kontrola wykonalności sprawdza tę decyzję na podstawie liczb: strategia z wystarczającą liczbą transakcji i średnią stopą zwrotu na transakcję powyżej minimalnego poziomu opłat na danej platformie nie jest porzucana pochopnie, a strategia poniżej tego poziomu nie trafia do optymalizacji.
Po optymalizacji analityk, dysponując wynikami z próby pozapróbkowej i zbioru odłożonego, decyduje, czy promować, iterować, zmienić strategię czy ją porzucić. Każda decyzja wraz z uzasadnieniem jest zapisywana na stronie strategii.
Minimalne poziomy opłat dla poszczególnych platform
Analityk sprawdza minimalny poziom kosztów Forex oraz zarejestrowane dla danego przebiegu dane o spreadzie, prowizji i finansowaniu. Hipoteza o niewystarczającej przewadze netto jest korygowana lub odrzucana. Brakujących danych o kosztach nie wolno zastępować zerowymi kosztami; wstrzymuje on operacje.
Przegląd przez Risk Officer
Przed awansem Risk Officer przeprowadza audyt bezpieczeństwa strategii i musi wyraźnie ją zatwierdzić. Dodatkowo obowiązują limity egzekwowane przez kod: dźwignia nie może przekraczać limitu określonego w profilu ryzyka, musi być zdefiniowana kontrola ryzyka (stop ograniczający ryzyko do określonej części kapitału na transakcję albo sygnał wyjścia przy ograniczonej wielkości pozycji), nie może być krytycznych problemów, a wynik ryzyka musi być akceptowalny. Risk Officer może również odrzucić odstępstwo od kryterium zaproponowane przez analityka. Odrzucenie kieruje przebieg z powrotem do programisty.
Portfolio Manager i alokacja
Na etapie Portfolio Managera każda bramka i każdy limit ryzyka są ponownie sprawdzane w kodzie. Strategia zbyt skorelowana z już wdrożonymi strategiami jest wstrzymywana, a Portfolio Manager decyduje, czy dopuścić ją do handlu papierowego. Kapitał jest alokowany odwrotnie proporcjonalnie do zmienności, z limitem dla każdej strategii; nowe strategie otrzymują równe udziały, a strategie w fazie inkubacji — połowę udziału. Przejście z handlu papierowego do rzeczywistego nigdy nie odbywa się automatycznie.
Limity iteracji i porzucanie
Strategia zostaje porzucona, gdy średnia stopa zwrotu z transakcji jest niższa od kosztów handlu, wyniki poza próbą są niezadowalające, strategia wielokrotnie nie przechodzi weryfikacji lub analityk nie widzi drogi do jej rentowności. Powód zostaje zapisany i przekazany agentowi badawczemu, aby nie powtarzał tego samego ślepego zaułka.
Uruchomienia platformy i Twoje uruchomienia
Platforma stale prowadzi własne badania. Twoja przestrzeń robocza działa równolegle, z zarezerwowanymi zasobami i wyższym priorytetem, więc Twój pomysł nie czeka za zadaniami platformy. W dowolnej chwili możesz wstrzymać, wznowić lub zatrzymać własne uruchomienia na stronie strategii.