Automatyczne systemy transakcyjne

Aby odnosić sukcesy na rynkach finansowych należy opracować system transakcyjny, który będzie generował sygnały wejścia i wyjścia (otwierania i zamykania pozycji). Działanie zgodne z opracowanym systemem może być jednak trudne ze względu na emocje, wpływające na przedwczesne lub zbyt późne zamykanie i otwieranie pozycji. Systemy mechaniczne nie posiadają tego ryzyka ponieważ pozbawione są wpływu emocji. Platforma transakcyjna bossaFX daje szerokie możliwości rozwijania systemów automatycznych. W środowisku platformy można tworzyć, ulepszać i testować systemy automatyczne, które nie tylko będą generować sygnały, lecz także otwierać i zamykać pozycje.
Poniżej znajduje się opis dwóch, wbudowanych w platformę bossaFX, automatycznych strategii inwestycyjnych.

Strategia Moving Average

  1. Opis strategii

Strategia oparta jest na sygnałach pochodzących z prostej średniej ruchomej. Jako że system ten bazuje tylko na tym jednym wskaźniku, jest to system jednowskaźnikowy analizy technicznej. Otwieranie i zamykanie pozycji następuje w momencie przecięcia się wykresu cenowego ze średnia ruchomą. Dodatkowo wbudowany jest system zarządzania kapitałem, który według specjalnego algorytmu optymalizuje wielkość pozycji co zwiększa efektywność inwestycji.

Program analizuje zbieżność średniej ruchomej i rynkowej ceny danego instrumentu. Jeśli poziom średniej ruchomej napotyka na cenę w taki sposób, że poprzednia wartość jest wyższa niż cena otwarcia i niższa niż cena zamknięcia to wtedy pozycja długa zostanie otworzona ( średnia ruchoma zostanie przecięta przez wykres ceny od dołu). Zamknięcie pozycji nastąpi w sytuacji odwrotnej tzn. gdy cena przetnie średnią od góry.

strategia Moving Average kupno

Jeśli wykres ceny przetnie średnią ruchomą od góry, czyli poprzednia wartość średniej jest niższa niż cena otwarcia i wyższa niż cena zamknięcia z poprzedniego okresu to wtedy pozycja krótka zostanie otwarta. Zamknięcie pozycji nastąpi w sytuacji odwrotnej tzn. gdy cena przetnie średnią od dołu.

strategia Moving Average sprzedaż

W chwili wygenerowania sygnału kupna bądź sprzedaży system przechodzi do ustalenia wielkości pozycji. Algorytm służący do zarządzania kapitałem użyty w programie jest bardzo efektywny i zarazem prosty. Wartość każdej pozycji zależy od rezultatów poprzednich transakcji. Podstawowa wielkość lotu obliczana jest na podstawie maksymalnego dostępnego ryzyka, według następującego wzoru:

Lot = (wolne środki * maksymalne_ryzyko) / 1000

Parametr MaximumRisk (maksymalne ryzyko) pokazuje podstawowe ryzyko dla każdej transakcji, czyli ile procent wolnych środków przeznaczymy na inwestycje. Zazwyczaj wartość ta mieści się w przedziale od 0.01 (1%) do 1 (100% ) np. jeśli mamy $20.005 i chcemy zainwestować maksymalnie 2% (MaximumRisk = 0.02) to podstawowy lot będzie miał rozmiar 20005*0.02/1000 = 0.41. Ponieważ wielkość lota nie może wynosić 0.41 ( minimalna zmiana lota to 0.1 ) system automatycznie zaokrągli tą wartość do 0.4. Ta prosta metoda wyliczania wartości pozycji pozwala na zwiększanie wartości inwestycji w zależności od powodzenia w zawieraniu transakcji, a następnie na reinwestowanie kapitału. Parametr MaximumRisk może zostać zmieniony przez użytkownika z poziomu platformy.

Kolejnym parametrem wykorzystywanym przez algorytm zarządzania kapitałem jest DecreaseFactor. Jest to czynnik zmniejszający ryzyko, który będzie redukował wielkość lotów po serii stratnych pozycji (zazwyczaj po 2,3,4). Jeśli poprzednie transakcje były stratne to wartości kolejnych otwieranych pozycji będą zmniejszane w celu przeczekania gorszego okresu dla strategii (np. podczas trendów bocznych). Wielkość pozycji w tym przypadku obliczana jest następująco:

lot- lot * (ilość stratnych pozycji danej serii) / DecreaseFactor

Pomysł jest więc prosty: w przypadku zwiększania się ilości zyskownych transakcji ( np. podczas silnych trendów) system automatycznie maksymalizuje zyski zwiększając pozycje. Po pierwszych stratnych pozycjach program zacznie „redukować prędkość” dopóki nowe zyskowne transakcje nie zostaną wykonane. Algorytm pozwala na całkowite wyłączenie „reduktora prędkości” w tym celu użytkownik powinien ustawić DecreaseFactor = 0. Parametr ten może być dowolnie modyfikowany z poziomu platformy.

