Friday 22 December 2017

Projektowanie i optymalizacja systemu handlu


Projektowanie systemu wysokich częstotliwości i zarządzanie procesami Projektowanie i zarządzanie procesami transakcyjnymi wysokiej częstotliwości Doradca: Roy E. Welsch. Dział: Program projektowania i zarządzania systemem. Wydawca: Massachusetts Institute of Technology Data wydania: 2009 Firmy handlowe są obecnie bardzo zależne od eksploracji danych, modelowania komputerowego i rozwoju oprogramowania. Analitycy finansowi wykonują wiele podobnych zadań do tych w branży oprogramowania i produkcji. Jednak branża finansowa nie przyjęła jeszcze w pełni zaawansowanych systemów inżynierii systemów i metod zarządzania procesami, które odniosły sukces w branży oprogramowania i produkcji. Wiele tradycyjnych metod projektowania produktu, kontroli jakości, systematycznych innowacji i ciągłego doskonalenia w dziedzinach inżynierii można zastosować w dziedzinie finansów. Ta teza pokazuje, w jaki sposób wiedza uzyskana z dziedzin inżynierii może poprawić projektowanie i zarządzanie procesami w systemach handlu o wysokiej częstotliwości. Systemy handlu wysokimi częstotliwościami są oparte na obliczeniach. Systemy te są automatycznymi lub półautomatycznymi systemami oprogramowania, które są z natury skomplikowane i wymagają wysokiego stopnia precyzji projektu. Projekt systemu handlu wysokiej częstotliwości łączy wiele dziedzin, w tym finansowanie ilościowe, projektowanie systemu i inżynierię oprogramowania. W branży finansowej, gdzie teorie matematyczne i modele handlowe są stosunkowo dobrze zbadane, zdolność do realizacji tych projektów w rzeczywistych praktykach handlowych jest jednym z kluczowych elementów konkurencyjności przedsiębiorstw inwestycyjnych. Możliwość skutecznego i efektywnego przekształcania pomysłów inwestycyjnych w efektywne i wydajne systemy inwestycyjne może zapewnić firmie inwestycyjnej ogromną przewagę konkurencyjną. (Cd.) Niniejsza praca stanowi szczegółowe studium składające się z projektowania systemu handlu o wysokiej częstotliwości, modelowania systemu i zasad oraz zarządzania procesami do rozwoju systemu. Szczególny nacisk kładzie się na analizę historyczną i optymalizację, które są uważane za najważniejsze elementy budowy systemu transakcyjnego. Badania te budują modele inżynierii systemów, które kierują procesem rozwoju. Wykorzystuje również eksperymentalne systemy transakcyjne do weryfikacji i zatwierdzania zasad poruszonych w tej pracy. Wreszcie, w tej tezie stwierdza się, że zasady i ramy inżynierii systemów mogą być kluczem do sukcesu przy wdrażaniu transakcji o wysokiej częstotliwości lub ilościowych systemów inwestycyjnych. Thesis (S. M.) - Massachusetts Institute of Technology, System Design and Management Program, 2009. Katalogi z wersji PDF pracy dyplomowej. Obejmuje odniesienia bibliograficzne (s. 78-79). Słowa kluczowe: projekt systemu i program zarządzania. Moje systemy AccountTrading: Rozwiązywanie problemów i optymalizacja 1313 Nawet po pomyślnym zaprojektowaniu i zbudowaniu działającego systemu transakcyjnego, przedsiębiorca może stwierdzić, że jego system jest niedoskonały. Mogą występować pewne problemy, takie jak zdarzenie, które generuje straty lub może zasady są zbyt szerokie i wymagają optymalizacji. Jak najłatwiej rozwiązać problem Jak efektywna jest optymalizacja W tej sekcji dowiesz się, jak rozwiązać i zoptymalizować system transakcyjny, aby zmaksymalizować zyski i zminimalizować straty. Rozwiązywanie problemów Rozwiązywanie problemów jest bardzo ważnym aspektem rozwoju systemu. Przyzwoity system transakcyjny będzie opłacalny w większości warunków rynkowych, ale jeśli okaże się sporadycznie duże straty, można pracować nad zidentyfikowaniem i rozwiązaniem problemu. Oto cztery proste kroki: 1. Zidentyfikuj problem - znajdź wszystkie wystąpienia, w których wystąpił problem podczas analizy historycznej, i rozpocznij rejestrację, gdy wystąpi problem podczas handlu na żywo. Podczas każdej instancji zwróć uwagę na wszelkie tendencje następujących czterech czynników: Wzór wykresu lub seria cenowa - Wzrost cen.13 Wielkość - Początkowo duża objętość i niewielka objętość13. Spread BidAsk - Spike w cenie przy niskiej głośności często oznacza duży spread.13 Marża (jeśli jest używana). 13 13To niektóre z obszarów, w których mogą wystąpić problemy, co możemy zobaczyć analizując poniższy wykres. Zwróć uwagę na skok cen przy niskim poziomie głośności za pomocą zielonej strzałki. Zwróć także uwagę na dużą objętość (w pobliżu niebieskiej strzałki), a następnie małą objętość. Jeśli żaden z nich nie okaże się winowajcą, istnieją inne czynniki, które można analizować, takie jak rozmiary bloków i zaawansowane wzorce wykresów. Oceń problem - wykorzystaj zgromadzone informacje, aby ustalić, co dokładnie spowodowało awarię systemu lub wygenerować stratę. Często odbywa się to przy użyciu zdrowego rozsądku lub poprzez analizę dzienników transakcji (dostarczanych przez brokera). Oto przykłady, w jaki sposób niektóre warunki czterech czynników wymienionych powyżej mogą być przyczyną zidentyfikowanego problemu: Wzór wykresu lub seria cen - System nie jest w stanie sprzedać podczas ostrych spadków lub kupić podczas stromych podjazdów. Być może system nie miał wystarczająco dużo czasu na zakup lub sprzedaż. Objętość - system nie może sprzedać podczas spadków lub kupować w trakcie podwyżek. Być może kapitał ma tak niski wolumen obrotu, że system nie jest w stanie kupić lub sprzedać za jedną cenę. W takich przypadkach cena może wprowadzać w błąd bez uwzględnienia woluminu i funkcji bidask. BidAsk spread - system dokonuje zakupu, ale nie zarabia tak dużo, jak powinien podczas sprzedaży. Może to wynikać z faktu, że przedsiębiorca zapomniał wziąć pod uwagę spready bidask. Jeśli system jest zaprogramowany do kupowania i sprzedawania po aktualnej cenie, faktycznie płaci się o to. a gdy jest sprzedawany, nie sprzedaje się po aktualnej cenie, ale po cenie oferty. Czasami różnice między ofertą a zapytaniem mogą być duże, co prowadzi do niepożądanych strat. Margines - System nagle sprzedaje się bez wyraźnego powodu. Jeśli tak się stanie, być może zapomniałeś wziąć pod uwagę wezwania do uzupełnienia depozytu zabezpieczającego. 13 3. Rozważ alternatywne rozwiązania - po prostu spróbuj rozwiązać niektóre problemy, które zidentyfikowałeś. Rozważ następujące alternatywy odpowiadające powyższym problemom. Wzorzec wykresu lub seria cenowa - Jedna z opcji polega po prostu na poinformowaniu systemu, aby poczekał, aż cena ustabilizuje się przed zakupem. Można to zrobić, wykorzystując różnice między poprzednimi cenami a aktualną ceną, aby utworzyć regułę. Objętość - Aby rozwiązać ten problem, można utworzyć regułę, która wymaga, aby kapitał własny miał określoną ilość wolumenu przed wykonaniem transakcji. BidAsk spread - tutaj możesz chcieć kupować i sprzedawać na podstawie cen kupna i sprzedaży zamiast aktualnej ceny. Margines - wykorzystanie marży może być opłacalne, jeśli ryzyko jest efektywnie zarządzane. Ograniczenie w dół powinno powstrzymać Cię od odbierania wezwań do uzupełnienia depozytu zabezpieczającego. Można to zrobić z punktami stop loss lub innymi podobnymi taktykami, aby ograniczyć wady. 13 4. Wdrożenie rozwiązania - Na koniec musimy zastosować rozwiązanie i zobaczyć, jak działa. Handel papierami wartościowymi lub testowanie wsteczne przed transakcją na żywo jest często dobrym pomysłem po zastosowaniu rozwiązania, ponieważ czasami rozwiązania mają niezamierzone konsekwencje. Na przykład, dodatkowe zasady mogą ograniczyć te dni w dół, ale także zmniejszyć ogólne zyski (z powodu utraconych szans). Optymalizacja Optymalizacji oznacza po prostu znalezienie najlepszych zestawów parametrów dla danego rynku. Ten proces może nieznacznie poprawić wyniki. Jednak wiąże się on również z wieloma ryzykami, ponieważ opiera się na założeniu, że wcześniejsze wyniki wskazują na przyszłe zmiany cen. Optymalizację można osiągnąć, zmieniając wartości parametru, który chcesz zoptymalizować, a następnie testując te zmiany. Należy pamiętać, że pozostałe parametry muszą pozostać niezmienne dla skutków ustalanych zmian. Po znalezieniu wartości, która zapewnia najwyższą wydajność w testowaniu wstecznym, wprowadź ją do systemu transakcyjnego. Rozważmy przykład. Powiedzmy, że sprzedawca przeanalizował SampP 500 i odkrył, że może zoptymalizować system za pomocą wykresu dziennego. Ten sam proces można również podjąć w wyższym stopniu. Na przykład, jeśli zwykła średnia ruchoma wynosząca 6 będzie lepsza niż 8 dla strategii przekierowania MA na danym rynku, wówczas zostanie zastosowana wartość 6. Problem polega nie tylko na założeniu, ale także na tym, że system może działać gorzej na wielu innych rynkach, przez co staje się mniej powszechny. Wielu twórców systemów rezygnuje z etapu optymalizacji z dwóch powodów: optymalizacja często zawyża wyniki. Dzieje się tak dlatego, że parametry są tak specyficzne i nie są uniwersalne, że każda zmiana na rynku (czyli przyszłość) może spowodować niestabilność. W wielu przypadkach optymalizacja nie poprawi wydajności w znaczącym stopniu. Niewielkie ulepszenia mogą być jednak widoczne, przepadek powszechności jest wysoką ceną do zapłacenia. 13 Zasadniczo optymalizacja powinna definiować tylko ogólne ustawienia parametrów, a nie ustawiać określone reguły - nawet jeśli zakończyło się sukcesem testowaniem historycznym i handlem papieru. Podsumowanie Rozwiązywanie problemów jest niezbędne, aby system działał dokładnie tak, jak tego chcesz. Ważne jest, aby zidentyfikować wszelkie problemy, obserwując przypadki, w których wystąpiły, a następnie oceniając, w jaki sposób pewne warunki wielu czynników - takich jak wzór ceny, objętość, rozłożenie się marży i marża - mogły być przyczyną problemu. Optymalizacja może poprawić wyniki, ale ważne jest, aby pamiętać, że ma ona swoje ograniczenia. Opiera się nie tylko na założeniu, że przeszłe wyniki wskazują na przyszłość, ale nie jest to etap, na którym trader tworzy określone reguły - optymalizacja polega tylko na definiowaniu szerokich ustawień. W następnej i ostatniej części przedstawimy przegląd wszystkiego, co omówiliśmy wraz z kilkoma poradami i zasobami, które pomogą ci zdobyć praktyczną wiedzę na temat projektowania i rozwoju systemu transakcyjnego. Projekt systemu handlu wysokoczęstotliwościowego i zarządzanie procesami. zarządzanie procesowe Doradca: Roy E. Welsch. Dział: Program projektowania i zarządzania systemem. Wydawca: Massachusetts Institute of Technology Data wydania: 2009 Firmy handlowe są obecnie bardzo zależne od eksploracji danych, modelowania komputerowego i rozwoju oprogramowania. Analitycy finansowi wykonują wiele podobnych zadań do tych w branży oprogramowania i produkcji. Jednak branża finansowa nie przyjęła jeszcze w pełni zaawansowanych systemów inżynierii systemów i metod zarządzania procesami, które odniosły sukces w branży oprogramowania i produkcji. Wiele tradycyjnych metod projektowania produktu, kontroli jakości, systematycznych innowacji i ciągłego doskonalenia w dziedzinach inżynierii można zastosować w dziedzinie finansów. Ta teza pokazuje, w jaki sposób wiedza uzyskana z dziedzin inżynierii może poprawić projektowanie i zarządzanie procesami w systemach handlu o wysokiej częstotliwości. Systemy handlu wysokimi częstotliwościami są oparte na obliczeniach. Systemy te są automatycznymi lub półautomatycznymi systemami oprogramowania, które są z natury skomplikowane i wymagają wysokiego stopnia precyzji projektu. Projekt systemu handlu wysokiej częstotliwości łączy wiele dziedzin, w tym finansowanie ilościowe, projektowanie systemu i inżynierię oprogramowania. W branży finansowej, gdzie teorie matematyczne i modele handlowe są stosunkowo dobrze zbadane, zdolność do realizacji tych projektów w rzeczywistych praktykach handlowych jest jednym z kluczowych elementów konkurencyjności przedsiębiorstw inwestycyjnych. Możliwość skutecznego i efektywnego przekształcania pomysłów inwestycyjnych w efektywne i wydajne systemy inwestycyjne może zapewnić firmie inwestycyjnej ogromną przewagę konkurencyjną. (Cd.) Niniejsza praca stanowi szczegółowe studium składające się z projektowania systemu handlu o wysokiej częstotliwości, modelowania systemu i zasad oraz zarządzania procesami do rozwoju systemu. Szczególny nacisk kładzie się na analizę historyczną i optymalizację, które są uważane za najważniejsze elementy budowy systemu transakcyjnego. Badania te budują modele inżynierii systemów, które kierują procesem rozwoju. Wykorzystuje również eksperymentalne systemy transakcyjne do weryfikacji i zatwierdzania zasad poruszonych w tej pracy. Wreszcie, w tej tezie stwierdza się, że zasady i ramy inżynierii systemów mogą być kluczem do sukcesu przy wdrażaniu transakcji o wysokiej częstotliwości lub ilościowych systemów inwestycyjnych. Thesis (S. M.) - Massachusetts Institute of Technology, System Design and Management Program, 2009. Katalogi z wersji PDF pracy dyplomowej. Obejmuje odniesienia bibliograficzne (s. 78-79). Słowa kluczowe: projekt systemu i program zarządzania. Moje kontoKodowanie kodów systemowych: testowanie, rozwiązywanie problemów i optymalizacja Po skonfigurowaniu i zakodowaniu systemu transakcyjnego, nadszedł czas, aby przetestować go, aby upewnić się, że kodowanie jest wolne od błędów logicznych i technicznych. Przyjrzymy się także zjawisku znanemu jako optymalizacja - funkcja w niektórych programach transakcyjnych, która pozwala precyzyjnie dostroić reguły handlu do zasobów, które planujesz handlować. Testowanie systemu transakcyjnego Znaczna większość aplikacji handlowych obsługujących języki programowania również obsługuje narzędzia do testowania. Narzędzia te są podzielone na dwie kategorie: 1. Techniczne narzędzia do testowania technicznego wyszukują błędy techniczne w kodzie. Na przykład, jeśli zapomnisz dodać średnik po stwierdzeniu, narzędzie do testowania technicznego powiadomi Cię, że twoje oświadczenie jest nieważne. Lokalizacja narzędzia do testowania technicznego zależy od zastosowanej aplikacji transakcyjnej. MetaTrader wyświetla błąd lub błędne wyniki przy próbie kompilacji kodu, podczas gdy aplikacje handlowe, takie jak Tradecision, mają narzędzie kontroli kodu wbudowane w interfejs, które pozwala sprawdzić kod pod kątem błędów przed jego zastosowaniem. 2. Logiczne narzędzia do testowania logicznego wyszukują logiczne błędy w kodzie. Jeśli na przykład użyjesz znaku większego niż znaku mniejszego niż znak (co nie jest błędem technicznym), narzędzie do testowania logicznego pokaże Ci, że twoje wyniki nie mają sensu. Najpopularniejszym narzędziem do testowania logicznego jest narzędzie analizy historycznej. To narzędzie umożliwia pobieranie przeszłych danych i stosowanie systemu handlu do tych danych. Daje to wyobrażenie o następujących kwestiach: Czy Twój system transakcyjny jest rentowny 13 Jakie warunki okazują się najbardziej opłacalne 13 Gdzie mogą występować błędy w twoich regułach (Aby uzyskać więcej informacji, zobacz Analiza historyczna: Interpretowanie przeszłości). Rozwiązywanie problemów z transakcją System Podobnie jak w przypadku każdego innego programowania, rozwiązywanie problemów może być uciążliwym i trudnym zadaniem. Znajdowanie błędów w kodzie wymaga systematycznego sortowania kodu, aby zidentyfikować błędy składniowe, które, choć często nieistotne, mogą doprowadzić do zatrzymania programu. Oto kilka typowych błędów, których należy szukać: Brakujące średniki po instrukcjach - Te muszą występować po każdym stwierdzeniu. 13 Niezdefiniowane zmienne - pamiętaj, że musisz je zadeklarować przed ich użyciem. 13 Błędy w pisowni - Jeśli jakakolwiek nazwa lub funkcja będą napisane niepoprawnie, aplikacja handlowa zwróci błąd (patrz przykład poniżej). 13 Niewłaściwe użycie funkcji () - pamiętaj, że przypisuje jedną wartość do innej wartości, a wartość jest równa. 13 Niewłaściwe użycie wbudowanych funkcji - sprawdź dokumentację aplikacji handlowej lub interfejs programowania aplikacji (API), aby upewnić się, że używasz poprawnej składni. Niektóre aplikacje handlowe zawierają funkcję, która pozwala przetestować kod przed jego użyciem lub kompilacją. Ta funkcja pozwala zobaczyć, co jest błędem i na której linii można go znaleźć. Weźmy na przykład Tradecision: Tutaj widzimy, że Tradecision podaje nam lokalizację (linię i kolumnę) błędu, opis błędu i typ błędu (w tym przypadku jest to syntaktyczny). Jeśli spojrzymy na wyrażenie, widzimy, że w kolumnie 8 xrossBelow nie jest prawidłową funkcją. Jeśli zamieniamy x (który jest w kolumnie 8) na c, to będziemy mieli prawidłowy kod. Jeśli spojrzymy na MetaTrader, zauważymy, że błędy pojawiają się, gdy próbujemy skompilować program: Tutaj widzimy, że w opisie podano, że zmienna BuyNow nie została zdefiniowana. Podwójne kliknięcie tego komunikatu o błędzie doprowadzi nas do określonej lokalizacji błędu w kodzie. Jak widać, większość aplikacji handlowych pozwala w łatwy sposób zlokalizować błędy techniczne i je naprawić. Naprawianie błędów polega po prostu na systematycznym przejściu każdego komunikatu o błędzie, a następnie ponownemu skompilowaniu kodu i zastosowaniu systemu handlu do wykresów. Optymalizowanie systemu transakcyjnego Niektóre aplikacje transakcyjne pozwalają wybierać zmienne, które mają zostać zoptymalizowane. Na przykład Tradecision pozwala łatwo wybrać zmienną i zastąpić ją kodem, który będzie próbował przeprowadzić optymalizację. Optymalizacja sama w sobie jest po prostu procesem, który wyszukuje optymalną wartość dla konkretnego elementu systemu transakcyjnego w oparciu o wcześniejsze wyniki i wydajność. Należy zauważyć, że nadmierna optymalizacja powoduje, że systemy transakcyjne nie są w stanie dostosować się do warunków rynkowych, dlatego ważne jest, aby optymalizować tylko kilka ważnych zmiennych, a nie każdą zmienną. Oto jak wygląda funkcja optymalizacji w Tradecision: Widać, że zadeklarowaliśmy dwie nowe zmienne i ustawić je na równe. Oznacza to po prostu, że program handlowy zastąpi go optymalną liczbą. Następnie widać, że wykorzystaliśmy nowe zmienne w ramach naszej strategii handlowej. Na koniec ustawiamy zakres liczb (aby program nie przeszukał nieskończoności). Niektóre inne programy transakcyjne mają funkcje, które działają w podobny sposób, pozwalając na zamianę wartości liczbowej na i podanie aplikacji handlowej, aby ją zoptymalizować. Wniosek Do tej pory powinieneś opracować działający system transakcyjny, w którym możesz mieć pewność. W następnej części tej serii dowiesz się, jak zastosować swój system handlu do wykresów i jak z niego korzystać, aby podejmować decyzje handlowe

No comments:

Post a Comment