Který index trenduje nejlépe?
Často dostávám
dotaz, který akciový index bych doporučoval k obchodování. To je velmi
komplexní otázka a záleží na kapitálu (každý má jinou nominální hodnotu, margin a volatiilitu) a riziku na obchod pro tu kterou strategii. V neposlední
řadě však také, zda se jedná o systém trendový či protitrendový (návrat k průměru),
jelikož ideálně potřebujeme trendující nebo pro countertrend metodu naopak stacionární
datovou řadu. Vezmeme-li grafické srovnání indexů, například pro swingové
obchodování 60-ti minutové timeframy
pro likvidní index trhy:
Ten kdo byl na posledních Trading Foreum konferencích: https://www.tradingforum.cz/ tak si
jistě vzpomíná na přednášku pořadatele Petra, kde prezentoval Augmented Dickey-Fuller
ADF test v Pythonu pro určení, zda je řada tak zvaně mean-reverting (dobrá pro strategie
návratu k průměru) či nikoliv (náhodná procházka nebo trendující).
Další alternativní metodou pro definování stacionarity
datové řady, její náhodné procházky a nebo zda trenduje je určení tak zvaného Hurst
exponentu. Podmínkou pro silnou stacionaritu je, že průměry a rozptyly se nemění
v čase a nenásledují trend. Dále ceny se vzdalují od původních hodnot
pomalejším tempem než geometrický Brownův pohyb (proxy náhodné procházky pro
spojitou funkci náhodné proměnné).
Matematicky můžeme vyjádřit character cenové řady dle
rychlosti difúze z původních hodnot a to dle průměru rozptylu definovaného rozdílem
logaritmů cen cen v čase:
mean (log(t + t) - log(t))^2) ~ t^{2H}
kde, t...libovolné zpoždění
Pakliže se průměrný rozptyl pro
velké t přibližuje její hodnotě,
pak se jedná o náhodnou procházku. Z tohoto titulu pak její umocnění na 2H bude
při H = 0.5 opět t. H je
onen Hurst exponent a jeho hodnoty pak nabývají od 0 do 1 a znamenají:
H < 0.5 … časová řada má tendenci
návratu k průměru
H = 0.5…. časová řada je geometrický
Brownův pohyb
H > 0.5…. časová řada má tendenci
trendovat
Snadno si pak můžeme snadno propočíst
Hurst exponent v Pythonu. Za pomocí dat z platfomy (SOL Trader, 60-ti
minutová data stáhnuta do csv pro index kontrakty za poslední 3 měsíce) a knihoven
pandas (panel data, součástí Anaconda distribuce při používání Jupyter
notebooks) a dále Hurst (nainstalování přes pip install hurst v Promptu). Jeknoduchý kód je pak:
import pandas as pd
from hurst import compute_Hc
In [2]:
Prices = pd.read_csv('C:/Users/M/Documents/Indices_60minData/Indices_60min.csv',index_col = 'Time', parse_dates = True)
Prices.index = pd.to_datetime(Prices.index)
Prices.head()
Out[2]:
RTY |
ES |
NQ |
YM |
|
Time |
||||
2020-09-03 07:00:00 |
1585.6 |
3551.25 |
12259.00 |
28941.0 |
2020-09-03 08:00:00 |
1580.2 |
3547.00 |
12153.00 |
28995.0 |
2020-09-03 09:00:00 |
1559.7 |
3503.00 |
11964.50 |
28636.0 |
2020-09-03 10:00:00 |
1548.0 |
3469.50 |
11853.75 |
28360.0 |
2020-09-03 11:00:00 |
1547.3 |
3444.25 |
11782.50 |
28208.0 |
In [3]:
Prices.tail()
Out[3]:
RTY |
ES |
NQ |
YM |
|
Time |
||||
2020-12-04 11:00:00 |
1881.4 |
3690.50 |
12529.00 |
30119.0 |
2020-12-04 12:00:00 |
1882.0 |
3687.50 |
12506.00 |
30127.0 |
2020-12-04 13:00:00 |
1886.6 |
3692.25 |
12517.25 |
30158.0 |
2020-12-04 14:00:00 |
1890.4 |
3698.50 |
12529.00 |
30203.0 |
2020-12-04 15:00:00 |
1890.9 |
3690.25 |
12509.25 |
30145.0 |
In [4]:
def get_hurst(series):
hurst_value = compute_Hc(series.dropna(), kind='price')[0]
return hurst_value
data = Prices[:]
In [5]:
hurst = data.apply(get_hurst)
In [6]:
hurst = pd.DataFrame(hurst, columns=['hurst_exponent'])
hurst
Out[6]:
hurst_exponent |
|
RTY |
0.565603 |
ES |
0.520365 |
NQ |
0.511591 |
YM |
0.527118 |
Vidíme, že všechny indexy mají trendující charakter pro daný timeframe a
periodu posledních měsíců a skutečně
nevyšší hodnotu má mini Russell 2000, následován mini Dow, mini S&P
500 a mini Nasdaq 100.
I když je hodnota Hurst exponentu blízko náhodné procházce, tak v praxi jsem mohl zaznamenat u swing algoritmů na indexy zajímavou výkonnost v posledních měsících. Pohlédněme závěrem na jeden z nich (AOS na kontrakt NQ Nasdaq 100):
Upozornění: Nejedná se o investiční doporučení, článek má jen a pouze vzdělávací charakter. Obchodování instrumentů ať již burzovních nebo mimoburzovních s sebou nese potenciální velké riziko, nejen výnos a není vhodné pro každého. Rozhodnutí obchodovat je odpovědností každého jednotlivce a jedině on/ ona sám(a) nese za svá rozhodnutí plnou odpovědnost. Nikdy se nepouštějte do obchodů, jejichž podstatě plně nerozumíte. Minulé výnosy nejsou garancí výnosů budoucích.
Komentáře
Okomentovat