„Success is the ability to move from one failure to another with enthusiasm” (W. Churchill)

Komputery w walce z rynkiem

By Marcin Radlak

Właśnie po raz kolejny, komentarz osoby odwiedzającej mojego bloga zainspirował mnie do napisania nowego wpisu. Pozwolę sobie zacytować użytkownika TomekS, który napisał pod wpisem „Trading przyszłości” następujący pomysł:

„Tak mi przyszło do głowy, że byc moze zastosowanie sztucznych sieci neuronowych i systemów wieloagentowych mogłoby całkowicie uwolnic nas od tradowania. Nie wyobrażam sobie co by sie stało gdyby wprowadzic na rynek takich ?agentów?. Byc moze bylby to koniec rynku jaki obecnie znamy.”

Przede wszystkim, zacznę od stwierdzenia, które od bardzo dawna sobie przypominam, gdy wpadnę na rewelacyjny pomysł: na świecie jest tak wiele osób, że pomysł, który właśnie wpadł nam do głowy, jest już przez kogoś realizowany.

I tak też jest w tym przypadku. Odnośnie sieci neuronowych, przykładem mogę być ja sam, ale o tym w dalszej części wpisu.

Przede wszystkim, trading, giełda – ogółem rynki finansowe, to ciągła rywalizacja pomiędzy jej uczestnikami. Giełda jest niczym innym, jak systemem, w którym uczestnicy walczą, żeby zabrać kapitał drugiej osobie. Tak, na tym właśnie polega trading, szczególnie jeśli chodzi o rynki futures, które nie generują żadnej wartości! Jeżeli zarabiamy na naszej pozycji, ktoś trzymający pozycję odwrotną do naszej – traci. Istnieje angielskie powiedzenie – „zero sum game” – co można by przetłumaczyć na język polski jako, gra z wynikiem zerowym. Jedynymi wygranymi, najbardziej systematycznie zarabiającymi na giełdzie, to właśnie one same – instytucje, które umożliwiają walkę pomiędzy traderami. Od każdej transakcji pobierana jest opłata, więc im więcej osób bierze w tej grze udział, tym większe przychody ma giełda.

W związku z tak wielką rywalizacją, ludzie szukają metod, które dadzą im przewagę nad resztą, dzięki czemu będą w stanie generować zyski. Od początku istnienia rynków, widać też postęp w metodach do tego celu wykorzystywanych. Pomijając najstarsze techniki, japońskie świece były jednymi z pierwszych technik prognozowania zmian cenowych. Pod koniec wieku XIX, Dow, zapoczątkował swoją pracą aktualnie jedną z najbardziej popularnych technik analizy danych historycznych – Analizę Techniczną (AT). Jego 6 twierdzeń jest podstawą analizy tego, co się wydarzy, na podstawie tego co wydarzyło się w przyszłości, zakładając powtarzalność zachowań uczestników giełdy. Dziedzina ta znalazła ogrom zainteresowanych osób, i zaczęła być coraz bardziej popularna wraz z biegiem czasu. Co jakiś czas, wynajdywane były nowe metody transformacji podstawowych danych, jakimi jest cena i wolumen. Tego typu wskaźniki, zdobywały sławę i szybko umierały, chociaż niektóre są stosowane do dzisiaj, Jak MACD, RSI, Stochastic Oscilator, itp.

Z analizą techniczną w pewnym momencie, zaczęła rywalizować analiza fundamentalna. Jej zwolennicy twierdzili, że cena zawsze będzię dążyć do takiego poziomu, który równy będzie prawdziwej wartości waloru. Korzystając z danych publikowanych przez firmy, jak np. obrót, dochód, koszty przychodu, itp, zaczęto wyznaczać prawdziwą wartość każdej spółki.

Aż wierzyć się nie chce, że wszystkie te żmudne obliczenia wykonywane były na papierze -ręcznie. Dlatego, nie dziwi fakt, że komputery znacznie usprawniły cały ten proces. Cała analiza stała się znacznie szybsza i dokładniejsza, co teoretycznie powinno znacznie polepszyć wyniki tych osób, które miały wczesny dostęp do technologii.

Zawsze jednak, do analizy obliczonych wyników potrzebny był człowiek – ekspert, który z surowych danych potrafił wyciągnąć wnioski, potrafił podjąć decyzję odnośnie zajmowanych pozycji. Oczywistym był fakt, że gdy technologia na to zaczęła pozwalać, nieosiągnięte do tej pory marzenie –  „perpetum mobile”,a co lepsze, „finansowe perpetum mobile”, dzięki komputerom, nagle mogło zostać zbudowane. System, który będzie sam podejmował decyzje, sam zlecał transakcje, generując jego właścicielowi zyski o jakich mu sie nigdy nie sniło – automatycznie, bez żadnego wysiłku z jego strony – istna maszynka do robienia pieniędzy, o której każdy marzy.

Rozwiązaniem miały być sztuczne sieci neuronowe. Dla osób nie będących w temacie – jest to uproszczona, matematyczna reprezentacja ludzkiego mózgu. Skoro ludzki mózg potrafi to co potrafi, więc komputer, symulujący mózg człowieka – też powinien mieć takie możliwości. Taki był przynajmniej zamiar osób pracujących nad tymi algorytmami. Pokładano w nich ogromne nadzieje, wróżąc myślące maszyny w bardzo niedalekiej przyszłości.

Na jakiej podstawie można było snuć takie przypuszczenia? Ludzki mózg na bieżąco analizuje bodźce dostarczane przez układ nerwowy. Oczy wysyłają sygnały na podstawie tego co widzą, uszy -tego co słyszą, nos – tego co poczuje. Mózg zbiera te wszystkie informacje razem, i na ich podstawie generuje odpowiedź na te bodźce, zgodnie z tym, jak został nauczony (np. widząc jadący na nas samochód, mózg każe nam się przesunąć, aby nie zostać uderzonym).

