Saturday 16 December 2017

System obrotu cel funkcja


Jak zoptymalizować system handlowy. NOTE Jest to dość zaawansowany temat Proszę przeczytać poprzednie samouczki AFL pierwszy pomysł za optymalizacją jest prosta Po pierwsze trzeba mieć system handlu, może to być prosty ruchome przecięcie średnie np. W prawie każdym systemie to niektóre parametry jako okres uśredniania, które decydują, jak dany system zachowuje się dobrze, jest odpowiedni dla długoterminowej lub krótkoterminowej, jak reaguje na wysoce niestabilne zapasy itd. Optymalizacja to proces znalezienia optymalnych wartości tych parametrów dających największy zysk system dla danego symbolu lub portfel symboli AmiBroker jest jednym z niewielu programów, które pozwalają na optymalizację systemu na wielu symbolach naraz. Aby zoptymalizować system, musisz zdefiniować od jednego do dziesięciu parametrów, które mają zoptymalizować. Ty decydujesz co to jest minimalna i maksymalna dopuszczalna wartość parametru iw jakim kroku ta wartość powinna zostać zaktualizowana AmiBroker wykonuje wiele testów wstecznych systemu używając A LL możliwe kombinacje wartości parametrów Gdy proces się skończy AmiBroker wyświetli listę wyników posortowanych według zysku netto Możesz zobaczyć wartości parametrów optymalizacji, które dają najlepszy wynik. Zarządzanie formułą AFL. Optymalizacja w testerze wstecznym jest obsługiwana przez nową funkcję zwana optymalizacją Składnia tej funkcji jest następująca: optymalizacja zmienna Opis, domyślnie min maks. step. variable - to zwykła zmienna AFL, która przyporządkowuje wartość zwracaną przez optymalizację funkcji Przy normalnych testach wstecznych, skanowania, eksploracji i trybach komend funkcja optymalizacji zwraca domyślne wartość, więc powyższe wywołanie funkcji jest równoważne zmiennej domyślnej. W optymalizacji optymalizuje funkcje zwraca kolejne wartości od min do maksimum włącznie z krokiem kroku. Opis jest ciągiem, który jest używany do identyfikacji zmiennej optymalizacji i jest wyświetlany jako nazwa kolumny w lista wyników optymalizacji list. default jest wartością domyślną, która optymalizuje funkcje zwracane w poszukiwaniu , wskaźnik, komentarz, skanowanie i normalne tryby testów wstecznych. min jest minimalną wartością zmiennej zoptymalizowanej. max jest maksymalną wartością zmiennej zoptymalizowanej. step jest przedziałem stosowanym do zwiększania wartości od min do maksimum. AmiBroker obsługuje maksymalnie 64 wywołania do optymalizacji funkcji, a więc do 64 zmiennych optymalizacyjnych, pamiętaj, że jeśli korzystasz z wyczerpującej optymalizacji, to naprawdę dobry pomysł, aby ograniczyć liczbę zmiennych optymalizacyjnych do zaledwie kilku. Każdy zadzwonić, aby zoptymalizować generowanie maksimum minut makr i optymalizacji kroków zoptymalizowanie dwóch parametrów przy użyciu 10 kroków wymaga 10 10 100 optymalizacyjnych pętli. Call optimizuje funkcję tylko ONCE na zmienną na początku formuły, ponieważ każde wywołanie generuje nowe pętle optymalizacji. wypełnienie wielu symboli jest w pełni obsługiwany przez AmiBroker. Maksymalna przestrzeń wyszukiwania to 2 64 10 19 10 000 000 000 000 000 kombinacji.1 Pojedyncza zmienna optymalizacja. sigavg Optymalizacja S średnio ignalna 9 2 20 1.Buy Cross MACD 12 26, Signal 12 26 sigavg Sprzedaj sygnał krzyżowy 12 26 sigar, MACD 12 26.2 Optymalizacja na 2 5 50 1 Poziom Optymalizacja poziomu 2 2 150 4.Buy Cross CCI per, - Revel Cross Poziom sprzedaży, CCI per.3 Wielokrotne 3 zmienna optymalizacja. mfast Optymalizacja MACD Fast 12 8 16 1 mslow Optymalizacja MACD Powolny 26 17 30 1 sigavg Optymalizacja Średni sygnał 9 2 20 1. Kup Cross MACD mfast , mslow Sygnał mfast, mslow, sigavg Sprzedaj transwersję mfast, mslow, sigavg, MACD mfast, mslow. Po wprowadzeniu formuły wystarczy kliknąć przycisk Optymalizuj w oknie analizy automatycznej AmiBroker rozpocznie testowanie wszystkich możliwych kombinacji zmiennych optymalizacyjnych i przedstawi wyniki w lista Po optymalizacji jest sporządzona lista wyników jest przedstawiona posortowane przez zysk netto Jak można sortować wyniki dowolnej kolumny na liście wyników, łatwo jest uzyskać optymalne wartości parametrów dla najniższego wypłatu, najmniejszej liczby transakcji, największy prof współczynnik ten, najniższa ekspozycja na rynek i najwyższy stopień ryzyka skorygowany roczny wynik Ostatnie kolumny listy wyników przedstawiają wartości zmiennych optymalizacyjnych dla danego testu. Kiedy zdecydujesz, która kombinacja parametrów odpowiada Twoim potrzebom, najlepszym rozwiązaniem jest zastąpienie domyślnego wartości w optymalizacji połączeń funkcji z optymalnymi wartościami Na obecnym etapie należy wpisać je ręcznie w oknie edycji formuły drugi parametr optymalizacji funkcji call. Displaying 3D animowane wykresy optymalizacji. Aby wyświetlić wykres optymalizacji 3D, należy uruchomić dwu - zmienna optymalizacja Pierwsza zmienna optymalizacja potrzebuje wzoru, który ma 2 Zoptymalizować wywołania funkcji Przykładowa dwu zmienna formuła optymalizacyjna wygląda następująco :. Optymalizuj na 2 5 50 1 Poziom Zoptymalizuj poziom 2 2 150 4. Kup Krzyż CCI na, Level, CCI per. After po wprowadzeniu formuły musisz kliknąć przycisk Optymalizuj. Po zakończeniu optymalizacji należy kliknąć strzałkę w dół na przycisk Optymalizuj i wybrać Wyświetlanie wykresu optymalizacji 3D W ciągu kilku sekund pojawi się kolorowa trójwymiarowa wykres powierzchni w oknie przeglądarki wykresu 3D Przykładowy wykres 3D generowany przy użyciu powyższej wzoru jest pokazany poniżej. Domyślnie wykresy 3D przedstawiają wartości zysku netto względem zmiennych optymalizacyjnych ale wykres powierzchni 3D wykresu dla każdej kolumny w tabeli wyników optymalizacji Wystarczy kliknąć nagłówek kolumny, aby go posortować. Niebieska strzałka pojawi się, wskazując, że wyniki optymalizacji są sortowane według wybranej kolumny, a następnie wybierz opcję Wyświetl wykres 3D optymalizacji. Bądź wizualizuj swój system parametry wpływają na wydajność handlu, można łatwiej zdecydować, które wartości parametrów powodują delikatne wrażenia i które zapewniają solidną wydajność systemu Solidne ustawienia to obszary na wykresie 3D, które wykazują stopniowe, a nie gwałtowne zmiany wykresów powierzchniowych wykresów 3D są doskonałym narzędziem zapobiegającym krzywiznomurawiom, dopasowanie krzywej lub nadmierna optymalizacja występuje wtedy, gdy system jest bardziej złożony niż musi być, i al l złożoność skupiła się na warunkach rynkowych, które mogą nigdy się nie powtórzyć. Radykalne zmiany lub skoki na mapach optymalizacji 3D pokazują wyraźnie obszary nadoptymalizowane. Należy wybrać region parametrów, który tworzy szeroki i szeroki płaskowyż na wykresie 3D dla Twojego życia. Zestawy parametrów generowanie skoków zysku nie będzie działać niezawodnie w prawdziwym handlu. Kontroler widoków 3D. Przeglądarka wykresów 3DAmiBroker s oferuje całkowite możliwości wyświetlania z pełną rotacją i animacją wykresu Teraz można wyświetlać wyniki systemu z każdej możliwej perspektywy Możesz kontrolować pozycję i inne parametry na wykresie za pomocą myszy, paska narzędzi i skrótów klawiaturowych, niezależnie od tego, co Ci się łatwiej znajdziesz Poniżej znajduje się lista.- do obracania - przytrzymaj lewy przycisk myszy i poruszaj się w kierunkach XY - aby powiększyć, powiększyć - przytrzymać w dół PRAWO myszy i poruszaj się w kierunku XY - aby przenieść translację - przytrzymaj lewy klawisz myszy i klawisz CTRL i poruszaj się w kierunku XY - aby animować - przytrzymaj Lewy przycisk myszy, przeciągnij szybko i zwalniaj przycisk podczas przeciągania. SPACE - animacja automatycznego obracania STRZAŁKA W LEWO - obrót pionka Lewa STRZAŁKA W GÓRĘ - obrót w prawo w prawo STRZAŁKA STRZAŁKA W GÓRĘ - obracanie w górę STRZAŁKA W GÓRĘ - obróć oczarowanie NUMPAD PLUS - powiększenie NUMPAD - MINUS - Daleko odejmij NUMPAD 4 - przesuń w lewo NUMPAD 6 - przesuń w prawo NUMPAD 8 - przesuń NUMPAD 2 - przesuń w dół PAGE UP - poziom wody do góry STRZAŁKA W GÓRĘ - poziom wody poniżej. oferuje inteligentną, niewyczerpującą optymalizację w uzupełnieniu regularnych, wyczerpujących wyszukiwań Niewyczerpujące wyszukiwanie jest użyteczne, jeśli liczba wszystkich kombinacji parametrów danego systemu obrotu jest po prostu zbyt duża, aby możliwe było wyczerpujące wyszukiwanie. Wyczerpujące wyszukiwanie jest w porządku, dopóki jest rozsądny w użyciu Użyj dowolnych dwóch parametrów: od 1 do 100 kroku 1 To 10000 kombinacji - idealnie OK dla wyczerpujących poszukiwań Teraz z 3 parametrami masz milion kombinacji - wciąż jest to możliwe do wyczerpującego zaciemnienia ale może to być lenghty Z 4 parametrami masz 100 milionów kombinacji i 5 parametrów 1 100 masz 10 miliardów kombinacji W takim przypadku byłoby zbyt czasochłonne, aby sprawdzić wszystkie z nich, a to jest obszar, w którym nie wyczerpujący smart - metody wyszukiwania mogą rozwiązać problem, który nie może zostać rozwiązany w rozsądnym czasie przy użyciu wyczerpujących wyszukiwań. Jest to absolutnie prosta instrukcja, jak używać nowego niedokładnego optymalizatora w tym przypadku CMA-ES.1 Otwórz swoją formułę w Edytorze formuł. pojedyncza linia u góry formuły. OptimizerSetEngine cmae możesz również użyć spso lub trib here.3 Opcjonalny Wybierz cel optymalizacji w sekcji Automatyczna analiza, Ustawienia, Walk-Forward, Optymalizacja pola docelowego Jeśli pominiesz ten krok, zoptymalizujesz go dla CAR Związek MDD roczny zwrot podzielony przez maksymalne wycofanie. Teraz, jeśli uruchomisz optymalizację przy użyciu tej formuły, użyjesz nowego, ewolucyjnego, niewyczerpującego optymalizatora CMA-ES. Jak to działa. Optymalizacja to proces znalezienia min imum lub maksymalna dana funkcja Każdemu systemowi handlowemu można uznać za funkcję pewnej liczby argumentów Dane wejściowe są parametrami i danymi kwotowania, a wynik jest celem docelowym optymalizacji. CAR MDD I szukasz maksimum danej funkcji. Maszą inteligentną optymalizację algorytmy są oparte na zachowaniu zwierząt przyrodniczych - algorytmach PSO lub procesach biologicznych - algorytmach genetycznych, a niektóre bazują na pojęciach matematycznych pochodzących od ludzi - CMA-ES. Te algorytmy są stosowane w wielu różnych dziedzinach, w tym w finansach Wprowadź finansowanie PSO lub CMA - ES w Google i znajdziesz wiele informacji. Niepełne lub inteligentne metody znajdą globalny lub lokalny optymalny Cel jest oczywiście znaleźć globalne, ale jeśli jest pojedynczy ostry szczyt z kombinacji parametrów ziliony, wyczerpujące metody mogą nie odnaleźć tego pojedynczego szczytu, ale biorąc pod uwagę przedsiębiorcę perspektywicznie, znalezienie pojedynczego ostrego szczytu jest bezużyteczne dla handlu, ponieważ ten wynik byłby niestabilny, a n Możemy replikować w prawdziwym obrocie handlowym W procesie optymalizacji raczej szukamy regionów płaskowzgórzowych o stabilnych parametrach i jest to obszar, w którym inteligentne metody świecą. Jako algorytm użyty w wyniku niewyczerpującego wyszukiwania, wygląda następująco: optymalizator generuje zazwyczaj przypadkowe uruchamianie populacja zestawów parametrów b baza danych zwrotnych jest wykonywana przez AmiBroker dla każdego zestawu parametrów z populacji c wyniki wyników testów wstecznych są obliczane zgodnie z logiką algorytmu, a nowa populacja jest generowana w oparciu o ewolucję wyników, d jeśli zostanie znalezione nowe - zapisać i przejdź do kroku b, dopóki kryteria stopu nie zostaną spełnione. Przykładowe kryteria zatrzymania mogą obejmować osiągnięcie określonego maksymalnego iteracji b stop, jeśli zakres najlepszych wartości obiektywnych ostatnich X pokoleń wynosi zero c stop, jeśli dodano 0 1 wektor odchylenia standardowego w dowolnej osi głównej kierunek nie zmienia wartości obiektywnej wartości d innych. Aby użyć dowolnego inteligentnego nie wyczerpującego optymalizatora w AmiBroker należy określić optymalizator engin e chcesz użyć w formule AFL za pomocą funkcji OptimizerSetEngine. Funkcja wybiera zewnętrzny silnik optymalizacji określony przez nazwę AmiBroker aktualnie dostarczany z 3 silnikami Standardowa cząstka Swarm Optimizer spso, plemiona Tribes i CMA-ES cmae - nazwy w nawiasach klamrowych mają być wykorzystywane w opcjach OptimizerSetEngine. Oprócz wybrania silnika optymalizacyjnego możesz ustawić niektóre z jej wewnętrznych parametrów. W tym celu należy użyć funkcji OptimizerSetOption. OptimizerSetOption, funkcji wartości. Funkcja ustawia dodatkowe parametry dla zewnętrznego silnika optymalizacyjnego Parametry zależą od silnika trzy optymalizatory dostarczane z AmiBroker SPSO, Trib, CMAE obsługują dwa parametry Uruchamia liczbę przebiegów i testy maksymalnej oceny MaxEval na pojedynczą jazdę Zachowanie każdego parametru jest uzależnione od silnika, więc takie same wartości mogą i zwykle przynoszą różne wyniki przy użyciu różnych silników. Różnica między Runs i MaxEval jest następująca Ocena lub test jest pojedynczym testem wstecznym lub ewaluacją n wartości obiektywnych wartości RUN to jedna pełnowartość algorytmu określająca optymalną wartość - zwykle obejmująca wiele ewaluacji testów. Każda operacja po prostu RESTARTS cały proces optymalizacji z nowej początkowej nowej początkowej losowej populacji W związku z tym każda próba może prowadzić do znalezienia lokalnego maksimum min jeśli nie znajdzie globalnego Parametr So Runs definiuje liczbę kolejnych algorytmów MaxEval to maksymalna liczba bactestów ewaluacji w każdym pojedynczym ruchu. Jeżeli problem jest stosunkowo prosty i 1000 testów wystarczy, aby znaleźć globalny maks., 5x1000 jest bardziej prawdopodobne znaleźć maksimum globalne, ponieważ istnieje mniejsze prawdopodobieństwo, że zostanie zablokowany w lokalnym maksimum, ponieważ kolejne runy zaczynają się od początkowej początkowej losowej populacji. Wybór wartości parametru może być trudne. Zależy to od problemu w trakcie testu, jego złożoności, itd., itd. Każdy stochastyczny nie wyczerpujący metoda nie daje gwarancji znalezienia globalnego maks min, bez względu na liczbę testów, jeśli jest mniejsza niż wyczerpująca Najłatwiejsza jest odpowiedź określenie dużej liczby testów, jak jest to rozsądne pod względem czasu wymaganego do wykonania Inna prosta rada polega na pomnożeniu przez 10 liczby testów z dodaniem nowego wymiaru, co może prowadzić do przecenienia wymaganych testów, ale jest dość bezpieczne Wysyłane silniki są zaprojektowane do prostego w obsłudze, dlatego też używane są rozsądne domyślne wartości automatyczne, dzięki czemu optymalizacja może być zwykle wykonywana bez określania czegokolwiek przyjmującego wartości domyślne. Ważne jest, aby zrozumieć, że wszystkie inteligentne metody optymalizacji działają najlepiej w przestrzeni parametrów ciągłych i względnie gładko Funkcje Jeśli przestrzeń parametrów jest dyskretnymi algorytmami ewolucyjnymi mogą mieć kłopoty ze znalezieniem optymalnej wartości Jest to szczególnie prawdziwe w przypadku parametrów binarnych wyłączonych - nie pasują one do żadnej metody wyszukiwania, która używa gradientu obiektywnej zmiany funkcji, jak najbardziej inteligentnych metod Jeśli system handlu zawiera wiele binarnych parametrów, nie należy używać ich bezpośrednio do inteligentnego optymalizatora. Zamiast tego staraj się optymalizować tylko ciągłe parametry za pomocą inteligentnego optymalizatora i przełączanie parametrów binarnych ręcznie lub za pomocą zewnętrznego skryptu. SPSO - Standardowa cząstka Swarm Optimizer. Standard Particle Swarm Optimizer oparta jest na kodzie SPSO2007, który ma przynieść dobre rezultaty pod warunkiem, że podawane są poprawne parametry tj. Runy, MaxEval dla konkretnego problemu Wybieranie poprawnych opcji dla optymalizatora PSO może być trudne, dlatego też wyniki mogą znacznie różnić się w zależności od przypadku. jest dostarczany z pełnym kodem źródłowym wewnątrz podkatalogu ADK. Przykładowy kod dla Standardowego Cząstki Swarm Optimizer znalezienie optymalnej wartości w 1000 testów w obszarze wyszukiwania 10000 kombinacji. NarzędzieSetEngine spso OptymalizatorSetOption Runs, 1 OptimizerSetOption MaxEval, 1000.sl Optymalizacja s, 26, 1, 100, 1 fa Zoptymalizuj f, 12, 1, 100, 1.Buy Cross MACD fa, sl, 0 Sprzedaj Cross 0, MACD fa, sl. TRIBES - Adaptive Parameter-less Particle Swarm Optymalizator. Trybry są adaptacyjne, bez parametrów bez wersji PSO optymalizator roju cząstek Nie wyczerpujący optymalizator Dla naukowego tła patrz. W teorii powinien on być lepszy niż zwykły PSO, ponieważ może automatycznie dostosować rozmiary roju i strategię algorytmu do problemu, który zostanie rozwiązany. Praktyka wskazuje, że jej wydajność jest dość podobna do PSO. Wtyczka implementuje Tribes-D tj. Bezwymiarowy wariant Na podstawie Maurice Clerc Oryginalnych kodów źródłowych używanych za zgodą autora. jest dostarczany z pełnym kodem źródłowym wewnątrz folderu ADK. Powiadomione parametry MaxEval - maksymalna liczba testów wstecznych na każde uruchomienie domyślne 1000. Należy zwiększyć liczbę ocen z rosnącą liczbą wymiarów parametrów paramsów optymalizacji Domyślna wartość 1000 jest dobra dla 2 lub maksymalnie 3 wymiary. Runs - liczba uruchomień restartuje domyślnie 5 Możesz pozostawić liczbę przebiegów na domyślną wartość 5.By domyślna liczba uruchomień lub restartów jest ustawiona na 5. Aby użyć optymalizatora Tribes wystarczy dodać jedną linię do swojego kodu. OptymalizatorSetOption MaxEval, 5000 5000 ocen max. CMA-ES - Adaptacja matrycy kowariancji Optymalizacja strategii ewolucyjnej. CMA-ES Współczynnik kowariancji adaptacja Strategia ewolucyjna jest zaawansowanym niewyczerpującym optymalizatorem Dla naukowego kontekstu Zgodnie z naukowymi kryteriami przewyższają dziewięć innych najpopularniejszych strategii ewolucyjnych, takich jak PSO, ewolucja genetyczna i różnicowa. Wtyczka implementuje globalny wariant wyszukiwania z kilkoma restartami z rosnącym popem rozmiar przydziału pochodzi z pełnego kodu źródłowego wewnątrz folderu ADK. Domyślna liczba uruchomień lub restartów jest ustawiona na 5 Zalecane jest pozostawienie domyślnej liczby restartów. Możesz to zmienić za pomocą OptymalizatoraSetOption Runs, N call, gdzie N powinien znajdować się w zasięgu 1 10 Określenie więcej niż 10 przebiegów nie jest zalecane, choć możliwe Należy pamiętać, że każda kolejna operacja wykorzystuje TWICE wielkość populacji poprzedniego cyklu, więc wzrasta wykładniczo W związku z tym z 10 biegami kończy się liczba ludności 2 10 większa niż 1024 razy niż pierwsza bieg. jest innym parametrem MaxEval Domyślną wartością jest ZERO, co oznacza, że ​​wtyczka automatycznie obliczy MaxEval. Nie zaleca się definiowania MaxEval przez siebie, ponieważ domyślnie działa poprawnie. Algorytm jest wystarczająco inteligentny, aby zminimalizować liczbę wymaganych ocen i zbiegać się bardzo szybko do rozwiązania punktu, więc często znajdzie rozwiązania szybciej niż inne strategie. Jest normalnie, że plugin pominie niektóre etapy ewaluacji, jeśli wykryje, że rozwiązanie zostało znalezione, to e nie należy się dziwić, że pasek postępu optymalizacji może poruszać się bardzo szybko w niektórych punktach wtyczka ma również możliwość zwiększenia liczby kroków powyżej pierwotnie oszacowanej wartości, jeśli jest potrzebna do znalezienia rozwiązania Ze względu na jego adaptacyjny charakter, szacowany czas pozostały i lub liczba kroków wyświetlanych w oknie dialogowym postępu jest najlepiej przypuszczalna w danej chwili i może różnić się w trakcie kursu optymalizacji. Aby użyć narzędzia do optymalizacji CMA-ES, wystarczy dodać jedną linię do swojego kodu. Spowoduje to uruchomienie optymalizacji z ustawieniami domyślnymi, które są w porządku dla większości przypadków. Należy zauważyć, podobnie jak w przypadku wielu algorytmów wyszukiwania przestrzeń kosmicznego, że zmniejszający się parametr kroku w funkcjach Optymalizuj funciton nie wpływa znacząco na czasy optymalizacji Jedyną rzeczą, która ma znaczenie, jest wymiar problemu, tzn. liczba różnych parametrów liczba funkcji zoptymalizowania funkcji Liczba kroków na jeden parametr może być ustawiona bez wpływu na czas optymalizacji, więc użyj najlepszej rozdzielczości, jaką chcesz w teście y algorytm powinien być w stanie znaleźć rozwiązanie w co najwyżej 900 testach N 3 N 3, w których N jest wymiarem W praktyce zbiegnie się szybciej Z LOTA Przykładowo, rozwiązanie w przestrzeni parametrów 3 N trójwymiarowych mówi 100 100 100 1 miliona wyczerpujących kroków można znaleźć w zaledwie 500-900 kroków CMA-ES. Indiogwintowana indywidualna optymalizacja. Uruchamianie z AmiBroker 5 70 oprócz wielowątkowego wielowątkowego można wykonać wielowątkową optymalizację wielostanowiskową Aby uzyskać dostęp do tej funkcji, kliknij przycisk upuść strzałkę w dół obok przycisku Optymalizuj w oknie Nowa analiza i wybierz opcję Indywidualne optymalizowanie. Opcja Optymalizacja indywidualna będzie korzystać z wszystkich dostępnych rdzeni procesora w celu przeprowadzenia optymalizacji pojedynczego symbolu, co znacznie przyspiesza jej wyniki niż regularna optymalizacja. W trybie bieżącego symbolu będzie on optymalizowałby się na jednym symbolu We wszystkich symbolach i trybach Filtr przetwarza wszystkie symbole kolejno, tj. Pierwszą pełną optymalizację dla pierwszego symbolu, a następnie optymalizację na drugim symbolu itp. Określenia 1 Custo m backtester nie jest jeszcze obsługiwany 2 Inteligentne silniki optymalizacyjne nie są obsługiwane - działa tylko optymalizacja EXHAUSTIVE. W międzyczasie możemy pozbyć się ograniczeń 1 - gdy AmiBroker zostanie zmieniony, więc niestandardowy backtester nie używa już OLE Ale 2 prawdopodobnie tu pozostać na długo. Poprawa technicznych systemów obrotu przy użyciu nowej procedury algorytmu genetycznego opartego na MATLAB. Najważniejsze badania na rynkach finansowych sugerują, że analiza techniczna może być bardzo przydatnym narzędziem w przewidywaniu tendencji Systemy transakcyjne są szeroko stosowane do oceny rynkowej, ale optymalizacja parametrów tych systemów ma przyciągnęło niewielkie zainteresowanie W niniejszym artykule, aby zbadać potencjał cyfrowego handlu, przedstawiamy nowe narzędzie MATLAB oparte na algorytmach genetycznych, narzędzie specjalizuje się w optymalizacji parametrów technicznych reguł. Wykorzystuje moc algorytmów genetycznych do generowania szybkich i wydajnych rozwiązań w rzeczywistych warunki handlowe Nasze narzędzie zostało przetestowane w dużej mierze na danych historycznych funduszu UBS inwestującego w nowe stoc k poprzez nasz konkretny system techniczny Wyniki pokazują, że proponowany przez nas system GATradeTool przewyższa powszechnie stosowane, nie adaptujące się narzędzia programistyczne w odniesieniu do stabilności powrotu i oszczędności czasu w całym okresie próbkowania, jednakże dostarczyliśmy dowodów na istnienie efektu wielkości populacji w jakość rozwiązań. Rynki finansowe. Genetyczne algorytmy. Techniczne reguły 1. Wprowadzenie Dzisiejsze firmy handlowe i analitycy inwestycyjni potrzebują szybkich i skutecznych narzędzi w bezlitosnym rynku finansowym Walki w handlu są obecnie prowadzone głównie z prędkością komputera Rozwój nowej technologii oprogramowania i pojawienie się nowych środowisk oprogramowania, np. MATLAB stanowi podstawę do rozwiązywania trudnych problemów finansowych w czasie rzeczywistym. MATLAB posiada dużą wbudowaną funkcję matematyczno-finansową, fakt, że zarówno język interpretowany, jak i kompilowany, a niezależność platformy sprawiają, że jest on odpowiedni rozwój aplikacji finansowych. Zdolność do zwrotów uzyskanych w technice ru les, w tym strategie pędu, np. 14 15 16 16 25 20, reguły średnie ruchome i inne systemy handlowe 6 2 9 24 mogą potwierdzić znaczenie analizy technicznej. Jednak większość z tych badań zignorowała kwestię optymalizacji parametrów, pozostawiając je otwarte do krytyki snoopingu danych i możliwości przetrwania w biurze 7 17 8 Tradycyjnie naukowcy stosowali ad hoc specyfikację reguł handlowych Używają domyślnej konfiguracji popularnej lub próbują losowo wypróbować kilka różnych parametrów i dobierać najlepsze z kryteriami opartymi na powrocie głównie. Papadamou i Stephanides 23 wdrożył nową bazę narzędzi opartą na MATLAB dla wspomaganego komputerowo handlu wspomaganego komputerowo, zawierającego procedurę problemów optymalizacji parametrów. Jednak słabym punktem ich procedury optymalizacji jest funkcja czasu obiektywnego, np. Zysk jest prosty, ale skomplikowany iteracja optymalizacji przechodzi przez dane, generuje sygnały handlowe, oblicza zyski, itp. Jeśli zestawy danych są duże i chcesz jak najszybciej zoptymalizować system i potrzebujesz rozwiązania tak szybko, jak to możliwe, wypróbowanie wszystkich możliwych rozwiązań, aby uzyskać najlepszy, byłoby bardzo żmudnym zadaniem. Algorytmy genetyczne GA są lepsze ponieważ przeprowadzają przypadkowe przeszukiwania w uporządkowany sposób i bardzo szybko zbliżają się do populacji niemal optymalnych rozwiązań GA zapewni Ci kompletną liczbę dobrych rozwiązań Analitycy są zainteresowani uzyskaniem kilku dobrych rozwiązań tak szybko, jak to możliwe, a nie najlepszym na świecie rozwiązaniem. najlepsze rozwiązanie na świecie istnieje, ale jest mało prawdopodobne, aby nadal było najlepsze. Celem tego badania jest pokazanie, w jaki sposób można zastosować algorytmy genetyczne, klasę algorytmów ewaluacji ewolucyjnej, aby poprawić wydajność i efektywność komputerowych systemów handlowych Nie ma tu na celu przedstawienia teoretycznych lub empirycznych uzasadnień dla analizy technicznej Wykazujemy nasze podejście w części Zadania prognozowania opartego na rynkach wschodzących. Niniejszy dokument jest zorganizowany w następujący sposób. Poprzednie prace zostały przedstawione w Rozdziale 2 Zestaw danych i nasza metodologia zostały opisane w Rozdziale 3 Wyniki empiryczne zostały omówione w Rozdziale 4 Konkluzje podano w sekcji 5.2 Poprzednie prace. wiele pracy GA w dziedzinie informatyki i inżynierii, ale niewiele zostało zrobione w kwestiach związanych z działalnością gospodarczą. Coraz częściej wzrasta zainteresowanie korzystaniem z GA w ekonomii finansowej, ale jak dotąd było mało badań dotyczących handlu zautomatyzowanego. Według naszej wiedzy pierwszy opublikowany artykuł łączący algorytmy genetyczne z inwestycjami pochodził z Bauer i Liepins 4 Bauer 5 w swojej książce Algorytmy genetyczne i strategie inwestycyjne oferowały praktyczne wskazówki dotyczące sposobu, w jaki GA mogłyby być wykorzystane do opracowania atrakcyjnych strategii handlowych opartych na podstawowych informacjach Te techniki mogą być można łatwo rozszerzać na inne typy informacji, takie jak techniczne i makroeco dane nomiczne i przeszłe ceny. Zgodnie z algorytmem algorytmu algorytmu Allen i Karjalainen 1 jest odpowiednia metoda wykrywania technicznych zasad handlu Fern ndez-Rodr guez i wsp. 11, przyjmując optymalizację algorytmów genetycznych w prostej regule obrotu, stanowią dowód na skuteczne wykorzystanie GA z Madryckiej Giełdy Papierów Wartościowych Inne interesujące badania to Mahfoud i Mani 18, które prezentowały nowy system opartego na algorytmie genetycznym i zastosowały je do zadania przewidywania przyszłych osiągów poszczególnych zasobów przez Neely i wsp. 21 oraz przez Oussaidene i in. 22, które zastosowały programowanie genetyczne do prognozowania kursów walutowych i odnotowano pewien sukces. Jednym z komplikacji w optymalizacji GA jest to, że użytkownik musi zdefiniować zestaw parametrów, takich jak szybkość przecięcia, wielkość populacji i szybkość mutacji Według De Jonga 10, algorytmy optymalizacji funkcji Dobre osiągi GA wymagają dużego prawdopodobieństwa rozbieżności odwrotnie proporcjonalnie do wielkości populacji i mo zmniejszać wielkość populacji Goldberg 12 i Markellos 19 sugerują, że zestaw parametrów, które działają dobrze w wielu problemach jest parametrem crossover 0 6, rozmiarem populacji 30 i parametrem mutacji 0 0333 Bauer 4 przeprowadził serię symulacji problemów optymalizacji finansowej i potwierdził ważność sugestii Goldberga W bieżącym badaniu przeprowadzimy ograniczone badania symulacyjne, testując różne konfiguracje parametrów dla wybranego systemu handlowego. Zaprezentujemy również dowody na GA proponowane przez porównanie naszego narzędzia z innymi narzędziami programowymi.7 Typy rzetelności w handlu Roboty budowlane Ta pogoda Wszystko Storms. Building Invincible Robot. So słyszałeś o tym, jak komputery rządzą światem handlu, jak inteligentne roboty zarabiają miliony na rynkach, a teraz chcesz zbudować swój owb potężny robot handlowy, który może podbić wszystko Cóż, ten artykuł nie obiecuje magicznej formuły lub świętego graala swojemu niezwyciężonemu robotowi, ale jest tak blisko, jak się robi. cepts wspomniane tutaj nie ma zastosowania w handlu wysokimi częstotliwościami w milisekundach. Wykonaj swoje roboty inteligentne, ale nie za inteligentne. Co to znaczy, że pogoda Wszystko Storms. In Aby nasze systemy handlowe do pogody wszystkie burze, aka pozostają skuteczne na różnych rynkach warunki, które muszą dostosować się do rynku To pociąga za sobą logikę handlową, która jest skuteczna w różnych okresach, sprawdzając ramy, które minimalizują wsteczne spojrzenie i zasady, które nie są zbyt sztywne. Kryteria te można podsumować w jednym słowie Solidność. Jaka jest solidność. Oficjalna definicja solidności W ekonomii solidność to zdolność systemu handlu elektronicznego do pozostania skuteczna na różnych rynkach i na różnych warunkach rynkowych lub zdolność modelu ekonomicznego do zachowania ważności przy różnych założeniach, parametrach i stanach początkowych. prostsze słowa. System handlu jest solidny, jeśli może pozostać skuteczny w zmieniających się warunkach rynkowych. Kody, testowanie i ocena roboty handlowe w dzisiejszych czasach są niedrogie. Typy wytrzymałości. Robliwość wydaje się być nadmiernym słowem Wiele osób mówi o solidności w systemie handlowym bez konkretnego odniesienia do pojedynczego typu odporności. Jest wiele rodzajów solidności, w tym artykule będzie mowa o głównym siedem. PowstałośćZawodność. SeasonalStribility. TimeframeStrustość. InstrumentStrustośćOptimisationStrustowość. Parameter Robustness. PortfolioStrustość. PeriodWzrostowość. DefinitionSystem handlu jest solidny w różnych okresach, jeśli może on pozostać skuteczny w różnych okresach rynkowych. Market okresy można scharakteryzować 2 typy Generic and Strategic. Generic Market Periods. Figure 1 Sześć generowanych okresów rynkowych. Rysunek 1 pokazuje nam sześć podstawowych ogólnych okresów rynkowych W tym przypadku analizujemy wyniki naszych systemów handlowych w tych sześciu okresach. niektóre ogólne tabele okresów rynkowych są 5 na 5 lub większe.5 na 5 osi Y Bardzo niska lotność, niska lotność, neutralne, duże wahania, V ery Wysoka lotność.5 przez 5 osi X Silne Uptrend, Uptrend, Ranging, Downtrend, Strong Downtrend. The klasyfikacji 5 na 5 jest po prostu odmianą oryginału od 2 do 3, ale nie ma nic złego w przypadku 5 na 5 lub większych klasyfikacji. Jeśli nasz system handlowy jest skuteczny w 6 podstawowych okresach, oznacza to, że jest to okres silny. Strategiczne okresy rynkowe. Okresy strategiczne są definiowane przez przedsiębiorcę. To zależy od konkretnych warunków silnie wpływających na aktywny majątek. Oczywiście, te szczególne warunki różnią się w zależności od różnych aktywów. Na przykład, jeśli inwestujemy w EURUSD, polityka pieniężna w USA będzie miała duży wpływ na nasze transakcje. przykładem byłoby 1 Tuż przed zwolnieniem zarobków 2 Tuż po zwolnieniu zysku. Zastosowanie do transakcji. Oznacza to, że jeśli mój system obrotu nie jest okres solidny, to jest nieopłacalny. To, co jest niepoprawne Jest p wiele systemów handlowych, które mają na celu zdobycie konkretnej nieefektywności na rynku. Naszym celem jest zrozumienie cech charakterystycznych systemu handlowego, dzięki czemu wiemy, jak i kiedy je wdrożyć. Racjonalność. Określenie systemu handlowego jest sezonowe, jeśli jest w stanie pozostają skuteczne pomimo sezonowych efektów. Racjonalność można uznać za podzbiór Okresu Solidność. Efektem sezonowym jest dowolna anomalia rynku lub efekt ekonomiczny, który wydaje się być powiązany z kalendarzem. Mówimy, że istnieją sezonowe efekty na rynku, jeśli istnieją powtarzające się zachowanie na rynkach w czasie Istnieje pięć głównych typów efektów sezonowych. Efekt w ciągu dnia Efekt szczególny zachowań rynków w określonych porach dnia. Dniowy efekt Szczególne zachowanie rynków w określone dni tygodnia. Month Effect Szczególne zachowanie rynków na w niektórych miesiącach roku. Skutki działania Skutki szczególne zachowań rynków w ujęciu kwartalnym. Wieloletni efekt Termin ten obejmuje czasami wieloletnie e takie jak 10-letni cykl dekadalny. W większości przypadków efekty sezonowe nie są samospełniające się przepowiednie. Są tworzone przez fundamenty rynkowe.1 Rynki walutowe są bardziej aktywne w pewnych porach dnia z powodu globalnych nakładek na rynek.2 Styczeń Efekt ma miejsce ze względu na przyczyny redukcji podatku3. Rynki są cichsze na wcześniejszej połowie pierwszego piątku każdego miesiąca z powodu płac niefinansowych. Wykres 2 Analiza skutków efektów styczniowych. Zastosowanie do handlu. Dlaczego nie wykorzystamy tego powtarzająca się nieefektywność Jest to z pewnością możliwe, ale istnieje kilka przyczyn, dla których może to być trudne. Dlatego i zakres efektów sezonowych są niestabilne. Uczestnicy rynku stale próbują wykorzystać efekty sezonowe Działania wpływają na zakres i zachowanie efektów sezonowych W związku z tym tworzy dynamiczna sytuacja, w której sezonowe skutki ciągle się zmieniają. Najwięcej handlu jest zbyt wysokie. Efekt sezonowy może istnieć, ponieważ koszt wykorzystania efektu jest zbyt wysoka Wysokie koszty działają jako naturalna bariera chroniąca efekty sezonowe. Nie sądzę, że rynek jest całkowicie wydajny, ale uważamy, że jest on skuteczny w pewnym stopniu W wielu przypadkach trudno jest wykorzystać sezonowy efekt, ponieważ efektywność jest wyceniana na przykład Na przykład można kupić straddle strukturę opcji, która zyskuje na wartości, gdy zmienność wzrasta podczas płac poza rolnictwem, ponieważ spodziewasz się wyższej zmienności jednak sprzedawcy sprzedawców straddle uwzględniali dużą zmienność, a tym samym to w opcjach premii za cenę starddle. Timeframe Solidność. Definition System handlu jest ramy czasowe solidne, jeśli jest w stanie utrzymać skuteczność podczas obrotu w różnych ram czasowych. Timeframe odnosi się do naszego okresu świecowego 1min, 5min, 15min, 1hour, codziennie itp. Nasz system handlu jest racjonalny pod względem czasu, jeśli jego strategia handlowa jest skuteczna w różnych terminach. Musimy zrozumieć ramy czasowe w dwóch typach warunków rynkowych1. sset zachowuje się jak fraktalna w przekrojach czasowych.2 Brak zachowania behawioralnego. Scenario 1 Nasz składnik zachowuje się jak fraktalna w przekrojach czasowych. Nie mówimy o wzorze świecowej, gdy mówimy o Fractals. Oficjalna definicja Fractals Fractal jest zjawiskiem naturalnym lub matematyczny zestaw zawierający powtarzający się wzór, który wyświetla się na każdej płaszczyźnie Jeśli replikacja jest dokładnie taka sama na każdym kroku, nazywa się ona podobną do siebie formą. Aby ją uprościć Fractal to wzór powtarzający się w różnych grafikach lub skalach czasowych. Frakcje 3 Fractals w różnych terminach czasowych. Gdy zbliżamy się do niższych harmonogramów, widzimy, że charakterystyka kształtu danego zasobu pozostaje taka sama. Nasz system obrotu zawsze będzie trwałym okresem, gdy handluje składnikiem, który zachowuje się jak fraktalna w całym ramy czasowej Jeśli rynek zachowuje się w ten sam sposób w każdym przedziale czasowym, nie powinno być żadnej różnicy w zachowaniu naszego systemu handlowego. Scenario 2 Nie zachowanie fraktalne. Ogólna reguła zbiór mb jest taka, że ​​zmienność szumu wzrasta w miarę jak idziemy do niższego harmonogramu. Nasz system handlowy będzie w tej chwili sprawny, jeśli jego podstawowa logika będzie skuteczna pomimo różnych poziomów hałasu i zachowań rynkowych w różnych terminach. Aplikacja do handlu. Jeśli nasz system obrotu jest ale nie oznacza to, że pozostajemy obojętni na czas, w jakim prowadzimy handel. Powinniśmy handlować w niższych terminach To zmaksymalizuje liczbę możliwości handlowych na czas Wyobraź sobie średnio 1 wymianę na 5 barów Jeśli prowadzisz handel w trybie dziennym, wystrzelisz 52 transakcje w ciągu roku 260 dni roboczych 5 Jeśli będziesz handlować w 1 Godzinnym terminie, możesz strzelać 1248 260 24 5 transakcji rocznie W związku z tym twój zysk będzie 24 razy większy bez uwzględnienia efektów łączenia. handlu po możliwie najmniejszym czasie. Zgodnie z powyższą logiką, jeśli powinniśmy handlować na możliwie najmodniejszym terminie 1min dla MT4, powinniśmy być masowo zyskownymi prawami Sadly and uns zadziwiające, nie. Jest mało prawdopodobne, aby system handlowy był doskonały czasowo solidne Jest mało prawdopodobne, aby dany składnik aktywów zachowywał się perfekcyjnie w fraktali W miarę upływu terminów hałas zwiększa się Zachowanie aktywów staje się nieprzewidywalne dzięki prawdziwemu, wpływy z obecnych wydarzeń, mikrostruktura rynku i spekulacje przez uczestników rynku W związku z tym powinniśmy wybrać ramy czasowe, które równoważy redukcję hałasu i maksymalizację zysków. Jeśli nasz system obrotu nie jest racjonalny dla czasu, musimy zrozumieć, które ramy czasowe są najbardziej odpowiednie dla naszego systemu obrotu w różnych warunkach rynkowych. Wstrzemięźliwość. Definicja System obrotu jest solidny w odniesieniu do aktywów na instrumentach, jeśli może on pozostać skuteczny na różnych instrumentach. System handlu jest instrumentem solidnym, jeśli działa zgodnie z oczekiwaniami w różnych aktywach Oznacza to, że system handlu leży w podstawowej logice handlowej jest przechwytywanie nieskuteczności istniejącej w wielu zasobach. Aplikacja do Trading. Instrument robu Stabilność nie jest miarą funkcjonowania systemu handlowego W rzeczywistości większość systemów obrotu nie jest instrumentem silnym Systemy obrotu mają na celu uniknięcie nieefektywności na rynku, a te nieefektywności mają tendencję do specyfiki instrumentu W związku z tym nie jest rzeczą niezwykłą, że większość systemów obrotu nie jest solidny instrument. Zamiast dążyć do solidności instrumentu, powinniśmy zrozumieć, jak nasze systemy handlowe działają w różnych aktywach, co pozwoli nam na wykrycie wspólnych nieefektywności w różnych aktywach i efektywniejsze wykorzystanie naszego systemu handlu. Optymalizacja. Zdefiniuj. System handlu jest solidna w optymalizacji, jeśli maksymalna zmaksymalizuje się funkcję obiektywu systemu obrotu, minimalizując jednocześnie dopasowanie krzywej. Przede wszystkim szczegółowo wyjaśniono, jaka jest optymalizacja optymalizacji, niech krótko zrozumie, co to jest optymalizacja, funkcja obiektywna i dopasowanie krzywej. Proces optymalizacji struktury i reguł systemu handlowego w celu zmaksymalizowania lub zminimalizowania jego celu Ta funkcja jest funkcją wyjściową testu wstecznego, który próbujemy zmaksymalizować lub zminimalizować. Łatwy i leniwy sposób na wybranie funkcji celu polega na wykorzystaniu zysku netto Jest to rzadko dobry pomysł W obrocie handlowym ta produkcja powinna składać się z 3 rzeczy wynagrodzenia, spójności i ryzyka. Dostosowanie do klienta Proces cateringu systemu handlowego tak blisko danych historycznych, że staje się nieskuteczny w przyszłości. Więcej Ponieważ przyszłość rzadko odzwierciedla przeszłość. Ponieważ przyszłość rzadko odzwierciedla przeszłość, potrzebujemy proces optymalizacyjny, minimalizujący dopasowanie krzywej To zwiększy szanse na sukces naszego systemu handlowego System handlu przechodzący taki proces może być optymalizowany. Aplikacja do testowania. To prowadzi nas do naszego rozwiązania. Optymalizacja ruchu Walk Forward. Definiowanie według do Wikipedii. Strategia handlowa jest zoptymalizowana pod kątem danych przykładowych dla okna czasowego w serii danych Pozostała część danych jest zarezerwowana dla testów poza próbą Mała część zarezerwowanych danych po próbkach danych jest badana z zapisanymi wynikami Okno czasu próbki jest przesuwane do przodu o okres objęty próbą poza próbą, a proces powtórzony Na końcu wszystkie rejestrowane wyniki są wykorzystywane do oceny strategii handlowej. Aby przełożyć się na słowa prostsze. Zoptymalizujemy nasz system handlowy przy użyciu jednego okresu w próbce i stosujemy zoptymalizowane parametry do następnego okresu poza próbą Powtarzanie Działanie systemu handlowego jest zestawienie próbek w różnych okresach poza próbą. Rysunek 4 Próbki w próbce i poza okresem próbki1 Optymalizacja systemu handlowego przy użyciu próbki A.2 Testowanie systemu handlu próbkami w próbie poza próbą A.3 Optymalizacja systemu handlowego przy użyciu próbki B.4 Testowanie systemu handlu usługą w próbie poza próbą B.5 Powtórzenie dla okresu C do E.6 Oceniamy wydajność systemu handlu w próbie Out-Sample A to E. Celem tego procesu jest zbadać, w jaki sposób nasz system handlowy będzie realizowany po wykonaniu w nieznanym obszarze out-of - sample. Parameter Robustness. Definition System handlu jest parametrem silny, jeśli jego wydajność nie zmienia się drastycznie ze względu na niewielką zmianę wartości parametrów. Jeśli logika wymiany jest poprawna, zmiana wartości parametrów nieznacznie nie powinna mieć istotnego wpływu na jego wydajność. Jeśli wydajność ulegnie zmianie drastycznie system handlu wykazuje oznaki dopasowania krzywej. Zastosowanie do testów. Wyniki optymalizacji można wyświetlać w przestrzeni parametrów optymalizacji powierzchni, jeśli tylko optymalizujemy dwa parametry Oś x i oś Y reprezentują nasze dwa parametry Z - axis reprezentuje naszą obiektywną funkcję. Grupa 5 Optymalizacja powierzchni z kolczastymi szczytami. Rysunek 6 Optymalizacja powierzchni z płaskimi wzgórzami. Za dwie powyższe rysunki przedstawia się optymalizację systemu handlu, który wykorzystuje dwa parametry, szybko poruszającą się średnią i powolną sprawdź tę optymalizację, wolimy płaskie wzgórza nad skalistymi szczytami płaskie wzgórza wskazują na niewielką zmianę w wykonaniu wigilię n Jeśli zmienimy nieco parametry. Portfolio Zdolność do pracy Zdefiniuj portfel Wytrzymałość występuje wtedy, gdy grupa systemów handlowych może pozostać skuteczna w różnych warunkach rynkowych. Solidność i odporność na okresy Portfela różnią się, ponieważ sprawność portfela koncentruje się na komplementarnych efektach oddzielnego handlu systemy Różne systemy handlowe mają różne mocne i słabe strony Mogą być łączone w celu maksymalizacji naszej obiektywnej funkcji portfela na dłuższą metę. Zastosowanie do handlu. Na przykład, zakładamy, że mamy dwa systemy handlowe, które są długoterminowe rentowne, ale są negatywnie skorelowane ze sobą. Rysunek 7 Krzywa kapitałowa netto portfela dwóch robotów. Łącząc te dwa systemy transakcyjne, jesteśmy w stanie wyeliminować ryzyko z ich wyników i osiągnąć długoterminowy pozytywny wynik netto z znacznie niższym ryzykiem. tej koncepcji do portfela różnych systemów handlowych, dążymy do osiągnięcia Wytrzymałość portfela le służy krótkiemu przedstawieniu siedmiu głównych typów wytrzymałości Aby jednak naprawdę dobrze zrozumieć budowę wielkich systemów handlowych, potrzebujesz tych trzech elementów: System handlu, kodowanie algorytmicznego handlu i wiedzy na temat rynku Co dalej? Go Google te tematy i zacznij. AlgoTrading101 to pierwszy kompleksowy kurs online dotyczący handlu algorytmicznego Dowiedz się więcej o podstawach handlu algolem i wprowadzaniu swoich pomysłów w życie wraz z ponad 10.000 uczniów Dowiedz się więcej o nas na AlgoTrading101. Ten koleś prowadzi algorytmiczną uczelnię handlową z ponad 13 000 studentów Kliknij link Autora powyżej, aby dowiedzieć się więcej o nim. Następna nawigacja.

1 comment: