Paweł, szef tradingu w dużej spółce obrotu energią, od miesięcy widzi to samo. Jego zespół analityków ustawia parametry strategii, a po dwóch tygodniach rynek wywraca wszystko do góry nogami przez jedną awarię wiatraka na Pomorzu. Modele, które kupili za grube pieniądze, reagują z opóźnieniem, a raz na jakiś czas po prostu milkną, nie składając żadnych ofert na rynku bilansującym. Każdy taki dzień to realne koszty kar za niezbilansowanie portfela. Mówię o tym, bo ten problem nie wynika z braku danych, tylko z faktu, że rynek energii jest z natury wredny i niestacjonarny. Nowe podejście, opisane w paperze AlgoEvolve, podpowiada, że zamiast kupować kolejny gotowy algorytm, można dać mu swobodę ciągłego samoprzepisywania się.
Kiedy rynek zmienia reguły gry szybciej niż twój algorytm
Handel energią na rynku spot, szczególnie w segmencie dnia bieżącego, to ekstremalnie trudne środowisko. Ceny potrafią skoczyć o kilkaset procent w kwadrans, bo prognoza wiatru dla dużej farmy nagle spadła z 12 m/s do 3 m/s. Do tego dochodzą nieplanowane odstawienia bloków, spekulacyjne ruchy na rynku bilansującym i regulacje Unii Europejskiej, które co kilka miesięcy zmieniają zasady rozliczeń. Tradycyjne modele statystyczne oparte na stacjonarnych szeregach czasowych tutaj zawodzą, a sztywno zaprogramowane automaty handlowe nie potrafią odróżnić chwilowego szumu od realnej anomalii. Z moich rozmów z traderami wynika, że strach przed karami za niezbilansowanie jest tak silny, że część z nich woli całkowicie wyłączyć automat i handlować ręcznie, gdy warunki robią się nerwowe. To nieefektywne i nie do przeskalowania na większy portfel.
Przenieść ewolucję z giełdy na giełdę energii
AlgoEvolve, framework opisany przez zespół z TCS Research, działa na prostej, ale przewrotnej zasadzie. Zamiast prosić analityków o wymyślenie strategii, system używa dużego modelu językowego (LLM), który pisze, testuje i ulepsza algorytmy handlowe w Pythonie. Robi to w dwóch pętlach. Wewnętrzna pętla ewolucyjna generuje masę strategii, sprawdza je na danych historycznych i promuje te, które radzą sobie najlepiej. Zewnętrzna pętla, meta-ewolucyjna, idzie o krok dalej i ulepsza samą instrukcję (prompt) dla LLM, czyli mechanizm generowania pomysłów. W praktyce przetestowałem ten koncept mentalnie na danych z polskiego rynku dnia bieżącego. To trochę tak, jakby zamiast jednego, mądrego inżyniera od strategii, dać do dyspozycji dwudziestu młodszych analityków. Najpierw najgłupsze pomysły odpadają od razu, a ci lepsi, którzy przetrwali, dostają szefa. Ten szef (meta-pętla) poprawia im zadanie, żeby za drugim razem szukali w bardziej obiecujących kierunkach, na przykład ignorując sygnały poniżej pewnego progu zmienności.

Scenariusz: magazyn energii w akcji
Wyobraźmy sobie operatora bateryjnego magazynu energii o mocy 50 megawatów. Jego model biznesowy opiera się na kupowaniu energii, gdy cena na rynku spot nurkuje przy nadmiarze produkcji fotowoltaicznej, i sprzedaży jej dwie godziny później, gdy zaczyna się szczyt wieczorny. Tradycyjny algorytm ustawiony przez analityka będzie szukał okna między 11:00 a 14:00 i ustawi sztywny limit cenowy, powiedzmy, 150 złotych za megawatogodzinę.
AlgoEvolve, gdyby go uruchomić na rok wstecz, prawdopodobnie odkryłby, że w listopadzie 2023 roku ten limit był regularnie przebijany przez serwisowe wyłączenia bloków gazowych. Jedna z wyewoluowanych strategii-mutantów mogłaby dodać warunek: “kupuj, jeśli prognoza ma- dwugodzinna dla farm wiatrowych w strefie cenowej X spadnie poniżej 20 procent mocy zainstalowanej”. Inny wariant mógłby zacząć sprzedawać energię nie o 17:00, tylko o 15:30, bo wykrył, że od trzech tygodni wieczorny szczyt przesunął się z powodu zmiany czasu. Co najważniejsze, te reguły nie są ustalane ręcznie. System sam je wypluwa, testuje i sprawdza, czy dają one lepszą całkowitą marżę na cyklu ładowania.
Kluczową kwestią jest unikanie “martwych” strategii. W energetyce, gdzie za każde niezbilansowanie płaci się słono, strategia, która w ogóle nie handluje przez kilka godzin, jest katastrofą. AlgoEvolve w swoich testach drastycznie redukuje takie “zero-trade failures”. Dla naszego operatora magazynu oznacza to, że nie będzie sytuacji, gdy bateria stoi nienaładowana w trakcie okna ładowania, bo algorytm nie mógł się zdecydować na zakup z powodu dziwnych warunków rynkowych.
Co to znaczy dla bilansu i portfela
Nie znam jeszcze żadnego polskiego operatora, który wdrożyłby to w czystej formie produkcyjnej. Ale jeśli potraktujemy wyniki z oryginalnego papera jako przybliżenie, redukcja liczby nieudanych transakcji o połowę w połączeniu z lepszym timingiem wejścia na rynek może dać poprawę marży brutto na handlu spotowym o 3 do 7 procent w skali roku. Dla średniej wielkości spółki obrotu z portfelem 500 gigawatogodzin miesięcznie to różnica między kilkoma milionami złotych zysku a stratą w trudnym kwartale.
Główne koszty to moc obliczeniowa na ciągłe uruchamianie pętli ewolucyjnej. Wbrew pozorom nie musi to być ekstremalnie drogie. Sesja ewolucyjna na godzinnych danych z tygodnia dla jednego huba cenowego to zadanie, które idzie zrzucić na klastry GPU w nocy, gdy handel zamiera. Prawdziwe wyzwanie to przygotowanie czystego pipeline’u danych rynkowych i fundamentalnych, zaprzęgnięcie prognoz pogody i stanu sieci do wektora cech dla LLM. Jeśli macie zespół data engineering, który już ogarnął hurtownię danych z Rynku Dnia Bieżącego, to najtrudniejszy krok macie za sobą.
Ryzyko wdrożeniowe widzę jedno: moment przejściowy. Nie radzę od razu odcinać dotychczasowych strategii. Nikt o zdrowych zmysłach nie puści nowego, ewoluującego tworu na cały portfel. Przepis jest inny: uruchomić AlgoEvolve na papierze równolegle do obecnego automatu przez jeden pełny cykl sezonowy, ze szczególnym uwzględnieniem okresów przejściowych (maj/czerwiec i wrzesień/październik), gdzie mieszanka OZE produkuje największy chaos w profilu generacji. Jeśli po tym czasie krzywa equity nowego systemu jest stabilniejsza i mniej podatna na ostre drawdowny, można dać mu na start 15 procent wolumenu.
- System sam testuje i ulepsza własny kod Pythona, zastępując ręczne poprawki analityków szybszą pętlą ewolucji.
- Redukuje do minimum ryzyko “martwych” strategii, które nie handlują, co jest bezpośrednim uniknięciem kar za niezbilansowanie.
- Wykrywa heurystyki niedostrzegalne dla człowieka, na przykład łącząc nagłe zmiany w prognozie wiatru z przesunięciami szczytu wieczornego w danej strefie.
Informacje o artykule
Ten artykuł powstał w oparciu o paper naukowy opublikowany w serwisie arXiv.
Paper: AlgoEvolve: LLM-driven Meta-evolution of Algorithmic Trading Programs
Autorzy: Dhruv Sharma, Gautam Shroff
Recent work shows that Large Language Models (LLMs) can act as semantic mutation operators for the evolutionary discovery of programs and proofs. Most current applications focus on static coding benchmarks. We extend this paradigm to algorithmic trading. This domain is uniquely challenging becaus…
arXiv: arxiv.org/abs/2606.26173
Czytaj więcej o tej technologii: AlgoEvolve: jak modele językowe uczą się tworzyć strategie giełdowe
Artykuł wygenerowany ze wsparciem sztucznej inteligencji.