ustawienia

  1. Zastosowanie strategii na platformie BOSSAFX

  • W trybie rzeczywistym

W celu uruchomienia strategii na platformie BOSSAFX użytkownik musi zezwolić platformie na handel automatyczny. W tym celu z menu wybieramy [Narzędzia] następnie [Opcje]. W oknie [Opcje] wchodzimy w zakładkę [Strategie] i zaznaczamy opcje [Zezwalaj na automatyczny trading] oraz [Umożliw import DLL].

Narzedzia_Opcje_Strategie

Aby dodać wybraną strategię rozwijamy zakładkę „Strategie” w oknie „Nawigator” następnie klikamy prawym klawiszem myszy na wybraną strategię i wybieramy opcje „Dodaj do wykresu”. Ważne jest aby pamiętać, że strategia dodawana jest do aktywnego wykresu i że tylko jedna strategia może być uruchomiona na danym wykresie w danej chwili.

Załącznia

Po dodaniu wybranej strategii do wykresu automatycznie pojawi się okno w którym mamy możliwość modyfikacji parametrów strategii.

parametry_ogolne

Po poprawnym skonfigurowaniu platformy w prawym górnym rogu obok nazwy strategii pojawi się " uśmiechnięta buźka" co oznacza że strategia automatycznie zawiera transakcje w trybie rzeczywistym.

tester_strategii

  • Na danych historycznych (tester strategii)

Terminal pozwala nie tylko na uruchomienie strategii w trybie rzeczywistym, ale również na wcześniejsze ich testowanie. Ta użyteczna funkcja pozwala na sprawdzenie operacyjności i efektywności automatycznych strategii na danych historycznych. Testowanie pozwala na rozpoczęcie automatycznego handlu z pełną wiedzą o zachowaniu się strategii podczas różnych warunków rynkowych. W tym celu specjalne okno „Tester strategii” zostało wbudowane w terminal. Używając tego okna użytkownik może także optymalizować parametry danej strategii. Wyniki takie pokażą dla jakich parametrów dana strategia osiągnie maksymalną efektywność. Aby uruchomić tester strategii używamy skrótu klawiszowego Ctrl + R lub z menu wybieramy „Widok” następnie „Tester strategii”. Po uruchomieniu, okno „Tester” pojawi się na dole ekranu.

Po zakończeniu testowania użytkownik widzi wszystkie zawierane transakcje, krzywą kapitału i wiele istotnych informacji pozwalających lepiej poznać i ocenić daną strategię.

rezultaty_test

W zakładce „Raport” znajdują się szczegółowe informacje dotyczące zachowania się strategii podczas danego okresu.

krzywakapitalu

W zakładce „Wykres” widzimy jak zmieniała się krzywa kapitału podczas zawierania kolejnych transakcji. W dolnej części wykresu obserwujemy wielkości otwieranych pozycji a więc jak działał algorytm zarządzania kapitałem.

Uwaga! Podczas przelogowywania się z rachunku demo na realny, bądź odwrotnie, należy upewnić się, że strategia została usunięta z wykresu. W przeciwnym wypadu strategia może doprowadzić do przypadkowego otwarcia/zamknięcia pozycji. Strategię można usunąć po otworzeniu menu podręcznego na wykresie i wybraniu opcji "Strategie" >"Usuń".

 

Strategia MACD

  1. Opis strategii

Strategia oparta jest na standardowym wskaźniku MACD. Sygnały pochodzące z tego wskaźnika są filtrowane za pomocą dwóch filtrów. Pierwszy polega na wyłączeniu z naszych analiz sygnałów tworzących się przy bardzo niskich poziomach MACD (małe "pagórki" na wykresie ). Drugi filtr sprawdza czy otwierana pozycja jest zgodna z panującym trendem na rynku, jeśli tak nie jest pozycja nie zostanie otwarta.

System pozwala również na ustawianie poziomów take profit oraz trailing stop (ruchomy stop loss) które zapewnią nam bezpieczną pracę. W naszym przykładzie handel będzie prowadzony przez otwieranie i zarządzanie tylko jedną pozycją. Każda pozycja zawierana jest na taką samą kwotę (domyślnie 0.1 lota).

Zasady handlu:

  • Wejście na rynek

