Tomasz Krawiec to programista pracujący na kontraktach dla firm z sektora finansowego. Od dwóch lat buduje i utrzymuje własny system automatycznych decyzji inwestycyjnych.
Co sprawiło, że w ogóle to możliwe bez zespołu?
Trzy rzeczy naraz: tańsze API do danych rynkowych, dojrzałość bibliotek open source i modele językowe, które pomagają pisać kod szybciej. Jeszcze w 2021 roku taki projekt wymagałby minimum dwóch osób przez pół roku. Teraz jeden doświadczony programista może to złożyć w ciągu kilku tygodni.
Jak wygląda Twój pipeline w praktyce?
Codziennie rano skrypt pobiera dane z kilku źródeł: ceny zamknięcia, dane makro z API Eurostatu, wybrane wskaźniki nastrojów. Model klasyfikacyjny oparty na XGBoost generuje sygnały dla wybranych ETF-ów. Nie handluję akcjami pojedynczych spółek, bo ryzyko specyficzne jest zbyt trudne do modelowania przy moich zasobach.
Decyzja o kupnie lub sprzedaży nie jest automatyczna. Model daje mi ocenę prawdopodobieństwa, a ja podejmuję decyzję ręcznie. To świadomy wybór, bo nie chcę systemu, który działa bez mojej wiedzy.
Co zmieniło się w podejściu do ML w inwestowaniu przez ostatnie dwa lata?
Zmieniło się myślenie o interpretowalności modeli. Wcześniej liczyły się głównie wyniki. Teraz coraz więcej narzędzi, takich jak SHAP czy LIME, pozwala zrozumieć, dlaczego model podjął daną decyzję. Dla mnie to kluczowe, bo mogę wyłapać sytuacje, gdy model opiera się na zależnościach, które przestały być aktualne.
Co jest największym ograniczeniem dla freelancera?
Czas. Utrzymanie takiego systemu to kilka godzin tygodniowo. Jeśli masz napięte kontrakty, model się starzeje i zaczyna dawać gorsze sygnały. Dyscyplina w utrzymaniu jest trudniejsza niż samo zbudowanie.