Wednesday 25 October 2017

Ruch Średniowartościowy System Backtesting


Moving Average Crossover Strategy Na tej stronie pragnę zaprowadzić Cię przez porównanie kilku ruchomych średnich systemów crossoverowych Wykorzystuje się dwa proste ruchome średnie sma s, a inne używa trzech sma s. Ever zastanawiał się nad używaniem podwójnego średniego systemu do handlu. Jeśli rozważasz podwójne przejazdy średnie dla obu transakcji wejściowych i wychodzących, możesz rozważyć testowanie potrójnego systemu nadrzędnego. Zbierz je obok siebie na różnych zapasach lub w innych instrumentach handlowych, a także w różnych przedziałach czasowych lub w ramkach czasowych różne średnie ruchome okresy, ale uważaj, aby nie opierać się na zoptymalizowanych lub dopasowanych do krzywej rezultatach. Ale ponieważ niektórzy z moich odwiedzających nie wiedzą, co to jest, przejmijmy kilka podstawowych zasad. HAT SA PRZEPŁYWY ŚREDNIOWA CROSSOVER. Obraz po prawej jest przykładem podwójnej średniej krzywej rozróŜnienia, która zainicjuje sygnał zwrotny przejściowy sygnału kupującego Szybsza średnia ruchoma 8 sma - niebieska krzywa powyŜej wolniejszej średniej 13 sma - żółta. Jeśli nie jest to sygnał potwierdzona do zamknięcia paska Oznacza to, że rzeczywisty wpis w handlu na żywo byłby gdzieś w następnym pasku Najprawdopodobniej w pobliżu otwartego paska. Jeśli nie zrobisz jeszcze żadnych testów zwrotnych, taki prosty system prawdopodobnie będzie jednym z pierwszy, który testujesz, ponieważ wymaga bardzo niewielkich umiejętności programowania W każdym razie, jeśli przejdziesz tą ścieżką, zobaczysz, że cena otwarcia następnego paska po krzyżu, gdzie znajduje się oprogramowanie testowe, w zależności od ustawienia spowoduje umieszczenie symulacji handel Co jest rozsądne, ponieważ jeśli rzeczywiście używasz zautomatyzowanego oprogramowania handlowego to jest bliskie przybliżenie miejsca, w którym miałby się odbywać handel. Z typowym systemem odwrotnego odwrotu, ten długi wpis nie byłby opuszczany, dopóki niebieska, szybsza MA przekroczyła poniżej żółta, wolniejsza MA Ta krzywa MA Crossover nie tylko kończy się handlem, ale inicjuje również krótki handel w przeciwnym kierunku. Więc, przy podwójnych średnich systemach rozjazdowych, przedsiębiorca zawsze handluje, długie lub krótkie. Przyjrzyj się przykładowi śródgranicznemu w ciągu jednego dnia. Drobne ruchy krzyżowe. Użyjmy wykresu 5-minutowego SPY z dwoma prostymi ruchowymi średnimi dla pierwszego przykładu Szybki 8 sma - zielony i Wolny 13 sma - yellow. I wybrałem ten konkretny dzień, ponieważ chciałem zilustrować to, co jest bardzo typowe dla praktycznie każdej średniej ruchomej strategii rozjazdowej Pierwszy długoterminowy handel po 11:00 dzieje się bardzo dobrze i właściwie złapał dobry zwrot z inwestycji. Zjazd na około 12 45pm jest opłacalny. Ale chciałbym, abyś obserwował wahania cen akcji między 12 00 - 3 00 To tam, gdzie podwójne systemy MA naprawdę mogą zrzucić swoje zyski MA s tylko whipsaw tam iz powrotem powoduje trzy straty z rzędu, prawdopodobnie odparowanie zysków z pierwszego handlu Jeśli ktoś handlował tą metodą na ten dzień, na szczęście zobaczyliby jeszcze jeden przyzwoity wygrany handel w 2 30. Dobra część tego systemu jest wyświetlana na pierwszym handlu i ostatnim handlu ruchoma avera rozdrobnienia nie działają mizernie w czasie akcji cenowej, działają bardzo dobrze podczas trenowania cen. Jeśli porównamy te proste systemy zatrzymania i cofania, a następnie sprawdzisz, czy wygenerujesz zysk, najprawdopodobniej okaże się, że wygrana wynosi mniej niż 50 , ale przeciętny zwycięzca będzie większy niż przeciętny loser. That s, ponieważ ruchome średnie systemy crossover są zasadniczo systemów handlu tendencją I, systemy handlu tendencjami prawie zawsze mają tę cechę niewielkiego procentu zwycięzców i dobry stosunek. In wykresy poniżej L Long, S Short i Ex Exit. TRIPLE MOVING AVERAGE CROSSOVER. Dyskusja koncentruje się wokół systemu typu reverse stop, dzięki czemu sygnał na wyjście powoduje również handel w przeciwnym kierunku. Ale jeśli wprowadzimy trzeci ruch średnia dla systemu, może być okres neutralności Innymi słowy, handel nie odbywa się - jesteś gotówką. W tym przykładzie użyjemy wykresu 3-minutowego i trzech prostych średnic krocznych 4 sma, 1 0 sma i 50 sma. Zasady są bardzo proste Jeśli linia wolna 50 sma wzrasta, a linia szybka 4 sma przekracza linię środkową 10 sma, jest sygnał kupna Sygnał wyjściowy przychodzi, gdy linia szybka przecina poniżej linia środkowa. Reguły są przeciwieństwem krótkich wpisów To łatwe do zrozumienia, że ​​ten system jest podobny do wyeliminowania trendu wyższej ramki czasowej. Alternatywą dla tego systemu byłoby tylko długie wpisy, gdy oba średnie ruchy średnie i średnie przewyższają powolne sma. Bądź świadomy faktu, że gdy stosujesz trzy stopnie swobody 3 zmienne, a nie dwa, jak w powyższym przykładzie, sprawiasz, że system jest bardziej złożony, a tym samym tworzy wiele możliwych kombinacji test. Oczywiście, oprogramowanie do testów wstecznych ułatwia to, ale pamiętaj, że dodawanie filtrów i złożoności nie zawsze sprawiają, że jest to lepszy system Często prostszy system może być bardziej solidny w testowaniu. Poniżej znajduje się przykład. Ponowne zainteresowanie ruchem średnim , wzdychasz t Chciałby również sprawdzić moją stronę, jak używać średnich kroczących jako końcowego zatrzymania. Backtesting Moving Average Crossover w Pythonie z pandami. W poprzednim artykule na temat badań Backtesting Environments W Pythonie Z Pandas stworzyliśmy obiektowy obiekt badawczy testowanie środowiska i testowanie go w oparciu o strategię losowego prognozowania W tym artykule wykorzystamy używane przez nas maszyny do przeprowadzania badań nad rzeczywistą strategią, mianowicie Moving Average Crossover w technologii AAPL. Moving Average Crossover. Technika Moving Average Crossover bardzo dobrze znana strategia pędu uproszczonego Często uważa się za przykład Hello World na potrzeby handlu ilościowego. Strategia opisana tutaj jest długa tylko dwie oddzielne, proste, średnie ruchome filtry są tworzone z różnymi okresami wyszukiwania, konkretnej serii czasowej Sygnały do zakup aktywów pojawia się, gdy krótsza średnia ruchoma przewyższa dłuższą średnią ruchliwą lookbacku, jeśli dłuższa średnia podsieć równa przekracza krótsze średnie, aktywa są sprzedawane z powrotem Strategia działa dobrze, gdy szereg czasów wkracza w okres silnej tendencji, a następnie powoli odwraca tendencję. W tym przykładzie wybrałem firmę Apple, Inc. AAPL jako serię czasu, krótkie spojrzenie na 100 dni i długie spojrzenie na 400 dni Jest to przykład dostarczony przez bibliotekę handlu algorytmicznego zipline Więc jeśli chcemy wdrożyć własny backtester musimy upewnić się, że jest zgodny z wynikami zipline, jako podstawowym narzędziem walidacji. Pamiętaj, postępuj zgodnie z poprzednim samouczek, który opisuje, jak konstruowana jest pierwsza hierarchia obiektów dla backtestera, w przeciwnym razie poniższy kod nie będzie działał. W tej konkretnej implementacji używałem następujących bibliotek. Implementacja wymaga od poprzedniego samouczka. krokiem jest import niezbędnych modułów i obiektów. Jak w poprzednim samouczku będziemy podklasa strategii Klasa abstrakcyjna podstawy do produkcji MovingAverageCrossStrategy w hich zawiera wszystkie szczegóły, jak wygenerować sygnały, gdy średnie ruchome AAPL przecinają się wzajemnie. Obiekt wymaga krótkiego podmodułu i długiej podudzie, na której działają Wartości zostały ustawione odpowiednio na 100 dni i 400 dni, które są tymi samymi parametrami użytymi w głównym przykładzie linii zipline. Średnie ruchome są tworzone przy użyciu funkcji walcowania pandas na prętach. Zamknij cenę zamknięcia zapasów AAPL Po utworzeniu poszczególnych średnic ruchu, seria sygnałów jest generowana przez ustawienie a kolumna równa 1 0, gdy średnia krótkotrwała jest większa od długiej średniej ruchomej, lub 0 0 inaczej. Z tego można generować zlecenia rozliczeniowe w celu reprezentowania sygnałów handlowych. MarketOnClosePortfolio jest podklasowany z portfela, który znajduje się w prawie identycznym do wdrożenia opisanego w poprzednim samouczku, z wyjątkiem tego, że transakcje są teraz przeprowadzane na zasadzie "blisko do Zamknij", a nie "Open-to" - Otwórz podstawę Szczegółowe informacje o tym, jak zdefiniowany jest obiekt Portfolio, zobacz poprzedni samouczek I've zostawił kod pod względem kompletności i aby utrzymać ten samouczek samowystarczalny. Teraz, gdy zostały zdefiniowane klasy MovingAverageCrossStrategy i MarketOnClosePortfolio, główną funkcją będzie wezwanie do powiązania wszystkich funkcji razem Ponadto wyniki strategii zostaną zbadane za pomocą wykresu słupkowego. Pandas DataReader pobiera pliki OHLCV na akcje AAPL za okres od 1 stycznia 1990 r. do 1 stycznia 2002 r., w którym to punkcie Sygnał DataFrame jest tworzony w celu wygenerowania długotrwałych sygnałów. Następnie generowany jest portfel z bazą kapitału zakładowego o wartości 100 000 USD, a zyski są obliczane na krzywej kapitału. Ostatnim krokiem jest użycie matplotlib do sporządzenia wykresu dwóch rysunków obu Ceny AAPL, pokryte średnimi ruchoma i sygnałami sprzedaży kupna, a także krzywa kapitału własnego z tymi samymi sygnałami kupna sprzedaży Kod kreślenia jest pobierany i modyfikowany z z Przykład implementacji ipline. Graficzne wyjście kodu jest następujące: Użyłem komendy wklejania IPython, aby umieścić to bezpośrednio w konsoli IPython, podczas gdy w Ubuntu, tak że graficzna produkcja pozostała w widoku Różowe upsetki oznaczają zakup zapasów, podczas gdy czarne spadki sprzedają to z powrotem. AAPL Moving Average Crossover Od 1990-01-01 do 2002-01-01. Jak widać, strategia traci pieniądze w tym okresie, a pięć transakcji na trasie nie jest zaskakujące biorąc pod uwagę zachowanie się przez AAPL w tym okresie, co było niewielkim trendem spadkowym, po którym nastąpił znaczny wzrost w 1998 r. Okres ważności średnich ruchowych sygnałów jest dość duży i miało to wpływ na zysk końcowego handlu, który w innym przypadku strategiczne zyski. W kolejnych artykułach stworzymy bardziej wyrafinowane metody analizy wyników, a także opisujące jak zoptymalizować okresy wzorcowania poszczególnych średnich ruchów s. Just zacząć z Quantitative Trading. BackTesting Moving Averages. Why Moving Averages. As przedsiębiorcy lub inwestora, jedynym powodem do zbadania ruchomych średnich jest zdobycie wiedzy na zwiększenie zysków Podobnie jak wiele innych wskaźników technicznych, średnie kroczące mają pomóc nam obiektywnie informują o stanie rynkowym w danym momencie Pomaga to nam przezwyciężyć emocje dnia i podejmować racjonalne decyzje, o których mówimy, przyniesie większe zyski i mniej strat w długim okresie. Ruch o średnich wartościach gładkich wygładza serię cen za macierze zapasów są najczęściej używane do określenia tendencji do kierowania na rynek i są klasyfikowane jako wskaźnik trendowy Nie oznacza to, że jednostki zależne są tylko dla inwestorów długoterminowych, którzy używają krótkoterminowych podmiotów gospodarczych. Średnie ruchy można wykorzystać do wyświetlania na ekranie zasobów dla dobrych kandydatów, możliwości zakupu sygnału i oferowania sygnałów sprzedaży. Dlaczego Backtest A Story? Celem testów zwrotnych jest sprawdzenie, czy średnie kroczące naprawdę prowadzą do lepszych wyników? d Jakie są najbardziej obiecujące sposoby na stosowanie MAs Pozwól mi opowiedzieć krótką historię Podczas zebrania wyników testów na jedną z ruchomych raportów BackTesting Report zdarzyło mi się odwiedzić przyjaciela W swoim domu natknęłam się na jakiś materiał do czytania z dobrze promowanego brokera akcjami z rabatem W artykule, który doradzał swoim klientom o określonej średniej ruchomej długości zastosowanej w określony sposób, aby uzyskać najlepsze wyniki, miałem przed sobą moje wszechstronne testy i mogę powiedzieć, że broker s nie uzyskał najlepszych wyników, chociaż wspomniał o długości MA, która jest użyteczna w inny sposób, jaką miałem w wynikach z testów ręcznych, które wykazały, że sposób, w jaki pośrednik zastosował średnią ruchową, miał wyższą stopę wygraną niż linia bazowa podczas testowania na 7147 zapasy ponad 14 lat danych na giełdzie Oczywiście, brokera nie prowadził tego rodzaju testów To zależy naszym klientom, aby się bronić dla siebie i dowiedzieć się, co działa w porównaniu z tym, co nie robi. Jak obliczać MAs. Kiedy z powrotem testowanie ruchomej średniej, pierwsza decyzja polega na obliczeniu średniej ruchomej Czy chcesz mieć prostą średnią ruchliwą SMA Lub coś, co ma na celu lepsze śledzenie cen, takie jak wykładnicza średnia ruchoma EMA Możesz rozważyć eksperyment, aby porównać stawki wygranych dwóch różnych średnie zrobiłem to kilka lat temu i chociaż nie mam wyników do opublikowania, odszedłem z przekonaniem, że nie miało znaczenia, czy wybrałem SMA czy EMA po prostu wybrać jeden i używać go konsekwentnie Więc na w tym projekcie, wybieram proste średnie ruchome, ponieważ widzę je często w komentarzu. Aby obliczyć rzeczywistość, polegałem na wbudowanej funkcji dostarczonej z firmą TradeStation. Wybór silnika testów wstecznych jest kolejną decyzją, która jest wystarczająco ogólna, aby napisz o innym stanowisku. Jak używać MA. Następny musisz sprecyzować, jak dokładnie chcesz zastosować ruchome średnie Jak zinterpretujesz związek między ceną a średnią ruchu? czy zdecydujesz, kiedy kupić i sprzedać Nie musisz długo czytać o zapasach, zanim dojdziesz do uprzejmego odniesienia do obrotu giełdowego powyżej jego 200-dniowej średniej ruchomej lub 50-dniowej średniej ruchomej, a nawet 10- lub 20-dniowa MA Lub porady na temat kupowania zapasów podczas przecinania ich 50-dniowej lub 200-dniowej średniej ruchomej Są to ważne zasady, aby przetestować w silniku testów wstecznych, a następnie jest ruchome przecięcie średnie klasyczne metody analizy technicznej To sprawia, że ​​trzy różne sposoby wykorzystania średnich ruchów do przetestowania. Dokładniejsze pogłębienie, niektóre teksty handlowe mówią o stoku średniej ruchomej Jeśli spojrzymy na algebrę i uważają, że MA jako linię, aby znaleźć jej nachylenie, wybrałeś dwa punkty na line i zastosuj zwykłą formułę x2-x1 y2-y1 Przyspiesza to pytanie, jak daleko od siebie wybrać dwa punkty, które mogą mieć wpływ na wyniki W rzeczywistości, ponieważ MA jest używany do identyfikacji trendu, po prostu chcemy wiem, czy jest pochylony w górę lub w dół Potem możemy uprościć th e całość obliczeń, zauważając, że jeśli cena jest powyżej średniej ruchomej, to musi przeciągnąć średnią w górę, a cena poniżej MA wyciąga ją. Innym powodem do przetestowania skuteczności ceny powyżej średniej ruchomej. Ty decydujesz jak używać magistrali, musisz wybrać wybór różnych długości testu Uważaj na nadoptymalizowanie Gdzieś tam jest facet z wynikami testowania wstecznego wykazujący 3895 zysku lub niezależnie używając właściwej średniej ruchomej Szkoda, że ​​nie robi wiesz, co MA będzie produkować te wyniki w przyszłości To powiedziawszy, musisz spróbować więcej niż jednej długości, aby upewnić się, że wyniki są takie same jak Stick z ustawieniami domyślnymi lub te, które słyszysz najbardziej w mediach Znalezienie idealnego ustawienia parametru nie sprawi, że będziesz bogaty Znalezienie klastra dobrych i solidnych ustawień może sprawi, że wiele się spodoba. W praktyce, kiedy testy wsteczne pozwalają na wystarczająco dużo danych przed pomiarem Wszystkie testy muszą rozpocząć pomiar t to samo miejsce porównywania jabłek między jabłkami w różnych długościach MA Na przykład, jeśli testujesz 200-dniową średnią ruchomej, obliczy się pierwsze 200 dni danych w celu obliczenia pierwszego punktu tej średniej ruchomej Oznacza to że pierwszy dzień, w którym możliwy jest sygnał, wynosi 200 dni w zestawie danych Aby dokonać uczciwego porównania z, powiedzmy, dziesięciodniowej średniej ruchomej, upewnij się, że nie ma żadnych sygnałów z 10-dniowego ruchu średnio, zanim 200-dniowy jest gotowy do startu Na szczęście TradeStation ma sposób na określenie maksymalnej liczby prętów, które będą omawiane w dokumencie Właściwości dla wszystkich, które zmuszają silnik do sprawdzania danych, zanim nauczył się tabelowania danych. Więcej zysków z zakupu lub sprzedaży. Przekazywanie średnich reguł, aw szczególności ruchomych reguł krzyżowych, często dyskutuje się jako system odwracania. Oznacza to, że jeden sygnał, powiedzmy, że MA przechodzące w górę są sygnałem kupna, a następnie jego przeciwnie, powiedzmy, że linie MA przecinające się, to nie tylko sprzedaż ale również wyzwanie, aby przejść krótko Teoretycznie, że jest dobrze, ale wiele osób nie interesuje zwarcie rynku Poszukują technik, które pomogą im kupić, a może sprzedać Nawet osoba, która regularnie sprzedaje i sprzedaje krótkie może użyć różnych technik kupna i sprzedaży Z tych powodów rozsądnym jest przetestowanie sygnałów kupujących oddzielnie od sygnałów sprzedaży. Stwarza to dylemat, ponieważ trudno ocenić sygnał kupna w izolacji. Jednym ze sposobów na to jest użycie timed out, czyli wyjść z handlu lub sprzedaj czas po upływie określonego czasu I zdecydowałem się na trzykrotne uruchamianie każdego testu z trzema różnymi czasami, ponieważ różne osoby mają różne style i różne potrzeby Aby uzyskać wyniki testów zwrotnych przydatnych dla osób zajmujących się huśtawką, wyjadę po 2 dniach , 20 dni Aby zaspokoić potrzeby aktywnych inwestorów, badanie kontrolne utrzymuje każdą pozycję przez 200 dni. Daje to sposób wyizolowania sygnałów kupna i dowiedzieć się, jak użyteczna jest średnia ruchoma o nabywców czasowych o różnych temperamandrach. Musi definiować dobro. jeszcze jedna ważniejsza rzecz, którą warto rozważyć, jeśli prześledzisz średnie kroczące, aby dowiedzieć się, jak dobrze robią na giełdzie. Skąd wiesz, co jest dobre Musisz obiektywne kryteria sukcesu oznacza określenie najważniejszych statystyk, takich jak szybkość wygranej, oczekiwana długość życia, hipotetyczne zyski z akcjonariuszy itp. Oznacza to również ustalenie standardów dla akceptowalnych wyników w każdym z tych obszarów. Przykład ilustruje, dlaczego jest to ważne i dlaczego nie jest tak łatwe, jak się pojawiło Twoje testy wykazują wskaźnik wygranej w wysokości 55 dla konkretnego wskaźnika. Może nie być tak dobrze, jeśli powiedzmy, że 62 w tym samym czasie wzrosło lub gdyby w danym okresie wzrosła tylko 25 stanów, Twój 55 wygrał stawka była spektakularna To, co jest dobre, zależy od tego, jak porównuje się je do wyników rynkowych bazujących na tych samych warunkach. Możesz pobrać bezpłatną kopię raportu BackTesting Report Baseline, klikając tutaj. Aby uzyskać znaczący test z tyłu, musisz mieć wystarczająco dużo danych, aby ustalić statystycznie poprawne porównanie Minimalnie to oznacza 30 transakcji Nawet jeśli handlujesz tylko jednym instrumentem tylko jednym zapasem lub jedną parą walutową Myślę, że ważne jest przetestowanie strategii handlowej na wielu różnych instrumentach aby udowodnić swoją wytrzymałość przeszedłem na szczyt z bardzo dużym zestawem testowym 7147 akcji przez 14 lat, aby upewnić się, że moje wyniki będą miały zastosowanie w szerokim zakresie warunków rynkowych. Możesz uzyskać kopię moich raportów z przeoczenia na temat średnich sygnałów kupna przez klikając tutaj.

No comments:

Post a Comment