Rozsiane
na przestrzeni kilku ostatnich wpisów pomysły
i idee warto zebrać w bardziej usystematyzowanej postaci. Poniżej
zatem przedstawiam opis algorytmu, mającego za zadanie dobór liczby
równolegle prowadzonych strategii na podstawie wcześniej uzyskanych
wyników – zysków lub strat.
1.
Pomysł prosty, opiera się na wyborze nie jednej, najlepszej (wg
wskaźników skuteczności - jakichkolwiek) strategii, ale
wyznaczeniu ich zbioru a następnie pseudolosowym wygenerowaniu
jednej z nich.
2.
Dysponując rodziną strategii (indeksowanych parametrem - być może
wielowymiarowym) najpierw wyznaczamy ich realizacje na początkowym
zbiorze interwałów czasowych. Można to określić jako swoistą
ideę sekwencji rozbiegowej.
3.
Spośród tych strategii wyznaczamy pewien odsetek (np. 5% - to jest
parametr zadawany arbitralnie) najlepszych. Zarazem wyznaczamy
maksymalne obsunięcie kapitału - największe spośród nich
wszystkich (to jest bardzo ważne!). Innymi słowy wybieramy
championów, ale nastawiamy się na najgorszy możliwy scenariusz
wśród nich.
4.
Wybieram losowo jedną ze strategii, a kapitał początkowy dobieramy
wg owego pesymistycznego scenariusza, opisanego wyżej.
5.
Jeśli strategia przynosi straty, to trudno – stosujemy ją dalej
aż do rozstrzygnięcia, jakim – niestety – może okazać się
ruina gracza.
6.
Ale jeśli przynosi zyski, to sprawdzamy, czy przychód (łączny
skumulowany zysk) przekracza pesymistyczny scenariusz. Jeśli tak, to
ponownie generujemy losowo jedną ze strategii z czołówki
najlepszych (uaktualnionych). W ten sposób do gry wkracza drugi
wirtualny inwestor.
7.
Procedura jest powtarzana iteracyjnie. Wynikiem końcowym jest: albo
bankructwo (gdy łączne skumulowane straty przekroczą kapitał
początkowy wraz z otrzymanymi zyskami) albo krzywa kapitału
wznosząca się do góry.
8.
Powyższa metoda nadaje się do implementacji i symulacji w
praktycznie każdym środowisku. Środki programowe są bardzo
proste: podstawowe statystyki skuteczności (skumulowany zysk,
maksymalne obsunięcie kapitału), generator liczb pseudolosowych
(dostępny praktycznie wszędzie).
9.
Symulacyjne badanie pozwala oszacować empiryczne prawdopodobieństwo
ruiny gracza.
10.
Co więcej, empiryczny rozkład wyników uzyskanych w procesie
symulacji daje nam pewne wyobrażenie –
ponieważ jest to tylko estymacja! - o analogicznej charakterystyce
prawdziwego rozkładu zysków i strat.
A
skoro jest algorytm, to wkrótce
zabierzemy się za jego implementację.
Jakoś tego nie widzę... Co w ogóle oznacza punkt 4? Tzn. co to znaczy, że "kapitał początkowy dobieramy wg owego pesymistycznego scenariusza"? Czy chodzi o to, że planowo inwestujemy np. 1% kapitału a na podstawie pkt-u 3 dobieramy SL i w ten sposób wyznaczamy wielkość inwestowanego kapitału?
OdpowiedzUsuńPoza tym co oznacza "indeksowanych parametrem - być może wielowymiarowym"?
5%? To trzeba by mieć ze 100 strategii...
Czy nie lepiej sobie wyznaczyć średnią ze wszystkich strategii (z inwestowanego kapitału, prognozowanego kierunku, SL itd.) i na podstawie takiej średniej inwestować?
W dużym uproszczeniu oznacza to tyle, że rezerwa kapitału dobrana do rozpoczęcia inwestycji jest równa sumie dwóch składników: minimalnej kwoty depozytu wymaganej przez brokera (jednak to jest mniej znaczący składnik) oraz właśnie historycznie wyznaczonego MDD na podstawie odsetka wybranych strategii w serii rozbiegowej (to zwykle jest dużo większa kwota i ona właśnie decyduje o tym, jaki zapas kapitału sobie rezerwujemy na poczet przyszłych (nieznanych) obsunięć).
UsuńZdaję sobie sprawę, że koncepcja jest jeszcze mało klarowna - mam nadzieję dopracować ją i przedstawić wraz z przykładami, jednak trudno mi określić kiedy to się uda zrealizować.
100 strategii nie jest problemem, kiedy dysponuje się środowiskiem (zdecydowanie tutaj trzeba czegoś lepszego niż arkusz kalkulacyjny) do symulacji ich działania. Sądzę że nie powinno być problemu z liczbą większą nawet o 2 rzędy wielkości :)
Co do wyznaczania średniej, to właśnie ideą proponowanego przeze mnie algorytmu było uniknięcie uśredniania strategii już na samym początku - natomiast losowy wybór jednej z nich jest oczywiście obarczony konkretnym wpływem składnika 'zaburzającego'.