A może język AWK?

#4 Analiza Techniczna przy pomocy Pythona

Dziś zaprezentuję w jaki sposób możemy przeprowadzić analizę techniczną przy pomocy Pythona. 

Analiza techniczna w Python

Użyjemy do tego nieoficjalnego API do TradingView, Pythona oraz Google Colab. 

Dlaczego nieoficjalne API?

Zanim zajmiemy się samym kodem, wyjaśnię, dlaczego użyjemy nieoficjalnego API do TradingView.
Otóż na dzień pisania tego wpisu, TradingView nie posiada oficjalnego API. Sprawdzałem na ich stronie, nie posiadają i jak w pomocy wpiszemy "API" dostaniemy właśnie taką odpowiedź.

Zaczynamy pisanie naszego kodu

Ja będę posługiwać się Google Colab.
Pierwszą rzeczą jaką musimy zrobić to pobrać tradingview-ta. Zrobimy to przez prostą komendę w terminalu pip install tradingview-ta. Jeżeli używasz PyCharm musisz zainstalować to w IDE. 
W przypadku pracy w Google Colab dodajemy kod !pip install tradingview-ta pamiętajmy o "!" na początku. 

Teraz musimy zaimportować bibliotekę do kodu

from tradingview_ta import TA_Handler, Exchange, Interval

Później tworzymy nasz zmienną, która będzie przechowywać funkcję TA_Handler() w jej środku umieścimy zapytanie o interesujący nas rynek. W tym przykładzie będzie to WIG20.

handler = TA_Handler(
    symbol='WIG20',  
    screener='cfd',
    exchange='GPW',
    interval="1d"
    )

TradingView List (brianthe.dev) tutaj znajdziemy informacje jak np. chcemy zamiast WIG20 sprawdzić coś z rynku forex czy crypto.

from tradingview_ta import TA_Handler, Exchange, Interval

handler = TA_Handler(
    symbol='WIG20',  
    screener='cfd',
    exchange='GPW',
    interval="1d"
    )

Teraz jak mamy już zaimportowaną bibliotekę, utworzoną zmienną (nazwa może być inna) przechowującą interesujący nas rynek możemy przystąpić do analizy.

Przypominam, że ja piszę w Google Colab, jeżeli będziesz używać innego IDE zapytania powinny być w print() np. print(handler.get_analysis().indicators['open']).

Kiedy chcemy napisać kod powinien on wyglądać tak
nazwa_naszej_zmiennej.get_analysis() np. handler.get_analysis().indicators['open'] wyświetli cenę otwarcia.

Możemy napisać 
handler.get_analysis().time - otrzymamy wtedy czas pobrania danych w formacie rok, miesiąc, dzień, godzina, minuta, sekunda. 

Jeżeli chcemy np. otrzymać analizę techniczną możemy napisać
handler.get_analysis().summary - otrzymamy wówczas analizę techniczną opartą na oscylatorach oraz średniej kroczącej.

Natomiast same wskaźniki techniczne otrzymamy przez 
handler.get_analysis().indicators, jeżeli jednak interesuje nas coś konkretnego to po słowie indicators dodajemy [] a między nimi to co chcemy np. cenę otwarcia ['open'].

Przy analizach technicznych otrzymujemy słownik klucz:wartość. Kluczem jest wskaźnik, więc za pomocą [] możemy się odwołać i pobrać tylko interesujące nas wskaźniki zamiast całego słownika.

Chcąc nieco uprościć zmienną handler wraz z odwołaniem się do get_analysis() możemy przechować w innej zmiennej np.
analysis = handler.get_analysis() wówczas piszemy tylko analysis.time, analysis.summary etc.

Podsumowując

To przykład jak można wykorzystać Pythona w analizie technicznej. To kolejny przykład jak za pomocą kilku linijek kodu możemy w Pythonie otrzymać ciekawe rezultaty.

Link do biblioteki, dokumentacji oraz listy obsługiwanych rynków.

Przykład w Google Colab


Komentarze