Rotační strategie na ETF

rotacniV dnešním trochu delším článku si představíme rotační strategie. Narozdíl od strategií na volatilitu zveřejněných dříve jsou velice jednoduché na pochopení a narozdíl od strategie “90%” nepoužívají tři indikátory, nýbrž pouze jeden. Rotační strategie jsou léty prověřeným nástrojem a používá je řada trpělivých investorů a traderů. O co tedy ve skutečnosti jde?

Jde opět o obchodování “koše”, ovšem ne koše akcií, ale koše ETF, a to typicky ETF, které mají něco společného. Společným rysem může být například zaměření na určitý segment (sektor) trhu, pak mluvíme o sektorové rotaci. V USA mají třeba následující sektorové fondy:

Fond Sektor
XLY Consumer Discretionary
XLP Consumer Staples
XLE Energy
XLF Financials
XLV Health Care
XLI Industrials
XLB Materials
XLK Technology
XLU Utilities

Co musím znát

Pro pochopení této strategie je nutné znát indikátor ROC (Rate of Change). Někdy se mu také říká momentum. Je o primitivní indikátor, který získáte tak, že podělíte současnou cenu aktiva cenou x dnů v minulosti (a získáte tedy přehled o tom, kolik dané aktivum za x dnů vydělalo či prodělalo). Pro zvýšení dramatického efektu lze cenu přepočítat na procenta, ale není to pro naši strategii důležité.

Vlastní strategie

  1. Vezmeme koš akcií (viz např. ten výše) a vypočítáme ROC za nějaké období. Pro jednoduchost budeme uvažovat 20 posledních obchodních dnů.
  2. Vezmeme “vítězný” ETF, tedy ten, který za uplynulých 20 dnů vydělal nejvíce, a koupíme jej. Strategie tedy ve své původní podobě investuje vždy současně do jediného fondu.
  3. Počkáme nějaké období (typicky dalších 20 dnů). A opět provedeme výpočet ROC.
  4. Pokud je námi držený fond neustále vítězem, neděláme nic. Pokud je vítězem jiný fond, ten původní, námi držený prodáme a koupíme ten vítězný.

Jednoduše by se dalo říct, že strategie rotuje mezi vítěznými fondy za posledních 20 dnů. Jak je tato primitivní strategie výkonná, to hezky ilustruje následující obrázek z backtestu v platformě RightEdge.

vysledky

(červeně je buy & hold). Pro strategii jsem využil pouze 95% kapitálu, protože při 100% má RightEdge rozbité pozicování. Test lze samozřejmě provést v libovolné platformě, díky jednoduchosti i třeba v Excelu.

Domácí úkoly

  1. Vyzkoušet jiný koš ETF, například AGG, EFA, IWM, SPY, ZIV (nebo XIV)
  2. Přečíst, co k tématu píše David Vomund v knize “ETF trading strategies revealed
  3. Vyzkoušet, co by se stalo, kdybychom místo jednoho vítězného fondu koupili první dva (na polovic) nebo první tři (na třetiny).
  4. Vyzkoušet, co by se stalo, kdybychom místo testovací periody 20 dnů použili jiné období.
  5. Vyzkoušet, co by se stalo, kdybychom místo obchodní periody (doby držení) 20 dnů použili jiné období.
  6. Vyzkoušet, co by se stalo, kdybychom namísto toho, že koupíme vítězný titul vždy jej koupili pouze pokud v uplynulém období vydělával (neboli, co dělat, když ani jeden z fondů za 20 dnů nevydělal).

Opět přispívám se svou troškou do mlýna a přináším kód, kterým můžete rotační strategie testovat v RightEdge.

