Wykonanie analizy historycznych danych giełdowych

Co opisujemy?

Metodologię wykonania analizy potencjalnych zysków i strat związanych z wybranymi strategiami inwestycji na giełdzie, na bazie danych historycznych. Opis zawiera kolejne etapy tworzenia rozwiązania: określenia potrzeb, warunków, dostępnych danych, wykorzystanej technologii poprzez stworzenie automatycznego i uniwersalnego kodu analitycznego.

Jak wyglądały kolejne kroki realizacji?

  1. Określono okresy dla krótko, średnio i długoterminowych średnich kroczących.
  2. Dobrano technologie odpowiednie do analizy danych.
  3. Stworzono workflow pobierający, przygotowujący i analizujący dane.
  4. Przedstawiono wyniki w postaci krótkiego omówienia oraz wyników analizy.

Co sprawdzaliśmy?

Zakres analizy bazował na 5-letnich danych historycznych dowolnie określonego tickera (w przykładzie wybrano złoto). Dane te pogrupowano, wyliczono wskaźniki służące do oceny i stworzono 16 różnych kombinacji wg okresów EMA (wykładniczej średniej kroczącej).

Realizację zakończono opracowaniem i wizualizacją wyników oraz przedstawieniem kompletnych wniosków.

Istotnym wyzwaniem było zaprojektowanie uniwersalnego rozwiązania.

Problemem była automatyzacja rozwiązania i optymalizacja w zakresie jego uniwersalności. Było to spowodowane takimi wymaganiami jak: każdorazowa aktualizacja danych wejściowych (historycznych), szybka zmiana pomiędzy wybranym tickerem, stworzenie analizy wariantowej zaproponowanych strategii inwestycyjnych, prosta wizualizacja wyników – czytelna i łatwa do interpretacji. Celem jest wskazanie optymalnego wśród założeń sposobu inwestowania.

 

KLIKNIJ TUTAJ ŻEBY PRZEWINĄĆ STRONĘ DO OPISU

Szczegółowy opis problemu oraz jego rozwiązania.

Zamówienie klienta odnosiło się do wykonania analizy danych historycznych kursu złota. Jako podstawę przyjęty został 5-letni okres czasu. Specyficznym założeniem klienta było wykonanie podstawowej analizy wariantowej stosując średnią kroczącą oraz wykluczając czynniki zewnętrzne (m.in. opisywane i wykorzystywane w analizach fundamentalnych). Obliczenia bazować miały na cenach zamknięcia z poszczególnych dni.

Analizę oparto na popularnych  rozwiązaniach rynkowych:

  • platformy analitycznej Knime w połączeniu z
  • językiem programowania Python,

które pozwalają na całkowitą automatyzację procesów analityczno-obliczeniowych oraz wizualizację wyników w dowolny, wybrany przez użytkownika sposób.

Pierwszym krokiem było stworzenie metody pobierania i formatowania / czyszczenia danych wejściowych. Sposób uzyskano za pomocą kodu Python, który za każdym uruchomieniem programu generował nowe wartości w oparciu o systemowy czas i podany ticker, gwarantując najbardziej aktualne wartości. Następnie dane zostały sprawdzone pod względem spójności i kompletności, po czym uzyskaną tabelę danych poddano dalszej analizie.

Zgodnie z treścią zamówienia ustalono trzy wartości średniej kroczącej:

  • długoterminową, wyznaczoną przez klienta jako okres 50 dni,
  • średnioterminową, o okresie 15 dni (ok. 1/3 wartości długoterminowej),
  • krótkoterminową – pomocniczą, o okresie 3 dniowym.

Uzyskane wartości zostały naniesione na interaktywny wykres świecowy w celu szybszej weryfikacji późniejszych wyników i wskazania oczywistych błędów metodologii:

Robocza interaktywna wizualizacja danych wejściowych z 5 lat.
Robocza interaktywna wizualizacja danych wejściowych z okresu 5 lat.

