Kim jest Quant Developer? To software developer, czyli programista, który posiada dobrą znajomość branży finansowej. Ostatnio miałem okazję rozmawiać ze znajomym z firmy Empirica, podczas której okazało się, że aktualnie poszukują takich osób do pracy. To zawód bardzo blisko związany z inwestowaniem i wydaje mi się, że bardzo przyszłościowy. Uznałem, że jest to świetna okazja, aby dowiedzieć się więcej na temat. Na rozmowę ze mną zgodził się Piotr Grzybowski, Quant Developer i Product Owner w Empirica. Wydaje mi się, że tekst może być interesujący dla osób, które zastanawiają się nad kierunkami swojego rozwoju zawodowego lub aktualnie szukają pracy w tym obszarze.
Kim właściwie jest i czym zajmuje się Quant Developer?
Trzeba zacząć od tego co znaczą te słowa. Pierwsze ‘quant’ wywodzi się od quantitative finance. Czyli interdyscyplinarnego mixu, tj. modeli wywodzących się z fizyki, matematycznych technik oraz wszelkich możliwości jakie daje informatyka. Fizyczno–matematyczne modele są stosowane do rozwiązywania szerokiego spektrum finansowych wyzwań, przykładowo:
- wycena instrumentów i jego pochodnych
- zmienność cen produktów
- oszacowanie ryzyka
- tworzenie kolejnych wysublimowanych produktów finansowych
Słowa developer raczej głębiej tłumaczyć nie trzeba – jest to po prostu programista.
Także quant developer to jest osoba, która implementuje modele tak aby np. maklerzy, czy zarządcy portfeli inwestycyjnych mogli z nich korzystać w swoich systemach informatycznych. Warto zaznaczyć, iż quant developer nie musi tych modeli sam wymyślać, to jest specjalizacja maklerów lub quantów, czyli analityków.
Innym przykładem wyzwań z jakimi zmaga się Quant Developer to tworzenie rozmaitych algorytmów handlujących (z ang. algorithmic trading). Najpopularniejszymi przykładami takich strategii są:
- arbitrażowe, wykorzystujące niedoskonałości rynków
- egzekucyjne, które skupiają się na jak najbardziej efektywnej realizacji zleceń
- animacyjne, dla tych członków giełdy którzy są animatorami i dostarczają płynność
Czy Quant Developer powinien umieć programować? Jakie są najpopularniejsze technologie jakich używają Quanci?
Tak, zdecydowanie tak, a nawet trochę więcej. Samo programowanie to za mało. To właśnie on odpowiada za cały proces developmentu. Implementacja jest tylko jednym z kroków. Wcześniej trzeba zebrać wymagania, a później je przetestować i utrzymywać. Modele i założenia często się zmieniają i ewoluują.
Technologie są dowolne i zależą głównie od tego czego wymaga docelowy system. Najczęściej stosowane są języki programowania te najbardziej znane czyli Java, C#, C++, Python. Ten ostatni język, czyli Python, jest trochę szczególnym przypadkiem. Ze względu na poziom skomplikowania modeli, często stosuje się podejście prototypowania. Taka wstępna analiza pozwala szybciej oszacować skuteczność albo inaczej dochodowość ostatecznego rozwiązania. Tutaj idealnie nadają się do tego Python, R czy MatLab. Dodatkowo dla wielu analityków te narzędzia są znane, więc drastycznie ułatwia to cały proces prototypowania czy wprowadzania zmian na początkowym etapie.
Jakie są w takim razie różnice między Quant Developerem a klasycznym Software Developerem?
Z mojego punktu widzenia quant jest szczególnym przypadkiem software developera. Czyli tak naprawdę jest on developerem, który musi posiadać dodatkowe umiejętności. Dla mnie taką podstawową jest znajomość branży finansowej. Zarówno od strony biznesowej – czyli jak giełdy funkcjonują, typy zleceń, rodzaje wskaźników, oraz technicznej, np. znajomość protokołu FIX (czy XDP w przypadku Warszawskiej Giełdy Papierów Wartościowych).
Jeżeli analityk chce abyśmy napisali strategię to jego specyfikacja nie będzie zawierała takich informacji jak podłączyć się do giełdy, co to jest arkusz zleceń czy świeczki. Ona będzie opisywała na jakie sygnały strategia ma reagować i jakie decyzje podejmować. Także to jest wiedza jaką Quant Developer musi zdobyć.
Jak ważna w tej roli jest znajomość matematyki i zdolności analityczne?
Kolejną wartościową umiejętnością, którą powinien posiadać Quant Developer jest znajomość matematyki na poziomie wyższym, a często na poziomie statystyki. Wiele modeli z niej korzysta, więc znacznie ułatwia to zrozumienie, skraca proces przekazania wymagań i implementacji.
Jak wspominałem już wcześniej analityk odpowiada za stworzenie algorytmu, a quant developer musi go zaimplementować. Więc ścisła współpraca obu stron jest pożądana i powinna występować na porządku dziennym. Rozmawianie ze sobą i korzystanie z tych samych pojęć ułatwia współpracę i eliminuje nieścisłości.
Zdolności analityczne pozwalają też znacznie skrócić czas wejścia rozwiązania na produkcję, bądź odrzucenie modelu. Tutaj podaję zdolności analityczne jako możliwość przewidzenia potencjalnych problemów czy nieścisłości. Im wcześniej pomysł, a w zasadzie prototyp będzie przeanalizowany, tym większą szansę ma on zakończyć się sukcesem.
Czym się zajmuje Quant Developer w firmie fintechowej, takiej jak Wasza?
Jako, że jesteśmy firmą o średnim rozmiarze – w tej chwili na pokładzie mamy ok. 40 pracowników – to Quant Developer ma u nas możliwości wykazać się na wielu płaszczyznach.
Dla lepszego zrozumienia podam Tobie przykład. Moim zdaniem najciekawszym naszym klientem jest animator, który skupia się na animowaniu kilkudziesięciu instrumentów. Razem przez trzy lata tworzyliśmy i nadal to robimy algorytm, którym animuje na różnych giełdach. Przez ostatnie pół roku rozwijaliśmy razem koncepcję krótkoterminowej predykcji trendu tak, aby algorytm podejmował decyzje nie tylko na podstawie aktualnego arkusza zleceń, ale biorąc również pod uwagę to, co za chwilę na rynku się stanie. Kilka miesięcy prowadzenia badań, prototypowania, a teraz zarówno my, jak klient widzimy jak te algorytmy osiągają oczekiwane rezultaty na giełdzie.
Kolejnym etapem tej bliskiej współpracy jest pełna automatyzacja uruchamiania strategii i doboru jej parametrów. Dlatego przygotowujemy się do wdrożenia metod sztucznej inteligencji, ang. AI – artificial intelligence, aby nam w tym pomogły.
Także widzisz, samo stworzenie algorytmu to tylko wycinek tego co Quant Developer u nas robi. Tutaj z mojego punktu widzenia, czyli pracownika takiej firmy jak Empirica, mamy zdecydowanie przewagę nad wielkimi instytucjami finansowymi typu UBS czy Credit Suisse, którzy przenieśli do Polski swoje ‘quant’ działy. W mniejszej organizacji nie jest się przypisanym tylko do jednego zespołu, przykładowo wg. określonej grupy produktów, lub sektora finansowego.
Ponieważ sami stworzyliśmy platformę HFT do algotradingu, to mamy wpływ na jej rozwój. Stworzyliśmy już wiele systemów z branży fintechowej, więc mamy kompetencje aby dopisywać kolejne moduły analityczne, czy optymalizować istniejące rozwiązania po to, aby zyskiwać kolejne mikrosekundy.
Czyli kto jest dla Was idealnym kandydatem do tej roli?
Jak dla mnie idealnym kandydatem byłby absolwent nauk ekonomicznych lub matematyki/fizyki z solidną znajomością Javy. Wydaje mi się że dużo trudniej jest zrozumieć część biznesową, a nawet wychodzić z propozycjami, niż samo zaprogramowanie tego. Ciężko jest znaleźć taką osobę, więc bardzo cenimy zarówno doświadczonych quant developerów jak i początkujących, którzy chcą się w tej dziedzinie rozwijać.
Jak często szukacie takich osób?
Ostatnio potrzebujemy ich coraz więcej. Na chwilę obecną mamy czterech quant developerów, którzy np. piszą strategie. Ale szukamy kolejnych i obecnie jest to związane w głównej mierze z rosnącym zainteresowaniem rynkami kryptowalut.
Zakańczamy proces migracji starego systemu na jego nową wersję HFT, ang. high frequency trading, więc pojawia się również zainteresowanie ze strony licencjonowanych domów maklerskich, działających na GPW.
Czy ta dziedzina będzie się rozwijać i komu można ją polecić?
Zdecydowanie jest to obecnie jedna z bardziej poszukiwanych ról w obrębie Software Developmentu.Tradycyjne rynki muszą wychodzić naprzeciw oczekiwaniom jakie klienci mają co do coraz to bardziej wymyślnych produktów. Trzeba je na bieżąco wyceniać, a jeżeli są one notowane, to można tworzyć algorytmy, które nimi grają. Rynki kryptowalut zyskują na znaczeniu i widzimy coraz większy przypływ klientów instytucjonalnych. Jest tutaj duże pole do popisu i prób adaptacji klasycznych metod algotradingu.
Dziedzinę tę polecić mogę wszystkim programistom, którym branża finansowa jest bliska i deklarują chęć poznania jej od środka. Wyzwań jest dużo i nawet w obrębie tak ściśle zdefiniowanej roli jak Quant Developer, można znaleźć swoją specjalizację, np. konkretne instrumenty finansowe czy określone typy algorytmów. Nie ukrywam, że czasami ta praca potrafi być stresująca, ale daje bardzo dużo satysfakcji.
Dziękuję za rozmowę.