🏃 Nie czekaj na Black Friday! Zgarnij InvestingPro z gigantyczną zniżką -55% już teraz!AKTYWUJ RABAT

Chcesz pracować jako trader? Poznaj te języki programowania

Opublikowano 12.09.2018, 12:16

Trading na rynkach finansowych mocno zmienił się w ostatnich dekadach. Wcześniej pracownicy trading desków musieli posiadać donośny głos, ostre łokcie oraz umiejętność przeprowadzenia obliczeń arytmetycznych w pamięci z prędkością błyskawicy lub przy wsparciu wysłużonego kalkulatora. Z całą pewnością nie był to świat dla tzw. geeków, czyli entuzjastów nowych technologii. W pokoleniu millenialsów obraz rynku wygląda jednak inaczej – fizyczne parkiety zostały zastąpione przez wirtualne maszyny, a praca ludzi przez komputery.

Czy jest więc nadal możliwe, aby technofob (osoba bojąca się technologii) pracował w tradingu finansowym, czy też znajomość co najmniej jednego języka programowania jest absolutnie konieczna?

Sell-side, czy buy-side?

Odpowiedź zależy przede wszystkim od rodzaju prowadzonego tradingu. Dzięki Regule Volckera, transakcje własnościowe (“propretiary trading”) po stronie sprzedaży (np. w bankach inwestycyjnych) należą już do przeszłości w Stanach Zjednoczonych, więc traderzy obsługujący tzw. sell-side zajmują się tworzeniem (animacją) rynku lub obsługą przepływu klientów. W większości klas aktywów tworzenie rynku jest całkowicie zautomatyzowane. W efekcie potrzeba mniej rąk do pracy, a głównym zadaniem pozostaje pisanie kolejnych linijek kodu. W tym przypadku liczy się szybkość, najlepiej sprawdza się więc C++ oraz Java.

Wycena i zabezpieczenie transakcji klienckich w większości banków jest nadal realizowane przez czynnik ludzki, ale zależy to od stopnia zaawansowania produktu bazowego. Bardziej egzotyczne instrumenty nadal wymagają ingerencji tradera. Wyceny wysoce zindywidualizowanych transakcji mogą być dokonywane w pośpiesznie skonstruowanych arkuszach kalkulacyjnych. Dobra znajomość Visual Basic, która leży u podstaw wielu z tych arkuszy, jest tu bardziej przydatna niż doktorat z inżynierii programowania.

Trading ilościowy, wysokiej częstotliwości lub tradycyjny

Tymczasem po stronie zakupowej (buy-side) traderzy mogą być podzieleni na trzy kategorie:

  • strategii ilościowych,
  • strategii wykonawczych,
  • wysokiej częstotliwości (HFT).

Traderzy opracowujący strategie ilościowe mogą być zatrudnieni przez fundusze hedgingowe lub w tradycyjnych funduszach zarządzania aktywami, a ich rola rozmywa się z rolą zarządzających portfelem ilościowym. Ich zadaniem jest zaprojektowanie strategii, które będą systematycznie handlować (np. przy użyciu modeli komputerowych, przy minimalnej ingerencji człowieka.) Umiejętności kodowania są tu niezbędne do przekopywania dużych ilości danych i tworzenia prototypowych strategii testowania nowych pomysłów.

Python jest językiem preferowanym przez wielu traderów tego typu ze względu na szeroką dostępność pakietów do analizy danych, takich jak SciPy i Pandas. R jest również popularny, ponieważ jest domyślnie używany do analizy statystycznej na wielu kursach uniwersyteckich. Przy tak dobrych językach open source, komercyjne alternatywy jak Matlab nie są już modne.

Traderzy realizujący transakcje po stronie zakupowej mają za zadanie wdrożenie decyzji o zrównoważeniu portfela, podejmowanych przez strategie ilościowe lub przez tradycyjnych menedżerów portfela. Osiągają to na kilka różnych sposobów:

  • poprzez outsourcing do algorytmów wykonawczych stron trzecich (algos) dostarczanych przez banki,
  • rozwój własnych algos
  • lub poprzez handel ręczny (który nadal przewyższa algorytmy na niektórych rynkach).

Umiejętności kodowania potrzebne do rozwoju własnego algorytmu pokrywają się z zestawem umiejętności niezbędnym w przypadku animatorów zakupowej części rynku. W każdym przypadku, gdy wiele dróg na rynek jest używanych w wewnętrznych biurach wykonawczych, trzeba będzie stale oceniać skuteczność każdego algorytm oraz pojedynczego tradera. Wymaga to analizy danych i umiejętności kodowania bardzo podobnych do umiejętności traderów ilościowych.