Code Snippet
  1. #Region „Imports statements“
  2. Imports System
  3. Imports System.Drawing
  4. Imports System.Collections.Generic
  5. Imports System.Linq
  6. Imports RightEdge.Common
  7. Imports RightEdge.Common.ChartObjects
  8. Imports RightEdge.Indicators
  9. #End Region
  10. #Region „System class“
  11. Public Class MySystem
  12.   Inherits MySystemBase
  13.   Public orderedSymbolScripts As List(Of MySymbolScript)
  14.   Public Overloads Overrides Sub Startup()
  15.     ‚ umoznime prodavat a kupovat on close
  16.     SystemData.EnableTradeOnClose = True
  17.     AddHandler SystemData.BarClosing, AddressOf BarClosing
  18.     ‚zda se, ze RE ma chybu, ktera zpusobi, ze pri vyuziti kapitalu nadoraz to blbne ;-(
  19.     Me.PositionManager.AllocationType = PositionAllocationType.Percentage
  20.     Me.PositionManager.Allocation = 95
  21.   End Sub
  22.   Dim citac As Integer = 0
  23.   Public Sub BarClosing(ByVal sender As Object, ByVal args As NewBarEventArgs)
  24.     citac = citac + 1
  25.     orderedSymbolScripts = SymbolScripts.OrderByDescending(Function(ss) ss.RankValue).ToList()
  26.     ‚seřaď
  27.     For i As Integer = 0 To orderedSymbolScripts.Count – 1
  28.       orderedSymbolScripts(i).LongRank = i + 1
  29.     Next
  30.     If citac = Me.SystemParameters(„holding_period“) Then
  31.       ‚prodej, pokud musíš
  32.       For Each SymbolScript As MySymbolScript In orderedSymbolScripts
  33.         SymbolScript.BarClosingSellLong()
  34.       Next
  35.       ‚nakup, pokud máš co …
  36.       For Each SymbolScript As MySymbolScript In orderedSymbolScripts
  37.         SymbolScript.BarClosingBuyLong()
  38.       Next
  39.       citac = 0
  40.     End If
  41.   End Sub
  42. End Class
  43. #End Region
  44. Public Class MySymbolScript
  45.   Inherits MySymbolScriptBase
  46.   Private myRoc As PriceROC
  47.   Private m_RankValue As Double
  48.   Public Property RankValue() As Double
  49.     Get
  50.       Return m_RankValue
  51.     End Get
  52.     Private Set(ByVal value As Double)
  53.       m_RankValue = value
  54.     End Set
  55.   End Property
  56.   Private m_RankLong As Integer
  57.   Public Property LongRank() As Integer
  58.     Get
  59.       Return m_RankLong
  60.     End Get
  61.     Set(ByVal value As Integer)
  62.       m_RankLong = value
  63.     End Set
  64.   End Property
  65.   Public Overloads Overrides Sub Startup()
  66.     ‚inicializace
  67.     myRoc = New PriceROC(Me.SystemParameters(„testing_period“))
  68.     myRoc.ChartSettings.Color = Color.Orange
  69.   End Sub
  70.   Public Overloads Overrides Sub NewBar()
  71.     ‚ pro kazdy bar
  72.     If Double.IsNaN(myRoc.Current) Then
  73.       RankValue = 0
  74.     Else
  75.       RankValue = myRoc.Current
  76.     End If
  77.   End Sub
  78.   Public Sub BarClosingBuyLong()
  79.     If OpenPositions.Count = 0 And LongRank <= 1 Then
  80.       OpenPosition(PositionType.Long, OrderType.Market)
  81.     End If
  82.   End Sub
  83.   Public Sub BarClosingSellLong()
  84.     If OpenPositions.Count > 0 And LongRank > 1 Then
  85.       For Each c As Position In Me.OpenPositions
  86.         c.CloseAtMarket()
  87.       Next
  88.     End If
  89.   End Sub
  90. End Class
Příspěvek byl publikován v rubrice AOS. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

69 komentářů u Rotační strategie na ETF

  1. Lovec napsal:

    Díky za článek. Rotační strategie jsou mojí doménou a považuji je za jeden z nej nástrojů. Takto jednoduše je to řešitelné, i když ne ideálně. Ale pořád tento přístup považuji za ideální pro většinu obchodníků s rozumným kapitálem.

    Díky za článek a tvojí práci!

    • admin napsal:

      Oh, díky. Už mám v hlavě druhý díl tohoto námětu;-)

      Samozřejmě, že pro „profi“ přístup je toto celkem málo, na druhou stranu pro pochopení strategie to myslím stačí. V zásadě lze experimentovat s …, mno, počkejme na další díl.

      • Lovec napsal:

        Super, jsem zvědav :). Já mám teda vylepšení především z pohledu asset managementu, kde se pracuje úplně jinak. Ale tyhle věci by po pravdě zveřejňoval jen cvok.

        • admin napsal:

          Jasně, to už je ale jiná liga. Zajímalo by mě, čistě teoreticky, jestli rotační strategie používají i „velcí kluci“, myslím, že teoreticky by tomu nic bránit nemělo, že?

          • Lovec napsal:

            No třeba v Kanadě vím o fondu, co používá rotační strategie a má ve správě cca 120M CAD.

        • radim2 napsal:

          Tím asset managementem myslíš alokaci kapitálu a diverzifikaci?

          • Lovec napsal:

            Nn tím myslím přístup k řízení rizika.

            • admin napsal:

              No, a jelikož správa majetku je něco úplně jiného než řízení rizika, vzpomněl jsem si na klasický vtip:

              Používání cizích termitů vede k rizotu vzniku katastrálních fiakrů ;-)

              • Lovec napsal:

                No ono na riziko můžeš nahlížet z více úhlů. Máš riziko trhu, riziko emitenta, riziko korelační, riziko volatility… Všechny tyhle rizika je potřeba ošetřit. Vždycky podle typu strategie je jedno důležité víc a jiné míň. Představ si, když fond jako je BPG drží 40% majetku např. ve SPY. To máš skoro 50M USD. Pokud by emitent SPY padnul, pak by přišli o 40% kapitálu. Tam je potřeba toto riziko řešit. A slovní spojení typu „tahle firma padnout nemůže“ od doby pádu Lehrman Brothers, MFG apod. nevyslovuji :).

                Nicméně běžný trader může v pohodě pracovat i bez řízení těchto rizik. Nicméně v assetu si to nemůžeš dovolit.

                • admin napsal:

                  Právě jsem se v tom dokonale ztratil. Výrazem „v assetu si to nemůžeš dovolit“ máš na mysli „v situaci, kdy spravuješ cizí peníze si to nemůžeš dovolit“, nebo něco jiného?

                  „vylepšení především z pohledu asset managementu“ znamená „vylepšení z pohledu správy cizího majetku“, nebo „vylepšení z pohledu řízení rizika“?

                  Jinak znovu, „asset management“ znamená „správa kapitálu“ a řízení rizika je jen jednou (z mnoha) činností, které při správě kapitálu děláš. Rozumím tomu správně?

                  • Nobody napsal:

                    taky: správa a řízení aktiv. Řízení rizika tam přímo nespadá.
                    Ale je to už trošku akademická debata :)

                    • admin napsal:

                      Nechtěl jsem rýt, jen to šlo pochopit více způsoby a když nevím, tak se zeptám ;-)

                  • Lovec napsal:

                    Omlouvám se za nepřesnost. Jde samozřejmě o principy, které je potřeba aplikovat při správě cizího majetku. Mám tím na mysli např. hedge fondy apod. Myslím tedy fondy, co to dělají dobře :).

            • radim2 napsal:

              Ono to patří vše do asset managementu :)

  2. biker napsal:

    Rotačín strategie je základ mého portfolia. Používám ETF místo na sektory na akcie z různých regionu včetně ETF na dluhopisy (TLT) – celkem vybírám ze 7 ETF fondů. Výsledek za posledních 10 let je výnos 29% p.a. při max 20% DD. Co je za posledních 60 dní nejlepší koupím a držím následujících 22 obchodních dní.

    • admin napsal:

      To je komentář jak hrom. Pokud to není tajný, můžeš se podělit o nějaké obchody (třeba loňské) aby měli čtenáři představu? Předem dík, pokud by to šlo … ;-)

      • biker napsal:

        Vybírám mezi 7 ETF – MDY, FEZ, ILF, EEM, ILF, TLT a SHY (nebo hotovost) – to, co je za posledních 60 dní nejlepší, koupím a držím 22 obchodních dní. Kapitál mám rozdělený na 4 díly a strategii aplikuji 4x měsíčně. Pošleš-li mi mail, pošlu Ti vývoj equity line.

        • biker napsal:

          …namísto druhého ILF je EPP. Ideální je realizovat rotaci každý obchodní den, ale vzhledem k mému pracovnímu vytížení ji realizuji 4x měsíčně.

          • Nobody napsal:

            to biker: to by znamenalo kapitálu na 22 dílů, rozumím-li správně.

          • foglik napsal:

            Strategie je tak primitivní a na vyhodnocení jednoduché, že by neměl být problém ji aplikovat denně.

            • foglik napsal:

              Ještě jeden poznatek – pokud rozdělíš kapitál jen na 4 díly, obchoduješ jednou týdně (tj. cca 4x měsíčně;)), pak mi kapitál při délce držení 22 obchodních dní nebude stačit, protože první týden nakoupím 1/4 (tj. 7 dní, resp. 5 obchodních), druhý týden … čtvrtý týden 4/4 (tj. 28 dní, resp. 20 obchodních), pátý týden nemám koupit za co (první nákup musím držet ještě dva obchodní dny) nebo nakupuju až v půlce patého týden – tím se mi to bude neustále posunovat.

              A to jsem nepočítal se svátky:)

              • admin napsal:

                Jo, je to trochu zmatečný. Buď se nechce podělit, nebo to v reále neobchoduje, nebo to v reále neřeší ;-)

                • biker napsal:

                  V reálu to neřeším. Jak jsem psal, strategii obchoduji zhruba co 7 dní. Doporučuji si udělat nejdříve backtesty všech 22 potenciálních dní. Pak zjistíš, že v horizontu 10 let všech 22 možných cyklů vykazuje výrazně silnou korelaci, proto jsem se strategii z časových důvodů zjednodušil a omezil jsem se jen na zhruba 4 obchodní dny v měsíci. V jednoduchosti je zkrátka krása :-) A reálné výsledky pro mě dostačující.

                  • Anonym napsal:

                    Koukám ze druhy dil už je skoro zbytečné publikovat ;-) je to tak, je to velmi robustní strategie.

        • admin napsal:

          Díky za doplnění. Equity posílat netřeba, z popisu jednoduše otestuju. Něco mi to připomíná, nebylo něco podobného někde na webu zveřejněno?

          • hary napsal:

            Mně to připomíná strategii Franka Grossmanna zveřejněnou na seekingalpha..Asi to bude ono, protože instrumenty sedí a ten popis zřejmě taktéž. Mělo by tedy jít o jeho Global Market Rotation Strategy, nicméně na SA uvádí annualized return 41,4 %.

            Tuhle strategii mám u sebe v excelu poznamenou, spolu s ještě pár dalšími, ale zatím nebyl pořádně čas na backtest..:-)

            Jak dlouho to, biker, jedeš live tuhle strategii, smím-li se zeptat?

            • hary napsal:

              Omlouvám se, nějakým nedopatřením jsem nedočet poslední dva bikerovy příspěvky. Tudíž ten svůj předcházející post beru zpět :D

            • biker napsal:

              Je to možné. Strategii jsem získal od známého a ten to mohl mít ze SA. Mám to v excelu i s backtesty, strategie je velmi robustní. Live to jedu 6 měsíců stejně jako strategii 90%.

              • Nobody napsal:

                to biker: ta jednodenní varianta bez automatu, to musí být teda nařez :(. Představa, že budou ETF silně závodivý a já první den koupím x, druhý den y, třetí den z, čtvrtý den zase třeba x, pak z, pak x…..u postupně u nich budu sledovat data koupení??
                Nebo mi něco uniklo? Díky.

        • Marcel napsal:

          to biker: Mozem sa opytat podla coho posudzujes ktore ETF je za poslednych 60 dní najlepsie? Tak ako je uvádzané v clanku – indikator ROC (60)?
          Vdaka za odpoved.

          • admin napsal:

            Řekl bych, že myslí ROC(60), třeba se ozve.

            • Marcel napsal:

              Pytam sa preto, lebo som zacal tuto strategiu backtestovat od roku 2004 s ETF ktore uvadza biker podla ROC (60) a za prve tri roky su vysledky o dost horsie ako vysledky strategie v rokoch 2004 – 2006 ktore som nasiel na nete ako vysledky testu F. Grossmanna . Hlavne 9mesiacov trvajuci DD v roku 2004 a profit cca 10% v rokoch 2004 a 2006 sa mi velmi nepozdavaju.

              • biker napsal:

                Nepoužívá se žádný indikátor. Vydělím dnešní hodnotu s hodnotou D-66.

                • Marcel napsal:

                  Vdaka, otestujem aj toto a porovnam s ROC.

                • Marcel napsal:

                  to biker: Dnes som otestoval roky 2004 – 2006 a dostal som vysledky +8,27% , +41,03% + 12,27%. Signály pre vstup podla ROC (60), vstup 1x tyzdenne , trvanie obchodu 28D.
                  Mohol by si pre porovnanie prosim uviest tvoje vysledky v tychto rokoch?
                  Vdaka.

                  • hary napsal:

                    Teď jsem se koukal do excelu na backtest, co jsem dělal někdy před měsícem a od dubna 2006 do konce r. 2013 mi vyšlo CAGR 21,04% a MaxDD 19,17%, pokud správně koukám. Jako lookback period jsem bral 3 měsíční performance a realokováno bylo vždy k 1.dni měsíce. To znamená, že poslední den měsíce jsem spočítal performance a na další den na OPEN byl nákup. Ale dělal jsem to jen v rychlosti na zkoušku, takže jsem ještě nezkoušel ani jiný parametry nebo prostě jen rovnou nakupovat/prodávat na CLOSE měsíce (už ani nevim, proč jsem to dělal na OPEN následujícího dne). Určitě by to chtělo ještě odladit a vyzkoušet trošku jiný periody. Mám to v plánu :-)

                    Ale zkus si udělat test na to samý období, akorát změň dobu držení na 1 měsíc při ROC(60) nebo např ROC(64). S tím jsem počítal já. Třeba docílíš o něco lepších výsledků ;-)

                    • Anonym napsal:

                      hary: najvacsi problem mam s tym, ze ked spravim 1 obchod mesacne tak dostanem vysledky cca 25 perc./pa. Ale ked si kapital rozlozim koli diverzifikacii na 4 casti a kazdy tyzden otvorim 1 cast podla takych istych pravidiel ako ked robim 1obchod mesacne a dlzka obchodu je taka ista tak dostamem vykonnost cca 15 perc./pa. Nerozumiem tomu preco tyzdenne otvaranie natolko znehodnoti vysledky. Prosiel na to niekto?

                    • Marcel napsal:

                      to biker, hary: Môžem sa opytat s akymi datami testujete – zdroj, adj/neadj? Myslim , ze data mozu sposobovat dost velke rozdiely vo vysledkoch.
                      Diky

                  • hary napsal:

                    Marcel:
                    Používám data z YAHOO. (P)ROC počítám z adjustovaných dat a samotný vstupy/výstupu pak na historických OPEN(CLOSE), takže neadjustovaná data. Ale neobchoduji zatím živě žádný rotační strategie, takže to ber všechno s rezervou. Biker snad poví víc. V týdnu zkusím otestovat rozdílný periody, tak pak kdyžtak napíšu výsledky.

  3. Lovec napsal:

    Já se podělím o skvělý zdroj informací k tomuto:

    http://bpgassociates.com/docs/Adaptive-Asset-Allocation-A-Primer.pdf

    http://bpgassociates.com/docs/Darwin-Strategies-Brochure.pdf

    Ještě výsledek fondu, co jede na rotacích:
    http://bpgassociates.com/docs/2014-08-30-Darwin-Monthly-8-Volatility.pdf

    Já sám se při vývoji hodně hrabu v research od různých fondů, univerzit apod. Považuji to za vynikající zdroj informací.

    Pokud bys chtěl napsat článek o materiálech co doporučuješ, bylo by to bezva :)

  4. Mirek napsal:

    Zajímavé je období 2005-2008 kdy výsledky strategie +- kopírují index. Dramatická odlišnost mezi výsledky rotační strategie vs indexu začíná až po roce 2008. Čím si to vysvětluješ? Dělal jsi testy i více do historie?

    • admin napsal:

      Dělal, a už je napsaný i druhý díl seriálu. Ale to, na co se ptáš je otázka „za milión“, odpověď fakt nevím. I když se snažím dělat testy daleko do historie, v roce 2008 se zdá, že nastal nějaký zlom a od té doby se trhy zkrátka chovají jinak. Netuším proč, ale tahle otázka mě provází prakticky u všech strategií co mám …

      • Djm napsal:

        Obchodoval jsem akciové páry a behem backtestu jsem take pozoroval tuhle zmenu v chovani trhu co se stala po r. 2008 – je do oci bijici jak hodne se zvysila korelace (i nesouvisejicih) akcii mezi sebou. Od r. 2008 uz to vypada, ze zhruba koreluje vsechno se vsim bez ohledu na to o jaky titul jde a z jakeho je sektoru/industry. Proc to tak je, to by me take zajimalo, ale zatim na to nemam odpoved.

        • admin napsal:

          Přesně tak, páry nebo triplety se kvůli tomu v podstatě nedají obchodovat. Je to děs. Asi to nějak souvisí s pokřivenou strukturou trhu po tom napumpování likvidity …

          • radim2 napsal:

            To zní jako nejpravděpodobnější vysvětlení. Po výplachu, kdy se prodávalo ostošest a hromadila se hotovost přišlo další napumpování peněz a ty peníze bylo třeba někam zainvestovat. A do nemovitostí to tenkrát nemělo moc smysl.

  5. labros napsal:

    Dobrý den. Pokouším se ověřit výsledky výše uvedené rotační strategie na XLY,XLU,…XLP v období 2005-2014 v programu AmiBroker s historickými EOD daty z Yahoo a nemohu se ani zdaleka dopídit srovnatelných výsledků s grafem nahoře. Bylo by možné uveřejnit nebo mi posalt na email seznam obchodů, abych si to mohl porovnat a zjistit, co dělám jinak, prosím?

    • admin napsal:

      Pošli sem výsledky, třeba se to někdo pokusí ověřit…

      • labros napsal:

        Už jsem na to asi přišel. Hodně totiž záleží na tom, kdy se dělá rotace. Řekněme, že rotuji každý dvacátý obchodní den: (BarIndex % 20 == 0), dostanu strategii s výsledky CAGR=11%, maxDD=-42%. A teď rotuji stejně často, ale o 7 dní později: ((BarIndex + 7) % 20 == 0), dostanu strategii s výsledky CAGR=-2%, maxDD=-78%. To je dost rozdíl. Takže pozor při testování rotačních strategií. Výsledky mohou být dost citlivé na posun v rámci intervalu rotace. Přikládám odkaz na výsledky: a

        • admin napsal:

          Aha. Já se musím přiznat, že jsem měl napsaný druhý a třetí díl na rotační strategie a že jsem je oba smazal. Nějak nevím, jak s těmi rotacemi dál, aby to bylo pochopitelné pro všechny čtenáře. Jinak pokud se Ti to chová tak, jak popisuješ, tak to není robustní a někde jsme udělali chybu. Ještě to budu zkoumat …

          • labros napsal:

            Já bych neházel flintu do žita. Třeba dělám někde chybu já (nebo AmiBroker). Zkus to samé v RightEdge jestli najdeš stejnou citlivost na posun dne rotace. Určitě na ale na symbolech XLx nemá rotace velký smysl, protože jsem všechny dost korelované. Nadějnější budou určitě AGG, EFA, IWM, SPY, ZIV. Já jsem zatím nejzajímavější výsledky dosáhl při rotaci na páru SSO, EDV, ale citlivost na posun tam je taky dost velká.

      • labros napsal:

        Ještě jednou ty výsledky:
        výsledek 1 ,
        výsledek 2

  6. labros napsal:

    Kam? Nikde tady nevidím možnost přiložit soubor. Můžeš mi poslat krátký email a to hodím v odpovědi do přílohy.

  7. Pingback: Příspěvky odjinud – Rotační strategie nebo kolo štěstí? | Akcie

    • Kolous napsal:

      Ahoj, před pár dny jsem začal programovat backtest této modifikace s adaptivní alokací: http://www.logical-invest.com/new-enhanced-global-market-rotation-strategy-adaptive-etf-allocation/ (stránky p. Grosmanna autora GMR)
      Ještě nemám žádný použitelný výsledky. Jsem se nějak zamotal do výpočtu sharpe ratia dvou aktiv a zatím mi to nevychází…

      • Honza napsal:

        Ja ji zacnu testovat az cca za 2 mesice, ted absolutne neni cas..
        Muzes pak dat vedet, jaky jsi mel vysledek?

        Nevim, co presne mas za problem se sharp ratio, ale nedalo by se pouzit tohle?
        https://class.coursera.org/compinvesting1-003/lecture/11

        • Kolous napsal:

          Jasný, na tomhle nic není. Pokud se počítá sharpe ratio portfolia pro jednotlivé podíly akcií a dluhopisů je výpočet trošku složitější: http://business.missouri.edu/yanx/fin333/lectures/Riskyportfolio%20short.pdf
          Chápu to, jen mi z toho lezou špatný čísla…jedu na pár dní na služebku, tak to potom odladím ;-)

          • foglik napsal:

            Co přesně ti vychází špatně? Prolítl jsem to pdefko a nějak jsem z něho nepřišel, kde je zahrnut ve výpočtu Shape Ratio ten „f=volatility factor“ jak je uvedeno v tom tvojem prvním odkazu. Jinak by to mělo být v pohodě – excel – nevím v čem to programuješ.

            • Kolous napsal:

              Volatility factor je jenom umocnění odchylky…. sharpe = zisk / power(odchylka,volatilityFactor).
              Dělám to v Matlabu a čím víc do toho čumím, tak se mi zdá že mi to počítá správně :O
              Jesli by se v tom někomu chtělo pošťourat: Vypočítám sharpe akciových ETF. Vyberu jejlepší a spočítám sharpe všech poměrů s TLT. a to držím měsíc. LoockbackPeriod = 67; volatilityFactor = 1.9; Nepletu do toho zatím SHY ani cash.

              2007-12-31 FEZ 0%, TLT 100%
              2008-01-31 ILF 0%, TLT 100%
              2008-02-29 ILF 100%, TLT 0%
              2008-03-31 ILF 0%, TLT 100%
              2008-04-30 ILF 100%, TLT 0%
              2008-05-30 ILF 100%, TLT 0%
              2008-06-30 ILF 100%, TLT 0%
              …..
              2014-05-30 EPP 10%, TLT 90%
              2014-06-30 EEM 80%, TLT 20%
              2014-07-31 EEM 90%, TLT 10%
              2014-08-29 ILF 90%, TLT 10%
              2014-09-30 MDY 0%, TLT 100%
              2014-10-31 MDY 0%, TLT 100%
              2014-11-28 MDY 0%, TLT 100%
              2014-12-31 MDY 10%, TLT 90%

              On má jako prvního vítěze MDY….ale když koukám na hondnoty (ceny 2007-12-31)-(ceny 2007-12-31-lookBackPeriod) pro hodnoty 40-70 tak jsou všechny mínusový.

              Navíc většinou mi to vychází 0 nebo 100. částečně je to jen v minimu případů. Jsem buď jelito nebo nás tak trochu bulíkuje ;-)

            • Kolous napsal:

              To PDF je obecný, není tam zahrnut volatilityFactor a Grosmann zase nebere v potaz risk free rate (není na to ani potřeba).

      • Kolous napsal:

        Tak hurá, docela ptákovina ale musel jsem rozebrat celej program.

        Každý měšíc rebalancuji (resp. musí se určit velikost pozice když se přechází na jiný ETF) tak, že vezmu nějakou fixní částku co je vyčleněná na strategii a za ni koupím maximum akcií co jde za aktuální cenu: floor(prachy na strategii/cena aktiva*vaha) ….berme vaha=1 (budeme pracovat jen s jením aktivem). Tohle má za následek, že když se cena propadá, tak se počet akcií zvyšuje a když cena roste, tak naopak snižuje. Čili propady se prohlubují a zisky se tlumí.

        Udělal jsem graf pro ilustraci na MDY (od začátku 2008): http://jyxo.info/uploads/95/95504508fed25993a84a18c912892ee7b2fec5b3.png
        Modře je graf vývoje ceny MDY. Červeně je buy&hold MDY s měsíčním rebalancováním, oba grafy jsou normalizované. Spodní graf ukazuje počet držených akcií.

        Otázka na na zkušenější kolegy zní jak stanovovat každý měsíc počet akcií pro nákup pro rotační strategie? Můžu např. stanovit fixně na začátku backtestu(moc se mi to nelíbí). Jak potom určit kolik akcií je základ pro každé ETF, když vybírám třeba z pěti? Potože při vzájemných pohybech cen bude celý backtest velmi záležet na měsíci od kdy se začne počítat. Jak jste to kdo řešili?

  8. Peter napsal:

    pochvala za skvely clanok, chcem sa spytat ci budes robit aj to slubene pokracovanie, bolo by to super

    • admin napsal:

      Tenhle článek je zakletý. Už měsíce se chystám napsat pokračování, ale nemůžu se k tomu dokopat. A v těch rozepsaných jsou matematické chyby, nebo ty strategie nedávají smysl, takže s tím je veliká potíž. Je to moje noční můra. Třeba to dopíše někdo jiný…

  9. Pingback: Backtestnig / Testování a jak na něj (1/6) | Akcie

Napsat komentář

Vaše emailová adresa nebude zveřejněna.