Sieci neuronowe potrafią wykonywać dokładnie to samo. Otrzymując zestaw danych wejściowych, w czasie treningu, potrafią nauczyć się generować wymaganą odpowiedź. Co jest ważne w tym przypadku, liczba danych wejściowych może być nieskończenie duża. W czasie treningu, sieć sama nauczy się, które z dostarczonych danych mają największy wpływ na oczekiwany wynik, i tak się dopasują, że w przyszłości na podobne (ważne, że nie muszą być te same) dane, będą reagowały w sposób, w jaki tego wymagamy.

Czyż taki algorytm nie wydaje się idealny do prognozy przyszłych cen akcji? Wystarczy jako dane wejściowe, przygotować zestaw wskaźników ekonomicznych, nauczyć sieć, aby zachowała się tak, jak kiedyś ceny zachowały się w odpowiedzi na podany zestaw wskaźników. Wtedy wystarczy zająć tylko pozycję, i patrzeć jak zyski rosną. Dla lepszego wyjaśnienia, wyobraźmy sobie następującą zależność: gdy rośnie bezrobocie, można spodziewać się spadków na giełdzie, ponieważ ludzie tracąc pracę, ograniczają swoje wydatki, przez co firmy oferujące różnego rodzaju kupowane produkty, zaczynają mieć mniejszy obrót, przez co zyski są coraz mniejsze, co nie podoba się inwestorom, którzy uzyskują korzyści ich zadowalające, gdy zyski firmy są coraz większe. W efekcie wyprzedają akcje, a że większość myśli tak samo, nie ma chętnych do kupna, co w efekcie powoduje przymus sprzedawania taniej – spadki na giełdzie.

Oczywiście, cała sytuacja ekonomiczna jest dużo bardziej skomplikowana, na spadki ma wpływ ogromna liczba danych. I tutaj właśnie można by wykorzystać sieci neuronowe … wystarczy zapewnić odpowiednią moc obliczeniową, a sieć może przetworzyć ogromną liczbę takich danych – zdecydowanie więcej niż człowiek.W efekcie, opinia wydana przez dobrze wytrenowaną sieć, powinna być naprawdę dobra.

I tutaj pojawia się kilka spraw, które powodują drobne, albo jednak ogromne utrudnienia w wykorzystaniu tej technologii. Może jednak zanim o nich napiszę, wrócę do tego, o czym wspomniałem na początku – moja styczność z sieciami neuronowymi.

Tak się złożyło, że studiowałem informatykę, a dokładniej algorytmy bazujące na zjawiskach widzianych w środowisku naturalnym. Są nimi oczywiście sieci neuronowe, ale także algorytmy genetyczne, ewolucyjne, mrówkowe, robaczkowe, itp. Szczególne zainteresowanie wzbudziły we mnie sieci neuronowe oraz algorytmy ewolucyjne – a w zasadzie ich połączenie. Sieci neuronowe już wytłumaczyłem, więc w skrócie wyjaśnię tylko czym są algorytmy ewolucyjne. Ich zasada działania zaczerpnięta została z teorii Darwina, mówiąca o zmianach zachodzących w kodzie genetycznym organizmów żywych (mutacja, rekombinacja), dzięki czemu coraz lepiej potrafią przystosowywać się do wymagającego środowiska zewnętrznego. Tak właśnie działa algorytm ewolucyjny – generowany jest zestaw parametrów, które są modyfikowane i powielane w taki sposób, że każdy zestaw parametrów jest lepszy od poprzedniego. Wykorzystując je w sieci neuronowej, której parametry modyfikuje sie w czasie procesu uczenia, można stworzyć system, który sam dopasowuje się do danych, które są mu dostarczane. (zdaję sobie sprawę, że niektóre zagadnienia mogą być mało zrozumiałe, więc proszę o komentarze a ja chętnie wytłumaczę dokładniej to, co nie jest do końca jasne).

Oczywiście, gdy pierwszy raz usłyszałem o takich algorytmach, pierwsza myśl, ze względu na moje ogromne zainteresowanie rynkami finansowymi, było właśnie zastosowanie takiej dopasowującej się sieci neuronowej do gry na giełdzie. Pomysł swój zacząłem realizować jako pracę magisterską, jednak musiałem wszystko podzielić na etapy. W pierwszym postanowiłem jak najlepiej zrozumieć na czym polegają i jak dokładnie działają sieci neuronowe. Dlatego po konsultacjach z promotorem, ustaliliśmy tytuł pracy: Financial Time Series Prediction (Prognoza Finansowych Przebiegów Czasowych – dla zainteresowanych, można pobrać tutaj) – co w skrócie oznaczać miało wykorzystanie sieci neuronowych do przewidywania przyszłości, na podstawie danych historycznych. Kursy walut nadawały się do tego jak najbardziej, więc skupiłem się na jednym walorze, Brytyjskim Funcie w relacji do Złotówki. W efekcie, udało mi się opracować algorytm, który miał za zadanie generować przyszły kurs, na następne kilka dni, na podstawie danych historycznych. Niestety nie starczyło czasu na dokładne testy. Tym bardziej, że postanowiłem zmienić kompletnie kierunek studiów i rozpocząłem kolejne, związane z rynkami finansowymi. Wykorzystując algorytm, który opracowałem wcześniej oraz interesujące metody zarządzania portfelem, obniżające ryzyko i zmienność, na pracę magisterską wybrałem temat: Artificial Intelligence with Modern Portfolio Theory (Teoria Zarządzania Portfelem z wykorzystaniem Sztucznej Inteligencji – również, do pobrania tutaj). W efekcie, stworzyłem algorytm, który zarządzał portfelem 7 największych indeksów giełdowych, bazując na cenach historycznych oraz wskaźnikach ekonomicznych (praktycznie wszystkich, jakich dane udało mi się uzyskać). Otrzymane wyniki, bardzo ciekawe, uświadomiły mi jedną rzecz: pod pokrywą ogromnej ilości obliczeń, działo się coś czego nie rozumiałem, aczkolwiek otrzymywany wynik wydawał się być sensowny. I oto co jeszcze sobie uświadomiłem, pracując nad powyższymi projektami:

  • sieci neuronowe, sztuczna inteligencja, jest bardzo sztuczna – daleko jej do ludzkiego rozumowania
  • ciężko jest uzyskać dane
  • potrzeba niesamowitej mocy obliczeniowej, aby te algorytmy można było wykorzystać w czasie rzeczywistym