Następnym krokiem analizy było ponowne oczyszczenie zbioru danych oraz odizolowanie danych potrzebnych w dalszych krokach:

  • daty,
  • wartości zamknięcia,
  • średnich kroczących.

Na podstawie przefiltrowanych wartości zamknięcia i wartości EMA rozpoczęto tworzenie założeń analizy wariantowej – czyli ustalanie indywidualnych punktów kup/sprzedaj. Te określano na podstawie wcześniej wyznaczonych punktów przecięć EMA, tworząc w sumie po 4 warianty kup oraz 4 warianty sprzedaj, każdy w osobnej tabeli. Tym samym strategie inwestycyjne oparto na porównaniu krzyżowym każdego z wyznaczonych punktów (łącznie 16 różnych wariacji). Następnie wykonane zostało porównanie sum zysków i strat:

Wizualizacja części workflow dot. analizy wariantowej i wyników.

Zgodnie z kryteriami analizy (brak czynników zewnętrznych) określono, że podczas handlowania 1 uncją złota bez stosowania jakichkolwiek dźwigni finansowych:

  • Największy zysk uzyskano zgodnie z 8 wariantem strategii, gdzie w ciągu 5 lat zarobiono 511 USD. Wariant ten opierał się na zmianie koniunktury wyznaczonej przez jedną ze średnich oraz podjęcie działania KUP/SPRZEDAJ z odpowiednim opóźnieniem.
  • Najgorszym okazał się wariant 5, który zapewnił o 142,20 USD mniej zysku.
  • Powyżej średniej wyznaczonej ze wszystkich 16 wariantów (423,23 USD) znalazły się jedynie 4 warianty.

Należy podkreślić, że opisywany przykład stanowi jedynie fragment z analizy technicznej i pominięto tutaj większość znanych oscylatorów (m.in. wskaźnik impetu, wskaźnik zmian ROC, wskaźniki RSI i inne). Ta metoda przeznaczona jest do szybkiej i krótkoterminowej oceny inwestycji, określając optymalne na moment analizy punkty kup oraz sprzedaj. Znaną na rynku giełdowym praktyką jest łączenie jej z analizą fundamentalną, która opiera się na wielu czynnikach makroekonomicznych (m.in. inflację, PKB, czy stopy procentowe). W ten sposób otrzymuje się zarówno wskazówki w co zainwestować jak i długoterminową wizję.

Zapraszamy również do sprawdzenia w jaki sposób działają interaktywne dashboardy oraz wykresy. Wystarczy kliknąć tutaj.

  • Analiza techniczna – krótkoterminowy rodzaj analizy stosowanej w sytuacjach, które wymagają szybkiej reakcji. Podstawowymi danymi potrzebnymi do analizy są kwoty zamknięcia i średnie kroczące.
  • Analiza fundamentalna – długoterminowy rodzaj analizy, która pozwala określić zmiany trendu w dłuższej perspektywie niż analiza techniczna. Stosowana w celu określenia przedmiotu inwestycji, na podstawie danych makroekonomicznych i innych informacji rynkowych, politycznych czy technologicznych.
  • Średnia krocząca – wskaźnik służący do analizy szeregów czasowych oraz wyznaczania aktualnych trendów panujących na rynku.
  • SMA – prosta średnia krocząca, wyliczana wg sumy wartości z okresu dzielonej przez długość okresu.
  • EMA – wykładnicza średnia krocząca, która dodatkowo określa wagę dla danego okresu wg zasady: nowsze dane są bardziej wartościowe.
  • Oscylatory analizy technicznej – mogą być dodatkowym wskaźnikiem, który informuje o zmianie trendu przed widoczną zmianą kwot zamknięcia.
  • Workflow – w przykładzie jest to określenie przestrzeni roboczej programu KNIME. Workflow przedstawia kolejne kroki analizy oraz połączenia między nimi.