221 lines
7.3 KiB
TeX
221 lines
7.3 KiB
TeX
\documentclass[]{article}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage{polski}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[margin=1.25in]{geometry}
|
|
\usepackage{alltt}
|
|
\usepackage{titling}
|
|
\usepackage{pdfpages}
|
|
\usepackage{float}
|
|
\usepackage{amsmath}
|
|
\usepackage{booktabs}
|
|
\usepackage{tabularx}
|
|
\usepackage{amstext}
|
|
\usepackage{pgfplots}
|
|
\usepackage{tikz}
|
|
\usepackage{xspace}
|
|
\usepackage{enumerate}
|
|
\usepackage{lmodern}
|
|
\usepackage{amsfonts}
|
|
\usepackage{mathtools}
|
|
\usepackage{alphalph}
|
|
\usepackage{algorithm}
|
|
\usepackage{algpseudocode}
|
|
\usepackage{wrapfig}
|
|
\usepackage[polish]{babel}
|
|
\usepackage{braket}
|
|
\usepackage{subcaption}
|
|
\usepackage{csvsimple} % kurwa
|
|
|
|
\pgfplotsset{compat=1.15}
|
|
\usepgfplotslibrary{groupplots}
|
|
\usepgfplotslibrary{external}
|
|
\tikzexternalize
|
|
|
|
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
|
|
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
|
|
|
|
\usetikzlibrary{decorations.pathmorphing, arrows.meta, positioning}
|
|
\usetikzlibrary{shapes.geometric, arrows, intersections}
|
|
|
|
\pgfdeclarelayer{background}
|
|
\pgfdeclarelayer{foreground}
|
|
\pgfsetlayers{background,main,foreground}
|
|
|
|
% opening
|
|
\title{Analiza Techniczna - MACD \\ \normalsize Projekt \#1 z \texttt{MN}}
|
|
\author{Kacper Donat}
|
|
\newenvironment{column}[1]{\noindent\begin{minipage}{#1\linewidth}}{\end{minipage}\vspace{.5\baselineskip}}
|
|
|
|
\floatname{algorithm}{Program}
|
|
|
|
\newcommand{\macd}[1]{%
|
|
\begin{tikzpicture}
|
|
\def\file{../macd/#1.csv}
|
|
\def\action{../macd/#1-intersect}
|
|
\input{macd.tex}
|
|
\end{tikzpicture}%
|
|
}
|
|
|
|
\newcommand{\result}[2]{%
|
|
\begin{tikzpicture}
|
|
\def\file{../macd/#1.csv}
|
|
\def\action{#2.csv}
|
|
\input{result.tex}
|
|
\end{tikzpicture}%
|
|
}
|
|
|
|
\tikzstyle{sell}=[red, -latex, densely dotted]
|
|
\tikzstyle{buy}=[green, latex-, densely dotted]
|
|
|
|
\begin{document}
|
|
\maketitle
|
|
|
|
\section{Cel projektu}
|
|
Założeniem projektu było stworzenie programu, który umożliwiałby wyznaczenie wskaźnika giełdowego MACD. Drugim zadaniem
|
|
było opracowanie programu, który automatycznie podejmowałby decyzje kupna bądź sprzedaży na podstawie analizy dostępnych
|
|
mu danych.
|
|
|
|
\section{Analiza wskaźnika MACD}
|
|
Wskaźnik MACD składa się z 2 powiązanych ze sobą wskaźników - wskaźnika rozbieżności między trendem krótkotrwałym oraaz
|
|
długotrwałym, oraz wskaźnika sygnału stanowiącego średnią tej rozbieżności. Do wyznaczenia obu tych wskaźników
|
|
wykorzystuje się średnie z danych historycznych. Przyjęło się, że poprzez trend długotrwały rozumiemy średnią z
|
|
ostatnich 26 dni, krótkotrwały z 12 dni a sygnał jest średnią z ostatnich 9 dni.
|
|
|
|
Tak niska granulacja danych wynika z faktu, że w czasie opracowania wskaźnika nie było możliwości dostępu do danych o
|
|
większej granulacji niż dniowa, i najczęściej na podstawie tego typu danych musiano podejmować decyzje kupna bądź
|
|
sprzedaży. Dobór rozmiaru okien czasowych również w czasie opracowania prawdopodobnie był nieprzypadkowy - przy 6
|
|
dniowym tygodniu handlowym 12 dni stanowiło 2 tygodnie, 9 dni półtora a 26 miesiąc i pół tygodnia - zatem zgodnie z ideą
|
|
prawdopodobnie właściwym doborem parametrów dla aktualnych czasów byłyby średnie z ostatnich 22, 10 oraz 7 dni.
|
|
|
|
Ze względu na oparcie wskaźnika na ostatnich $n$-wartościach historycznych, reakcja wskaźnika na zachowania inwestorów
|
|
zawsze jest opóźniona i nie radzi sobie za dobrze w wypadku nagłych gwałtownych spadków cen - w sytuacji, w której
|
|
sprawny inwestor podjąłby szybką decyzję sprzedaży akcji, wskaźnik zasugeruje taką decyzję z drobnym, najczęściej około
|
|
2-3 dniowym opóźnieniem.
|
|
|
|
Dodatkowo jak można zaobserwować na niemal wszystkich wykresach, informacje pochodzące ze wskaźnika generują znaczny
|
|
szum w momentach, w których giełda zachowuje się relatywnie stabilnie generując wiele sygnałów o ostatecznie zerowym
|
|
znaczeniu inwestycyjnym.
|
|
|
|
\begin{figure}[H]
|
|
\macd{fb}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy Facebook}
|
|
\end{figure}
|
|
|
|
Patrząc na powyższy wykres widzimy ogromną ilość sygnałów do kupna oraz sprzedaży, jednak część z nich stanowi całkiem
|
|
kompetentny licznik modulo 2, sugerujący sprzedaż akcji jednego dnia tylko po to by kupić je następnego.
|
|
Wyznacznik ten sprawdza się jednak całkiem dobrze w wypadku nagłych wzrostów, po których następuje stabilizacja -
|
|
najczęściej całkiem dobrze przewidując moment w którym będzie bezpiecznie sprzedać bez tracenia ewentualnych zysków.
|
|
|
|
Dodatkowo ze względu na to, że jest to wyznacznik dość dobrze rozpowszechniony wśród osób niedoświadczonych istnieje
|
|
niezerowe ryzyko wystąpienia zjawiska samoindukcji wskaźnika.
|
|
|
|
Jak wcześniej zauważono, ze względu na budowę wskaźnik ten zawsze będzie miał drobne opóźnienie względem aktualnej
|
|
sytuacji na giełdzie. W niektórych wypadkach jednak istnieje nieorawdopodobna wręcz zgodność zachowania wykresu
|
|
giełdowego z przewidywaniami wskaźnika. Sytuację te można zaobserwować na wyżej wymienionym wykresie firmy facebook.
|
|
Ponieważ inwestorzy opierają się i sugerują wskaźnikiem może wystąpić sytuacja, w której wskaźnik sprawdzi się wyjątkowo
|
|
dobrze tylko ze względu na to, że inwestorzy sugerując się nim podjęli decyzję nagłej sprzedaży.
|
|
|
|
\section{Automatyczne zarabianie}
|
|
|
|
Wnioski:
|
|
\begin{itemize}
|
|
\item Sieć kurewsko trudno wytrenować
|
|
\item Najlepiej powierzyć te zadanie kotu, chodząc po klawiaturze ma równe szanse na dobre inwestycje co program
|
|
\item
|
|
\end{itemize}
|
|
|
|
\appendix
|
|
|
|
\section{Wykresy wskaźników dla różnych spółek giełdowych}
|
|
\begin{figure}[H]
|
|
\macd{11bit}
|
|
\caption{Wskaźnik MACD oraz Signal dla 11-bit studios}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{amazon}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy Amazon}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{apple}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy Apple}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{bitcoin}
|
|
\caption{Wskaźnik MACD oraz Signal dla Bitcoina}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{cdr}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy CD Projekt Red}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{dogecoin}
|
|
\caption{Wow, such MACD, many SIGNAL, wow.}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{dow30}
|
|
\caption{Wskaźnik MACD oraz Signal dla indeksu Dow Jones}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{fb}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy Facebook}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{google}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy Google}
|
|
\end{figure}
|
|
%
|
|
\begin{figure}[H]
|
|
\macd{intel}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy Intel}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{ltc}
|
|
\caption{Wskaźnik MACD oraz Signal dla kryptowaluty Litecoin}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{msft}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy Microsoft}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{nasdaq}
|
|
\caption{Wskaźnik MACD oraz Signal dla giełdy NASDAQ}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{nvidia}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy Nvidia}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{paypal}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy PayPal}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{sin}
|
|
\caption{Cóż... XD}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{tesla}
|
|
\caption{Wskaźnik MACD oraz Signal dla firmy Tesla}
|
|
\end{figure}
|
|
|
|
\begin{figure}[H]
|
|
\macd{wig20}
|
|
\caption{Wskaźnik MACD oraz Signal dla indeksu WIG20}
|
|
\end{figure}
|
|
\end{document}
|