Rozpoczynając pracę jako trader, cały czas szukałem złotej metody, któa będzie generować zyski bez mojego udziału, i po pol roku zmagania się z rynkiem bezpośrednio, doszedłem do kolejnych wniosków

  • na rynku jest w ruchu już bardzo wiele algorytmów, które często tylko utrudniają nam traderom pracę
  • żaden algorytm nie jest w stanie wygrać z człowiekiem na dłuższą metę, a to z takiego prostego powodu, że psychika graczy ulega ciągłej ewolucji, pojawiają się nowi, starzy odchodzą, zawsze w grze trwa ogromna liczba osób podejmujących bardzo nieracjonalne decyzje, a żaden algorytm nie jest (przynajmniej z tego co mi wiadomo) naśladować psychiki ludzkiej – jest to sfera mózgu, która nie została jeszcze skopiowana i rozłożona na czynniki które można zapisać w formie kodu języka programowania
  • jeśli tylko nauczę się utrzymywać z tej pracy, nie powinienem się obawiać o to, że w pewnym momencie, przestanie byc źródłem dochodu. Tak długo jak ludzie istnieją, zawsze istniał handel i zawsze będzie istniał, a giełda będzie dalej funkcjonować, w czasach kryzysu i w czasach ekspansji (oczywiście, wg mnie, nie istnieje pojęcie 100% pewności co do przyszłości, aczkolwiek myślę, że tutaj prawdopodobieństwo jest jednak duże)