Wreszcie, traderzy wysokiej częstotliwości (z ang. high frequency traders) mają podobną pracę jak inni traderzy ilościowi, ale w znacznie krótszych horyzontach czasowych. Oznacza to, że mają do czynienia z bardzo dużymi zbiorami danych. Tutaj. znajomość ekosystemu Hadoop staje się bardzo ważna. Python jest nadal popularny w transakcjach wysokiej częstotliwości (HFT), ale nowsze języki takie jak Go lepiej nadają się do równoczesnego przetwarzania dużych zbiorów danych.

Python cieszy się największą wszechstronnością

Kiedy strategia jest tworzona, wtedy jako inwestor wysokiej częstotliwości masz do czynienia z bardzo krótką skalą czasową, a minimalizacja opóźnień jest kluczowa. Podobnie jak w przypadku traderów buy-side, C+++ jest prawdopodobnie jedynym językiem na wysokim poziomie, który jest wystarczająco szybki, ale aby uzyskać prawdziwą przewagę trzeba będzie zanurzyć się w assemblerze i mieć głębokie zrozumienie sieci komputerowych oraz sprzętu.

Jednak jeśli masz czas na naukę tylko jednego języka programowania, to Python jest prawdopodobnie najbardziej wszechstronny. Jako, że jest szeroko stosowany w innych branżach, to również sprawia się świetnie jako plan B, gdybyś nie sprawdził się jako trader.

Powyższy tekst powstał na bazie rad Roberta Carvera, który pracował po stronie sprzedażowej – jako trader opcyjny – oraz po stronie zakupowej jako szef działu fixed-income w funduszu hedgingowym AHL. Dodatkowo jest autorem pozycji “Systematic Trading” i “Smart Portfolios”. Sam określa siebie mianem technofoba i nadal korzysta z tradycyjnego, ręcznego kalkulatora.

Najnowsze komentarze

Wczytywanie kolejnego artykułu...
Zainstaluj nasze aplikacje
Zastrzeżenie w związku z ryzykiem: Obrót instrumentami finansowymi i/lub kryptowalutami wiąże się z wysokim ryzykiem, w tym ryzykiem częściowej lub całkowitej utraty zainwestowanej kwoty i może nie być odpowiedni dla wszystkich inwestorów. Ceny kryptowalut są niezwykle zmienne i mogą pozostawać pod wpływem czynników zewnętrznych, takich jak zdarzenia finansowe, polityczne lub związane z obowiązującymi przepisami. Obrót marżą zwiększa ryzyko finansowe.
Przed podjęciem decyzji o rozpoczęciu handlu instrumentami finansowym lub kryptowalutami należy dogłębnie zapoznać się z ryzykiem i kosztami związanymi z inwestowaniem na rynkach finansowych, dokładnie rozważyć swoje cele inwestycyjne, poziom doświadczenia oraz akceptowalny poziom ryzyka, a także w razie potrzeby zasięgnąć porady profesjonalisty.
Fusion Media pragnie przypomnieć, że dane zawarte na tej stronie internetowej niekoniecznie są przekazywane w czasie rzeczywistym i mogą być nieprecyzyjne. Dane i ceny tu przedstawiane mogą pochodzić od animatorów rynku, a nie z rynku lub giełdy. Ceny te zatem mogą być nieprecyzyjne i mogą różnić się od rzeczywistej ceny rynkowej na danym rynku, a co za tym idzie mają charakter orientacyjny i nie nadają się do celów inwestycyjnych. Fusion Media i żaden dostawca danych zawartych na tej stronie internetowej nie biorą na siebie odpowiedzialności za jakiekolwiek straty lub szkody poniesione w wyniku inwestowania lub korzystania z informacji zawartych na niniejszej stronie internetowej.
Zabrania się wykorzystywania, przechowywania, reprodukowania, wyświetlania, modyfikowania, przesyłania lub rozpowszechniania danych zawartych na tej stronie internetowej bez wyraźnej uprzedniej pisemnej zgody Fusion Media lub dostawcy danych. Wszelkie prawa własności intelektualnej są zastrzeżone przez dostawców lub giełdę dostarczającą dane zawarte na tej stronie internetowej.
Fusion Media może otrzymywać od reklamodawców, którzy pojawiają się na stronie internetowej, wynagrodzenie uzależnione od reakcji użytkowników na reklamy lub reklamodawców.
Angielska wersja tego zastrzeżenia jest wersją główną i obowiązuje zawsze, gdy istnieje rozbieżność między angielską wersją porozumienia i wersją polską.
© 2007-2024 - Fusion Media Limited. Wszelkie prawa zastrzeżone.