pozycja długa - Jeśli wskaźnik MACD jest poniżej zera ale zmierza ku górze i jest przecięty przez opadającą linię sygnalną to mamy pierwszy sygnał kupna. Aby poprawić skuteczność naszej strategii przejdźmy do przefiltrowania tego sygnału. Pierwszym filtrem sprawdzamy, czy wartość MACD jest większa od wartości którą wprowadzamy z poziomu platformy - MACDOpenLevel (domyślnie równa 3). Eliminuje to sygnały przy małych wartościach wskaźnika. Za pomocą drugiego filtru sprawdzamy czy na rynku dominuje trend, zgodnie z którym otwarta zostanie pozycja ( w naszym przypadku wzrostowy). Jeśli wszystkie sygnały są pozytywne otwieramy pozycję długą.

dluga

pozycja krótka - Jeśli wskaźnik MACD jest powyżej zera ale zaczyna opadać i jest przecięty przez rosnącą linię sygnalną, jest to pierwszy sygnał do otwarcia pozycji krótkiej. Kolejny krok to sprawdzenie czy wartość MACD jest większa od wartości zadanej przez użytkownika MACDOpenLEVEL (domyślnie wartość równa 3), a wiec czy "pagórek" na wykresie jest wystarczająco duży do wygenerowania sygnału. Ostatnim potwierdzeniem jest drugi filtr, który sprawdza czy na rynku panuje trend spadkowy, a więc czy otwieramy pozycje zgodnie z trendem.

krotka

  • Opuszczenie rynku

zamknięcie pozycji długiej - Jeśli wskaźnik MACD jest powyżej zera, zaczyna opadać i jest przecięty przez rosnącą linię sygnalną , stanowi to pierwszy sygnał do zamknięcia pozycji. Kolejnym krokiem jest sprawdzenie czy wartość MACD jest większa od wartości zadanej przez użytkownika MACDCloseLEVEL (domyślnie wartość równa 2), a wiec czy "pagórek" na wykresie jest wystarczająco duży do wygenerowania sygnału zamknięcia. W przypadku braku poprzedniego sygnału system monitoruje pozycje i w chwili gdy cena osiąga poziom take profit pozycja zostaje zamknięta.

zamknięcie pozycji krótkiej - Jeśli wskaźnik MACD jest poniżej zera, zmierza ku górze i jest przecięty przez opadającą linię sygnalną, stanowi to pierwszy sygnał do zamknięcia pozycji. Kolejnym etapem jest sprawdzenie czy wartość MACD jest większa od wartości, którą wprowadzamy z poziomu platformy - MACDCloseLevel (domyślnie wartość równa 2) - jeśli tak to pozycja zostaje zamknięta. W przypadku poprzedniego sygnału system monitoruje pozycje i w chwili gdy cena osiąga poziom take profit pozycja zostaje zamknięta.

W celu poprawy naszego systemu wprowadzamy 2 filtry:

  • pierwszy polega na wyłączeniu z naszych analiz sygnałów tworzących się przy bardzo niskich poziomach MACD (małe "pagórki" na wykresie ). Rozróżniamy tutaj dwie sytuacje: pierwsza w momencie otwierania pozycji i w tym celu wprowadzamy dodatkową miarę do kontroli rozmiaru "pagórka" na wykresie - MACDOpenLevel, natomiast w chwili zamykania pozycji wymagana wartość wskaźnika MACD określana jest za pomocą parametru MACDCloseLevel.
  • drugi filtr polega na uwzględnieniu panującego trendu który jest wyrażony jako różnica wartości średniej ruchomej z obecnego i poprzedniego okresu. Jeśli wiec wartość jest większa od zera to mamy do czynienia z trendem wzrostowym, w przeciwnym przypadku z trendem spadkowym (wartości równe zero wskazują na trend boczny i wtedy nie otwieramy żadnej pozycji). Użytkownik za pomocą parametru MATrendPeriod podaje ilość okresów które są uwzględniane do obliczania średniej ruchomej (domyślnie 26 okresów).

Oprócz wymienionych wcześniej parametrów (MACDOpenLevel, MACDCloseLevel, MATrendPeriod) system pozwala użytkownikowi na zmianę takich parametrów jak Lots, TrailingStop, TakeProfit. Za pomocą zmiennej Lots możemy zmienić wielkość zajmowanej pozycji (domyślnie 0.1 lota ). Zmienna TakeProfit (domyślnie wartość 50 punktów) określa poziom przy którym zysk jest zadowalający i w tym momencie zamykamy pozycje, natomiast Trailing Stop (ruchomy stop loss) określa maksymalną stratę a w przypadku gdy cena porusza się zgodnie z oczekiwanym kierunkiem, zlecenie stop loss podąża za aktualną ceną w odległości zadanej przez użytkownika (domyślnie wartość 30 punktów).

parametry_ogolne

Niniejszy materiał, przygotowany przez DM BOŚ S.A. ma charakter wyłącznie informacyjny... Dowiedz się więcej
1/1