A na koniec, chciałem przytoczyć przykład gigantycznego funduszu hedgingowego, którego założycielem był John Meriwether, a wspólpracownikami Myron Scholes i Robert C. Merton (laureacji nagrody Noble’a, za wynalezienie wzoru na obliczenie wartości opji). Nazywał się LTCM (Long Term Capital Management) i przez długi czas generował naprawdę pokaźne zyski, opierając swoje strategie na skomplikowanych modelach matematycznych. Niestety, trading wspomagany komputerowo, bardzo się źle skończył w ich przypadku – strata 4.6 miliarda dolarów o mały włos nie spowodowała ogromnego spustoszenia na amerykanskim i międzynarodowych rynkach finansowych (w połączeniu z kryzysem azjatyckim (1997) oraz kryzysem rosyjskim (1998). Na pokrycie strat, największe banki amerykańskie musiały zebrać kwotę na pokrycie depozytu, dzięki czemu pozycje nie musiały zostać zamknięte.

Dlatego z algorytmami, trzeba jednak uważać, aczkolwiek, być może, już niedługo, zostaną wynalezione takie, które będą w stanie wygrać z ludźmi… nie sądzę, żeby mogły to być sieci neuronowe, w aktualnej postaci, jaką znamy, aczkolwiek wcale mnie to nie zniechęca, żeby dalej rozwijać algorytm, który jak dotąd udało mi się opracować.

Mam nadzieję, że nie rozczarowałem tym wpisem, ale trzeba sprawę postawić jasno – trading algorytmiczny jest bardzo trudny, aczkolwiek, jeżeli coś jest bardzo trudne, tzn. że wykonalne. Najgorsze są zadania niewykonalne, bo wtedy chociaż byśmy spędzili całe życie, może nam się nie udać ich rozwiązać – aczkolwiek patrząc na stan nauki i techniki, ludzie podejmują się nawet tych niemożliwych zadań. I bardzo dobrze, bo bez takich osób, świat stał by w miejscu.

Pozdrawiam

Tagi: , , ,

dodajdo

13 Responses to “Komputery w walce z rynkiem”

  1. TomekS

    Oczywiscie rynek futures polega na „oszukiwaniu innych” i jest gra z zerową sumą. Na rynku futures jestem od niedawna wiec nie moge nazwac sie w zaden sposob ekspertem jednak zauwazylem kilka prawidlowosci. Oto niektore z nich:
    1. Ludzki mozg ma naturalne ograniczenia w przyjmowaniu i analizowaniu pewnej nadmiarowej liczby bodzcow – wniosek: nie jestesmy w stanie w czasie rzeczywistym analizowac wiecej wskaznikow niz pewna indywidualna liczba.
    2. Wiekszosc moich stratnych decyzji byla powodowana emocjami.
    3. Wiekszosc moich stratnych decyzji w pewnym okresie czasu okazywala sie bledna (gdybym ich nie podjal otrzymalbym zysk)
    4. Wiekszosc moich strat byla spowodowana nietrzymaniem sie zasad jakiegos systemu.
    5. Wiekszosc moich stratnych decyzji byla spowodowana brakiem wiedzy i doswiadczenia.

    I teraz wnioski ktor mi sie nasunely ZA wykorzystaniem AI
    1. Algorytmy AI nie podlegaja emocjom.
    2. Algorytmy AI moga analizowac rownolegle wiecej informacji niz ludzki mózg.
    3. Algorytmom AI mozna przekazac wiedze ekspercka w procesie uczenia.

    Efektem moze byc system traderowy bez ograniczn psychicznych ludzkiego mozgu.

    Wnioski PRZECIW AI:
    1. Czlowiek posiadajacy duzy wplyw na rynek jest w stanie „oszukac” algorytm AI jesli tylko go zidentyfikuje i zrozumie jego dzialanie. (co nie jest takie latwe) Czlowiek ten musialby zaczac dzialac niekonwencjonalnie.

    Myslalem troszke o tym i doszedlem do jeszcze kilku wnioskow.
    Istnieja rozne systemy AI. Czesc z nich jest tworzona do rozwiazywania problemow NP-zupelnych (akurat na tych sie troszke znam). Gra gieldowa jest rozwiazywaniem zmiennego(ale nie chaotycznie) problemu NP-zupelnego w czasie.
    Stworzony system AI do tradingu musialby byc ciagle pielegnowany przez tworce. Po pewnym czasie rynek zamienilby sie w rywalizujace ze soba programy komputerowe ktore w naturalny sposob zastepowalyby ludzi. Mysle jednak ze to nastapi.

    Pozdrawiam TS

    #13
  2. Marcin Radlak

    Czesc Tomku, bardzo spodobal mi sie Twoj komentarz – sprowokowal mnie do podjecia dyskusji. Oczywiscie po czesci Cie popieram, ale czy wypisane punkty to wady czy zalety mozgu?

    1. Czy zeby podjac prawidlowa decyzje, trzeba przeanalizowac ogromna liczbe danych? Czesto podczas tradingu, a i rowniez w zyciu, musimy podejmowac decyzje nie znajac wszystkich danych… algorytm, pomimo, ze teoretycznie jest w stanie wiecej informacji przetworzyc, jak szybko zajmie przetworzenie chociazby 200 zmiennych? Biorac pod uwage, ze skupimy sie na najnowszych danych, z ostatnich tylko 5 lat, daje nam to macierz sporych rozmiarow (biorac pod uwage tylko i wylacznie cene zamkniecia kazdego dnia – zwiekszajac czestotliwosc danych, ich rozmiar rosnie)
    A mozg ludzki, analizuje wszystkie informacje jakie odbieramy ze srodowiska zewnetrzengo, jednak te malo wartosciowe odrzuca, jesli nie maja wplywu na podejmowana decyzje. Sieci neuronowe tez to robia, jednak przy takiej duzej liczbie danych, trzeba zastosowac algorytm redukcji wymiaru, poniewaz trening zwykle sieci kilkuneuronowej, znacznie sie wydluza – wykorzystujac algorytm, tracimy pewne informacje.
    2. Profesjonalisci, systematycznie zarabiajacy na gieldzie – nie pozwalaja na to, aby emocje wplywaly na ich decyzje i potrafia to robic bardzo skutecznie
    3. Domyslam sie, ze chodzi o zamykanie pozycji … kazda moze przyniesc zysk -problem w tym jak dlugo trzeba czekac i na ile mozemy sobie pozwolic byc do tylu, zanim zarobimy… profesjonalisci, potrafia z ogromna precyzja okreslic kiedy ich pozycja jest stratna i trzeba ja zamknac, a kiedy trzeba utrzymac, poniewaz wroci i wygeneruje zysk
    4. Po raz kolejny – profesjonalny trader nie ma tego problemu, co wiecej, potrafi dopasowac system do aktualnie panujacych warunkow na rynku
    5. Tak – tylko doswiadczenie jest w stanie zapewnic nam umiejetnosci, dzieki ktorym unikniemy blednych decyzji

    Patrzac na liste argumentow za wykorzystaniem AI:
    1. Po raz kolejny – dobry trader nie podlega emocjom
    2. Czy wiecej informacji oznacza lepiej?
    3. Tak, to prawda – jednak nie przekaze sie czegos co nazywa sie intuicja

    Czy algorytm jest w stanie rozwiazac powyzsze problemy? Tak, aczkolwiek jesli opracuje go osoba bardzo, ale to bardzo dobrze znajaca sie na algorytmach… wydaje mi sie jednak, ze wiedzac jak opracowac algorytm, nie wiedzac jak mysla profesjonalisci, moze znacznie utrudnic zadanie. Oczywiscie laczac wiedze tradera i programisty, mozna by prawdopodobnie uzyskac ciekawy efekt, jednak z mojego doswiadczenia z takimi algorytmami – czlowiek jeszcze przez bardzo dlugi czas bedzie mial nad nimi przewage.

    Poruszajac fakt problemow NP-zupelnych, cytujac wikipedie: „pytanie czy problemy NP-zupełne można rozwiązywać w czasie wielomianowym, jest największą zagadką informatyki teoretycznej”. Zacytowalem ten fragment, poniewaz juz z takim stwierdzeniem spotkalem sie podczas studiow. Nie jestem ekspertem w tego typu zadaniach, jednak nie wydaje mi sie aby gielda takim problemem byla. A to dlatego, ze nie mozna skwantyfikowac psychologii ludzkiej. A ona odgrywa glowna role na rynkach finansowych… psychologia powoduje, ze argument przeciw AI („Czlowiek posiadajacy duzy wplyw na rynek jest w stanie ?oszukac? algorytm AI jesli tylko go zidentyfikuje i zrozumie jego dzialanie. (co nie jest takie latwe) Czlowiek ten musialby zaczac dzialac niekonwencjonalnie” jest jak najbardziej prawdziwy – czlowiek sam, nie jest w stanie manipulowac plynnym rynkiem, jednak tlum osob, taki wplyw moze miec – a jesli wsrod tego tlumu znajdzie sie wytarczajaca liczba osob podejmujaca nieracjonalne decyzje – algorytm staje sie bezuzyteczny. Pomimo tego ze bedzie mial racje, nie bedzie w stanie z tej racji skorzystac i na niej zarobic.
    Dopoki nie nastapi przelom w informatyce, nie sadze aby algorytmy gieldowe wygraly z dobrymi traderami – oczywiscie moga sobie radzic z kiepskimi, poniewaz takich jest bardzo duzo… mysle ze dopiero postepy z komputerem kwantowym mogly by przyniesc ciekawe rezultaty. Wtedy mogl bym sie zgodzic, ze istnieje szansa na wyeliminowanie czlowieka … w innym przypadku, pozostane konserwatywny … (musze koniecznie zaznaczyc, ze zanim nie zaczalem tej pracy, moja opinia byla calkowicie przeciwna, czyli w 100% zgodna z Twoja, Tomku)

    #16
  3. TomekS

    Witam ponownie. Wywiazala sie rzeczywiscie bardzo ciekawa dyskusja (przynajmniej dla nas). Na poczatku chcialem zaznaczyc, ze prawie we wszystkim zgadzam sie z Twoja opinia i argumentacja.
    Zeby troszke bardziej rozjasnic sytuacje zaznacze, ze na rynku futures jestem zaledwie od miesiaca i pierwsze depo stracilem :), wiec zaden ze mnie znawca rynku z czego zdaje sobie sprawe. Ale podobno czlowiek najlepiej uczy sie na wlasnych bledach i ponoszeniu konsekwencji. Postaram sie podjac dalsza dyskusje.

    Ad.1
    Wydaje mi sie, ze podczas tradeingu nie analizuje sie bardzo duzej liczby danych. Czlowiek (ludzki mozg) po prostu nie jest do tego zdolny. Decyzje podejmujemy najczesciej na podstawie zaledwie kilku danych. Czy Ty tak robisz w pracy ? Odpowiedz mi na pytanie: ile czynnikow bierzesz pod uwage w chwili podjecia decyzji? Mysle, ze nie wiecej niz 5 w danej chwili, choc byc moze sie myle.
    Sprawny algorytm moze „przeliczyc” w czasie rzeczywistym o wiele wiecej danych (zalezy oczywiscie od zlozonosci funkcji miedzy tymi danymi) ale wcale tego nie musi robic ! Wystarczy zaledwie kilka. Osobiscie jestem zwolennikiem nasladowania natury w algorytmice wiec tworzenie sieci neurownowej przetwarzajacej kilkadziesiat danych, wspolczynnikow koleracji i to jeszcze z okresu powiedzmy kilku lat wstecz jest moim zdaniem blednym podejsciem. Dobry trader chyba tak nie robi. Napisales „z ostatnich tylko 5 lat”. Ja osobiscie uwazam ze miesiac wstecz juz jest zdecydowanie za duzo. Po co analizowac 5 lat wstecz ? Traderzy, ktorzy tworza i ruszaja rynkiem nie patrza na to co bylo 5 lat temu. Wydaje mi sie, ze za pomoca sieci neuronowej probowales odzwierciedlic funkcje rynku, uczac siec na danych historycznych. Mysle ze bledne jest myslenie ze istnieje jakas funkcja rynku. Mysle ze jej nie ma, wiec zadna klasyczna siec neuronowa sobie z tym nie poradzi.
    Ad. 2.
    Oczywiscie, ze tak, jednak oni tez ponosza czasami straty. Oni rowniez nie sa w stanie calkowicie wylaczyc emocje. Tego sie chyba nie da. W ktoryms z Twoich wpisow przeczytalem bardzo ciekawa analize ludzkiego mozgu i tego, ze rynek dziala inaczej niz nasze naturalne srodowisko do ktorego przywyklismy na drodze ewolucji, wiec dlatego u poczatkujacych traderow mozna zauwazyc dziwne reakcje emocjonalne. Ja przeszedlem dokladnie przez to samo. Az smialem sie pod nosem z niektorych Twoich przykladow bo mialem dokladnie to samo. (Mysli typu: moze to zmowa ? moze ktos mnie obserwuje ? po reakcje na pograniczu modlitwy i sciskania kciukow – smieszne ale prawdziwe.) To oczywiscie nie jest zadana wada ze mamy tak uksztaltowany mozg. Jednak jak sam zauwazyles rynek futures nie jest „naturalnym srodowiskiem dla ludzkiego mozgu” dlatego sztuczne systemy mogly by byc w tym zakresie lepsze.

    Ad 3.
    Tak jest, chodzi o zamkniecie pozycji. To wlasnie ten moment powoduje zysk lub strate (no chyba ze poczekamy do konca). Oczywiscie profesjonalisci potrafia to przewidziec ale rowniez nie sa tego pewni. Ani oni ani zaden system nigdy nie bedzie tego pewny na podstawie obliczen poniewaz mamy do czynienia z procesem stochastycznym a nie deterministycznym.

    Ad 4 i 5.
    Oczywiscie masz racje.

    „Patrzac na liste argumentow za wykorzystaniem AI:
    1. Po raz kolejny – dobry trader nie podlega emocjom
    2. Czy wiecej informacji oznacza lepiej?
    3. Tak, to prawda – jednak nie przekaze sie czegos co nazywa sie intuicja”

    Ad. 1.
    Po raz kolejny odpowiem: nawet najlepszy trader jest tylko i az czlowiekiem, wiec nie jest w stanie do konca wylaczyc emocji. Potrafi to tylko algorytm.
    Ad. 2. Z punktu widzenia matematycznej proby odtworzenia jakiejs funkcji TAK, jednak jak juz wczesniej napisalem rynek to nie funkcja – to stochastyczny proces. Jezeli chcemy sie do niego dopasowac jakims systemem chyba powinnismy zaczac dzialac tak jak usredniony trader. Nasz sztuczny system powinien analizowac mniej wiecej podobna liczbe danych co czlowiek (ekspert).

    Ad. 3. Moj osobisty poglad jest taki, ze cos takiego jak intuicja nie istnieje. Chetnie o tym porozmawiam ale nie tu i teraz bo byloby troche przydlugo a temat jest rozlegly.

    Wydaje mi sie, ze nasz sztuczny system nie powinien byc oparty na sieciach neuronowych. A przynajmniej nie w zakresie podstawy systemu.
    Mysle, ze system powinien skladac sie z „agentow programowych” dzialajacych w podobny sposob do roznych typow traderow. To ci agenci mieliby wpisane pewne deterministyczne funkcje oparte na wspolczynnikach. Agenci ci powinni byc wyposazeni w indywidualne sieci neuronowe, ktore jedynie w najlepszy sposob korelowalyby te wspolczynniki aby agent osiagal maksymalizacje zysku.
    Jak bys zapytal siebie lub innych doswiadczonych traderow czy sa w stanie napisac schemat dzialania na przyklad skalpowania to mysle ze byliby w stanie to dokladnie zrobic i wcale schemat ten nie bylby zbyt skomplikowany. Jedynie okreslenie pewnych wspolczynnikow sprawiloby trudnosci. Oczywiscei na roznych rynkach i w roznych sytuacjach rozni agenci byliby bardziej lub mniej efektywni. Mysle ze dokladnie tak samo jak jest w Twojej pracy magisterskiej.

    Jesli chodzi o problemy NP-zupelne i gielde.

    Obserwujac znany nam wykres z jednego dnia mozemy postawic zadanie znalezienia optymalnej kombinacji otwierania, odwracania i zamykania pozycji dla danych z dnia. Jest to zadanie kombinatoryczne NP-zupelne, ktore jest trudne do rozwiazania nawet dla znanych historycznie danych :) Jednak podczas trwania sesji, my musimy rozwiazywac ten problem bez znajomosci calego zadania ! Nie wiem co sie stanie za 5, 10, 15 minut. Wiemy jednak, ze istnieja pewne ograniczenia w wahaniach. Dlatego wydaje mi sie ze aby sprobowac to przewidziec przy pomocy sieci neuronowej nalezaloby uzyc nie standardowej sieci powiedzmy kilkuwarstwowej uczonej historia tylko uzyc sieci samoorganizujacej sie (typu Kohonena) ktora dzialalby w trakcie sesji probujac przewidziec co sie stanie dalej na podstawie danych z przeszlosci i aktualnie naplywajacych. (rynek tez nie reaguje natychmiast na informacje). Czesto wygrywaja ci ktorzy sa po prostu szybsi w zleceniach, a automatyczny system zawsze bylby o te sekunde szybszy od czlowieka :). Oczywiscie jest to tylko moje gdybanie gdyz takiego systemu nie napisalem.

    Problemy np- zupelne mozna rozwiazac. Kiedys opracowalem neuronowy algorytm rozwiazujacy Euklidesowy TSP 2D w czasie podwykładniczym. Nawet go opublikowalem w ktoryms Lecture Notes in Computer Science. Jeslli bylbys zainteesowany to przesle. Algorytm opieral sie na dwoch wspolpracujacych sieciach samoorganizujacych sie. Problem jednak w tym, ze to nie rozmiar problemu stanowil problem (liczba miast) a ich rozmieszczenie. Mozna bylo wygenerowc przyklady w ktorych zaproponowane przeze mnie sieci musialyby skladac sie z praktycznie nieskonczonej liczby neuronow a dokladnosc pewnych wspolczynnikow w tych sieciach wzrastalaby do milionowych miejsc po przecinku.

    Reasumujac: system o ktorym mysle jest prostrzy niz by sie moglo wydawac. Jego przewaga polegalaby glownie na szybkosci dzialania, konsekwencji i braku ludzkich emocji. Oczywiscie nie gwarantowalby zyskow :)

    Aby go stworzyc potrzebowalbym jednak kilku ekspertow :) Moze jestes chetny ?? Jak by co to zapraszam na priv email znasz z rejestracji na stronie.

    Pozdrawiam i udanych łowów :)
    Tomek

    #17
  4. Marcin Radlak

    Czesc Tomku, mysle ze napewno mozemy podyskutowac cos wiecej i ewentualnie polaczyc sily. Ja jestem zawsze otwarty na nowe tematy. Niestety dzisiaj i jutro nie bede juz mial mozliwosci odpisac, zobacz moze na te moje magisterki (uaktualnilem linki, i juz mozna je pobrac), co sadzisz o tym co w nich zrobilem, i chetnie przeczytam tez Twoj papier (chyba, ze masz ich wiecej niz jeden). Moj email to marcin at pro-trading.pl Odezwe sie na poczatku tygodnia, prawdopodobnie w poniedzialek, a jesli bedziesz mial ochote napisac do tego czasu cos wiecej, chetnie przeczytam.
    Pozdrawiam
    Marcin

    #18
  5. Marcin Radlak

    Tomku, oczywiscie jestem chetny do wspolpracy, ale postanowilem jeszcze odpowiedziec tutaj na postawione przez Ciebie pytania – byc moze ktos sie zainteresuje i przylaczy do dyskusji.

    Ad1. Aktualnie, prawdopodobnie swiadomie biore pod uwage tylko 3-5 czynnikow, aczkolwiek, nieswiadomie, zdaje sobie sprawe z ogromnej ilosci, niektore takie banalne jak pora dnia, wartosc wolumenu od poczatku dnia, jak duzy ruch zostal wykonany, jak wyglada sytuacja na wykresie, jak szybko zmieniaja sie oferty, jak szybko dokonywane sa transakcje, ile jest ofert kupna, sprzedazy … jest tego naprawde masa, i z kazdym dniem ucze sie zwracac nieswiadomie uwage na kolejne. To jest bardzo analogiczne do prowadzenia auta – na poczatku wszystko wydaje sie bardzo skomplikowane, a pozniej jadac z predkoscia 120km/h rozmawiac przez telefon, zmieniajac stacje w radiu i obserwowac co dzieje sie wokolo.
    Pisalem o analizie danych z 5 lat, poniewaz sa to dane dzienne … w czasie rzeczywistym odbywaja sie setki tysiace transakcji (biorac pod uwage popularniejszy kontrakt) – zgrywalem kiedys wszystkie transakcje do pliku, i zapisujac tylko czas, cene, i wielkosc – plik mierzyl ok 1-1.5mb…i to jest jedna sesja…day-trader kojarzy max 5 sesji wstecz.
    Aczkolwiek Twoja propozycja z siecia samoorganizujaca sie bardzo mi sie spodobala, poniewaz kiedys czytalem o sieciach kohonena, aczkolwiek nie mialem czasu i nie zbadalem ich w praktyce. Trzeba jednak zwrocic uwage na fakt, ze nawet analizujac mniejsza ilosc danych, nie ma algorytmu a raczej komputera, ktory przeliczy wszystko w czasie rzeczywistym – tzn da odpowiedz chociazby w ciagu 1 sekundy (to jesli mial by to byc algorytm do daytradingu). Jesli mowimy o algorytmie, ktory by bazowal na transakcjach wykonywanych na otwarcie dnia, potrzebna jest spora ilosc dni wstecz, aby siec mogla sie jakos zorganizowac. Wg mnie, trzeba by bylo znalezc taki przedzial ktory byl by kompromisem pomiedzy iloscia danych i moca obliczeniowa – czyli czasem reakcji.
    Ad2. Zawodowi traderzy ponosza straty, tylko i wylacznie dlatego ze nie mozna w srodowisku probabilistycznym miec 100% racji – to tak jak by za kazdym razem zgadnac co wypadnie – orzel czy reszka – w rzucie moneta. Srodowisko gieldowe jest srodowiskiem losowym, poniewaz nie jest sie w stanie nigdy w 100% przewidziec, jak zachowa sie czlowiek … pomimo, ze powinien zachowac sie racjonalnie, pod wplywem roznych czynnikow, moze zachowac sie bardzo nieracjonalnie. Oczywiscie traderzy zakladaja racjonalne dzialanie – a jesli zdarzy sie przeciwne, poprostu zamykaja pozycje i przechodza do nastepnej – kompletnie bez emocji. moze ten calkowity brak emocji jest dziwny dla poczatkujacego, i dla mnie byl przez dlugi czas – ale teraz juz doszedlem do takiego stylu, ze emocje zadko sie pojawiaja – a tylko dlatego daja o sobie znac, poniewaz nie jestem jeszcze takim traderem, jakim powinienem byc.
    Po drugie, emocje nie sa czyms bardzo zlym, i w wielu przypadkach uratowaly mnie przed sporymi stratami.
    W zwiazku z tym, algorytm tez mogl by sie mylic, i napewno bedzie. Trzeba tylko skupic sporo wysilku na opracowaniu dobrej metody zarzadzania ryzykiem. Straty sa, zawsze beda. jedyne co rozni te osoby, ktore zarabiaja na gieldzie, od tych ktore traca jest radzenie sobie z nimi – to w jaki sposob na nie reaguja.

    Ad1. Jak najbardziej sie zgodze. Nawet jak sam pracowalem nad moim algorytmem, trenowalem 30 roznych sieci, i jako prognoze bralem ich usredniona wartosc. w ten sposob populacja sieci ma wieksze szanse miec racje, niz jakas pojedyncza – dlatego to jest bardzo wazny punkt przyszlego algorytmu.

    Jesli chodzi o schemat skalpowania … moja metoda jest taka, ze albo sie odbije od poziomu wsparcia/oporu, albo go przebije… obserwuje arkusz zlecen, i na podstawie zachowania jakie tam widze, zajmuje pozycje. oczywiscie, na jestem na etapie, ze mam racje tylko w 5 przypadkach na 10 – skutecznosc 50%…jedyne czym nadrabiam, to tym, ze mam mniejsze stopy niz targety… wtedy mozna skonczyc dzien na plusie.
    Dzieki za wytlumaczneie gieldy jako zadnia np-zupelnego. nie pomyslalem o tym z tego punktu, wiec wycofuje swoje stwierdzenie z poprzedniego komentarza.

    Co do tworzenia algorytmu, jak juz pisalem, jestem chetny do pomocy … oczywiscie w miare mozliwosci czasowych, ale z tym mozemy juz sie dogadac mailowo, wiec jak bys chcial cos popytac, tutaj jest moj adres (marcin (malpa) pro-trading.pl)
    Pozdrawiam

    #19
  6. MATRIX

    Ciekawa dyskusja. Jak rozumiem marzy się Panom AI na rynkach kapitałowych. Myślę, iż kierunek naśladujący ludzki mózg jest dość ciekawy i obiecujący. Jest jednak małę „ale”. Pozwolę sobie tutaj zacytować wielkiego filozofa Alberta Einstein’a „Gdybyśmy znali wszystkie istniejące oddziaływania we wszechświecie, to bylibyśmy w stanie przewidzieć przyszłość”. Problem polega na tym, że nie znamy fizjologii ludzkiego mózg. Większość z nas wyobraża sobie go jako ogromną ilość połączeń synaptycznych, które biorą udział w procesie myślenia oraz zapamiętywania. Otóż okazuje się, że za owe procesy nie tylko odpowiedzialne są połączenia synaptyczne ale także struktury białkowe w obrębie samych neuronów, które to także ulegają zmianą w czasie. Ich rola nie jest wyjaśniona do tej pory. Tworząc AI staramy się naśladować tylko i wyłącznie strukturę synaptyczną. Nie będę tutaj rozwijał problemu myślenia abstrakcyjnego, bo coś takiego w ogóle jest poza zasięgiem AI w ciagu najbliższych dziesięcioleci. Nie należy zapominać o najważniejszej rzeczy – o emocjach. Giełda to zachowania bazujące na emocjach, o czym któryś z Pnów wspomniał wyżej. I teraz pytanie: jak zapisać za pomocą algorytmu np strach albo pewność siebie? Opieranie algorytmów tylko i wyłącznie na podstawie wskaźników pozbawia cały model elementu abstrakcyjnego – chyba najważniejszego w realnym świecie. Chciałbym także zauważyć, iż proces analizowania danych w mózgu odbywa się wielowarstwowo. Część tego procesu odbywa się przy naszej pełnej świadomości, część bez naszego świadomego udziału.

    #150
  7. Zgadzam sie jak najbardziej… wg. mnie, ciezko jest przygotowac system automatyczny, z wykorzystaniem chocby najlepszych narzedzi… problem w tym, ze sposob myslenia uczestnikow rynku zmienia sie z dnia na dzien. Przekonalem sie o tym na sobie. Aczkolwiek istnieja systemy, ktore potrafia przynosic zyski. Trzeba je jednak caly czas „pilnowac” i optymalizowac. Wszystko zalezy od osoby i upodoban. Ja zrozumialem, ze lepiej skupic sie na nauce wyczucia rynku, niz na konstruowaniu automatu, aczkolwiek trading algorytmiczny w dalszym ciagu mnie interesuje i kiedys do niego powroce.
    Pozdrawiam

    #151
  8. MATRIX

    Przyznam się szczerze, że nie lubię optymalizowanych systemów. Autorzy takich systemów zwykle mają taką dziwną przypadłość testowaniu ich na danych historycznych i optymalizowaniu ich pod owe dane. W moim przekonaniu jest to błędna koncepcja. Dlaczego? Ano zakłada liniowość rynku. Nie trzeba być wielkim znawcą rynku, aby zauważyć, iż jest to nieprawda. Aczkolwiek, są pewne reguły, którymi kieruje się rynek. Przy budowie takiego systemu warto byłoby się na tym skupić. Być może budowa takiego systemu powinna przebiegać kilkuetapowo. Może warto byłoby, wzorem ojców AT zacząć od budowy wskaźników, które możnaby potem wykorzystać przy budowie skomplikowanych systemów. Warto chyba sprawdzić zagadnienie od strony teoretycznej.

    #152
  9. Tutaj niestety sie nie zgodze … optymalizacja jest bardzo potrzebna, aczkolwiek nalezy uniknac podstawowego bledu jakim jest dopasowanie do posiadanych danych, zamiast generalizacja na dane, ktorych nie ma w zestawie treningowym. Metody takie jak np. testy „out of sample” czy „walk forward” oraz wiele innych pomagaja nie przeoptymalizowac systemu. Bez optymalizacji, nie bylo by wogole mowy o algorytmie, ktory automatycznie mial by wykonywac trade-y … zbyt duzo parametrow…
    Co do samego systemu, tak jak pisalem z Tomkiem, jestem bardziej za sieciami neuronowymi czy innymi metodamy bazujacymi na naturze … oczywiscie daleko im do rzeczywistosci, ale i tak, pomimo swoich ograniczonych mozliwosci potrafia bardzo wiele zdzialac … niestety po tym jak zobaczylem jaka szeroka jest to dziedzina, planuje zajac sie tego typu projektami jak bede mial duzo wiecej wolnego czasu na te hobby ;)
    Pozdrawiam

    #153
  10. MATRIX

    Zgadzam się co do sposobu optymalizacji. Jednak pod pewnymi warunkami. Napiszę tak, jestem wielkim fun’em Elliota. W zasadzie jego klasycznej teorii. Z niej dość jasno wynika, tak w wielkim skrócie, że rynek podczas trendu zachowuje się w zależności od fazy na trzy różne sposoby. Z premedytacją pomijam korekty gdyż to zupełnie osobna bajka. Wydaje mi się, iż projektując systemy oparte o AI należałoby zachować ten podział – owe fazy, które obrazują stan „emocjonalny” rynku. Spojrzenie na rynek poprzez tego typu teorię najbardziej przybliża systemy oparte na jakichkolwiek algorytmach to abstrakcyjnego „analizowania” rynku. Oczywiście należy pamiętć i kilku czynnikach, które wpływają na taką analizę, na przykład nie bez znaczenia jest to, iż jakiś mały fragment „rynku” jest mniejszym elementem większego „fragmentu” itd. Takie założenia systemu implikują między innymi sposób optymalizacji, a także funkcjonowanie takiego systemu.

    #154
  11. Wojciech

    Hey Marcinie!
    Jak tam Twoje osiągnięcia w automatyzacji strategii opartej o AI?
    Wątek był napisany już dobre 2 lata temu więc mam nadzieję, że udało Ci się już dojść do jakiś nowych konkluzji :)
    Ja również jestem ogromnym zwolennikiem mechanizmów AI i jestem w trakcie pisania własnej strony poświęconej tworzeniu automatycznych systemów w głównej mierze właśnie opartych o AI (SSN, AG, LR).
    Jestem ostatnio bardzo zarobiony ale mam nadzieję, że przed nowym rokiem strona będzie gotowa :) – przynajmniej na tyle, żeby ją umieścić w necie.

    pozdrawiam

    #9023
  12. Czesc Wojtku,
    Szczerze, to rowniez nie mialem czasu dalej pracowac nad algorytmami AI … skupilem sie bardziej na tradingu manualnym i ciezko znalezc chwile, zeby dalej rozwijac to co juz mam. Ale moze kiedys jeszcze do tego wroce ;)
    Pozdrawiam

    #9210
  13. kriss

    Witam,
    Widzę że temat umiera. Zwycięża jednak manualny trading. A jednak dostępnymi obecnie metodami i komputerami tworzy się wysokodochodowe systemy algorithmic high frequency trading. Po ofertach pracy w uk nawet widać, że specjalistom płaci się za ich umiejętności grube pieniądze – tak więc musi to przynosić firmie duże zyski skoro tak inwestuje. Myślę że nie trzeba naśladować człowieka by tworzyć systemy go ogrywające. Przykład szachy a stopniowo również go – gry uchodzące za najbardziej skomplikowane. Trading to też gra;)
    Pozdrawiam i zachęcam do dalszej pracy.

    Btw. Liczby Fibonaciego a raczej ciąg, bierze pod uwagę jedynie 2 ostatnie swoje elementy by stworzyć następnik. Czy analogicznie nie może być w szeregach giełdowych?Jeśli tak to nie trzeba by wcale obliczać ogromnej macierzy dla starych danych historycznych.

    #10241

Skomentuj


pięć + = 11

Subskrybuj komentarze bez komentowania

Reklamy

Wsparcie finansowe

Jeżeli spodobała Ci się ta strona, pozostaw na niej komentarz, ponieważ nic innego tak bardzo nie motywuje, jak zainteresowanie ze strony odwiedzających. Jeśli posiadasz własną stronę o podobnej tematyce, umieść na niej linka do mojej strony i jeśli dasz mi o tym znać, zrobię to samo. A jeżeli dodatkowo uważasz, że ta strona jest wartościowa i masz taką możliwość, możesz mnie wesprzeć dowolną kwotą abym mógł ją dalej rozwijać. Nie oczekuję żadnej płatności, aczkolwiek fundusze pomogą mi pokryć koszty poświęconego czasu.
Kwota: PLN
Dotpay.pl
Dziękuję!
Marcin Radlak

Ankieta