Strategia 3S – taktyczna selekcja najsilniejszych sektorów

Kolejny wywiad! Tym razem z Arturem Wiśniewskim na portalu Stockbroker.pl – bardzo dziękuję za rozmowę, cieszę się, że temat inwestowania algorytmicznego zainteresował, mogłem sporo opowiedzieć.

Wspominałem tam, że pracuję właśnie nad strategią inwestującą w sektory na rynku akcyjnym – i niniejszy wpis jest pierwszą, nieśmiałą próbą takiego właśnie podejścia. Z pewnością nie ostateczną, ale z wynikami już na tyle ciekawymi, że wartymi omówienia.

Wywiad był na tyle fajny (opowiedziałem praktycznie wszystko, co uznałbym za istotne na start), że wrzucam go na stronę bio. Zachęcam do obejrzenia.

Literatura i badania wstępne

Zwykle prace nad nową strategią zaczynam od przeglądania istniejących rozwiązań na ten temat. Kiedyś tylko ręcznie (prace naukowe, publikacje prasowe, blogi), ale dziś idealnie pomaga w researchu model językowy (LLM). Dość mocno się zdziwiłem, że tak samo jak ja… ma on spore problemy ze znalezieniem wielu źródeł na ten temat. Temat jest mało eksploatowany, czyli albo mało jest zainteresowanych, albo… jest trudny.

Z moich przeszłych zmagań z sektorami obstawiałbym, że jednak jest po prostu trudny.

Na pewno poszukującym polecam Quantpedię (zbierają dużo artykułów na temat konkretnych strategii) – nawet nie jakąś jedną gotową strategię, ale żeby zacząć od przykładowej, a później: + source papers + related papers na dole strony. W ten sposób da się odkryć wiele ciekawych pomysłów. W tej konkretnie tematyce wybieram dwa:

[Sector Momentum – Rotational System – Quantpedia]

oraz [Industry Momentum – Riding Industry Bubbles – Quantpedia]

A z nich konkretne prace, które warto przejrzeć, to:

Wyniki kilku wybranych artykułów i wariantów

Postanowiłem odtworzyć wyniki części z powyższych artykułów. Wybrałem kilka przykładowych strategii + ich wariantów (w niektórych są różne proponowane, np. z hedge’owaniem pozycji szerokiego rynku lub bez), i poprosiłem LLMa żeby wygenerował mi ich linie kapitału. Wynik takiego ćwiczenia przedstawiam poniżej.

Wyniki wybranych strategii sektorowych z artykułów na SSRN
Wyniki wybranych strategii sektorowych z artykułów na SSRN. Uniwersum ETFów: główne sektory na amerykańskiej giełdzie wg GICS. CAGR to średnioroczna stopa zwrotu, DD to maksymalne obsunięcie. MAR to relacja CAGR/DD.

Do backtestów użyłem uniwersum głównych 9 sektorów wg klasyfikacji GICS, czyli ETFów: XLY (consumer discretionary), XLP (consumer staples), XLE (energy), XLU (utilities), XLV (health care), XLF (finance), XLI (industrials), XLK (technology). Brakuje sektora XLC (communications), który wydzielony został w ostatnich latach, i XLRE (real estate).

Jak nieźle widać – wyniki nie różnią się jakoś skrajnie mocno od zwykłego „kup i trzymaj” indeksu akcyjnego (S&P500 na pomarańczowo). Największa różnica to (czasem istotnie) mniejszy drawdown w niektórych podejściach, zwykle tych korzystających z jakiejś formy hedge’owania ryzyka akcyjnego, na przykład 10-miesięcznej średniej kroczącej ceny jako filtra czy warto być zainwestowanych, czy nie. To np. te strategie z końca, o najmniejszych obsunięciach i przez to najbardziej korzystnych miarach MAR (ale też o nieco słabszej stopie zwrotu).

Najlepiej sobie radzi bardzo proste, taktyczno-alokacyjne podejście opisane przez Meba Fabera już w 2010 roku w jego (dość słynnej już) pracy, w której swój framework GTAA (Global Tactical Asset Allocation) zastosował po prostu do uniwersum sektorów akcyjnych.

Bardzo lubię proste podejścia alokacyjne (bez zbytniego komplikowania), biorę więc na warsztat tą konkretnie strategię i od niej będę wychodził w dalszej części artykułu.

Strategia sektorowa Fabera

Prawdę powiedziawszy, Faber w pracy Relative Strength Strategies for Investing (SSRN: 1585517) podaje kilka różnych wariantów swojej strategii sektorowej:

Ten trzeci wariant z powyższych zastosowałem poniżej.

Faber w pracy opisuje też dokładnie wyniki topX sektorów, gdzie X to to liczba od 1 do 9; wybrałem X=3, bo wyniki takiej strategii były sensowne, i intuicyjnie wydaje mi się to dobry podział w uniwersum 10 całkowitych sektorów, żeby nie przeważać zbyt mocno jednego sektora (dywersyfikacja), ale też i nie rozdrabniać się zanadto.

Nie optymalizowałem tego wyboru i nie uważam, żeby było warto.

Warto też zauważyć, że w chwili publikowania tej pracy, nie istniał jeszcze sektor communications XLC jako osobna duża kategoria, i w ogóle, że operuję tutaj sektorami wg klasyfikacji GICS, o których pisałem wcześniej, a Faber klasyfikacją Fama-French, która jest inna.

GICS wybieram po prostu dlatego, że są do niej łatwo dostępne, niedrogie ETFy (TER < 0.10%). Baza danych Fama-French jest z kolei wygodniejsza do badań akademickich, bo są dostępne dość szczegółowe dane sektorowe i przemysłowe za ponad 100 lat rynku amerykańskiego. Różnice między tymi klasyfikacjami są, choć nie są kolosalnie duże.

Flowchart

Rzuć okiem na flowchart, prezentujący logikę strategii.

flowchart strategi sektorowej Fabera z 2010

Dla tak przygotowanej logiki można stworzyć krzywą kapitału, i porównać ją ze zwykłym buy&hold. To zaprezentuję za chwilę, wcześniej jednak chciałbym wprowadzić jedną ważną modyfikację.

Modifykacja 1: branże i podbranże

Kilka tygodni temu pisałem o liście ETFów sektorowych i tematycznych, które są dziś łatwo dostępne dla inwestora, i chciałbym zrobić z tej listy użytek. Dlatego dodaję też pierwszą ważną modyfikację strategii sektorowej Fabera: do 10 głównych sektorów, dołączam też 50 ETFów podsektorowych: grup branżowych, branż i pod-branż (ang. industries and sub-industries), żeby łącznie algorytm wybierał spośród łącznie 60 dostępnych dziś ETFów.

To z jednej strony da mi ekspozycję na bardziej skoncentrowane hossy tematyczne (np. niedawna zgrzewka na biotechnologii, XBI, czy aktualnie trwająca hossa półprzewodnikowa, SMH), z drugiej daje elastyczność w przyszłości: wraz z tym, jak nowe ETFy staną się dostępne, będzie można wygodnie dodawać je do obecnej listy, rozszerzając uniwersum na coraz głębsze warstwy rynku akcyjnego.

Żeby nie tracić jednak głównej zalety, jaką jest podział na sektory, zdecydowałem się na taką logikę: wybór 3 sektorów (głównych) pozostaje bez zmian, ale wybór już konkretnego ETFa z tego sektora to kolejna warstwa powyższego flowchartu: wybierasz najsilniejszy ETF z tego sektora.

Lista wybranych ETFów: sektorowych, podsektorów i branż.
Uniwersum wybranych ETFów: sektorowych, podsektorów i branż.

Przykład: gdy wybierzesz np. sektor energii (XLE), sprawdzasz momentum wszystkich podsektorów i branż w tym sektorze (na ten moment: OIH, XOP, CRAK, AMLP i COAL + wyjściowy XLE, który też może być akurat najlepszy w zestawie), i wybierasz do portfela te 2 ETFy o najsilniejszej stopie zwrotu.

Dlaczego tylko 2? Można oczywiście więcej, ale przy 3 sektorach * 2 ETFy → to już daje po 6 ETFów w portfelu. Czyli niemało. Jakby wybierać 3 to byłoby 9 ETFów, i tak dalej. Żeby nie robić w portfelu miazgi, tj. żeby było to praktyczne, myślę że sensownie jest ograniczyć do tych sześciu.

Druga sprawa to zwróć uwagę, że sam główny ETF sektorowy (XLE, XLK, XLY itd.) też jest wśród możliwych wyborów, więc jak akurat żaden subsektor nie dominuje, to w portfelu i tak znajdzie się wyjściowy sektor.

Czyli z powyższego flowcharta, zielony blok (alokacji sektorowej) rozbija się na dodatkowe sprawdzenie podsektorów i branż.

W ten sposób otrzymujemy wykres poniżej. Niebieska krzywa to jest oryginalna strategia sektorowa pomysłu Faber’a (na 10 sektorach głównych GICS, bez nieruchomości, wg flowchartu z góry). Czerwona krzywa to moja modyfikacja: poza 10 sektorami, uwzględniam też 50 podsektorów i branż, mają łącznie uniwersum 60 ETFów.

Strategie sektorowe – 2 warianty: Faber z 2010, i dodane podsektory i branże.
Sektorowa strategia siły relatywnej (Faber 2010) na niebiesko vs buy & hold (pomarańczowa). Dodany także wariant z podsektorami i branżami (60 ETFów) na czerwono. Wyniki w USD.

Modyfikacja 2: indeks dyfuzji OECD CLI jako filtr trendu

Jak widać, wynik vs indeks jest ok, ale nic szczególnego. Po co się męczyć, jak można podobe rezultaty osiągnąć jednym prostym ETFem?

Odpowiedź jest dwojaka: po pierwsze, zyskujemy coś, czego w tak krótkich danych jak obecne ~20 lat nie widać najlepiej: dywersyfikację. Przez ostatnie kilkanaście lat indeks S&P500 staje się coraz bardziej skoncentrowany, co być może jest dobre, ale może też stanowić ryzyko, jeśli kiedyś w przyszłości sektor technologii dozna podobnie silnej bessy co w latach 2000-03. Ten algorytm sektorowy może zmitygować ryzyko takiego przypadku, dając jednocześnie ekspozycję na inne sektory, które być może wtedy radziłyby sobie lepiej.

Skoro można mieć praktycznie ten sam wynik, ale w podejściu bardziej przygotowanym na trudniejszy scenariusz, to mnie to przekonuje.

Druga sprawa to odfiltrowanie bessy. Średnia 10-miesięczna to już niezły filtr, ale bardzo nieidealny, i radzący sobie gorzej szczególnie w ostatnich latach – co nieźle widać na pierwszym wykresie, gdzie porównywałem różne strategie sektorowe między sobą. Te z MA10 jako filtrem miały najlepsze wyniki kilkanaście lat temu (szczególnie gdy uniknęły silnej bessy w 2008), ale obsunęły się na praktycznie koniec stawki dziś. Czy można znaleźć jakieś lepsze narzędzie reżimów ryzykowny / ostrożny?

Przechodzimy do mojego ulubionego wskaźnika tego typu, jakim jest indeks dyfuzji OECD CLI. Pisałem już o nim przy okazji strategii taktycznej Global Growth Cycle Enhanced. Czy w przypadku strategii sektorowej też przyda się jako filtr trendu?

Odpowiedź brzmi: tak!

Strategia 3S – pełne wyniki

Dlaczego nazwa „3S”? Bo to selekcja silnych sektorów, poza tym dobieram 3 główne sektory w każdej iteracji pętli miesięcznej.

Poniżej do poprzedniego wykresu dołożyłem dwie krzywe: zielona to OECD CLI jako filtr trendu nałożony na strategie na samych 10 sektorach, a fioletowa to nałożenie go na pełną, 60-ETFową wersję z branżami i podsektorami.

Strategie sektorowe – 4 warianty: Faber z 2010 + dodane podsektory i branże + filtry trendu z danych OECD CLI.
4 warianty strategii sektorowych: od najprostszej (Faber 2010) do jej strategii 3S, z dwiema modyfikacjami względem pierwotnej. Wyniki w USD.

Otrzymany wynik strategii 3S to 11,7% CAGR przy drawdownie -17,3%, co daje MAR na poziomie 0,67.

To wynik bardzo dobry (podobny MAR zresztą do innej strategii, którą opisałem niedawno, czyli momentum akcji polskich).

Dla porównania buy&hold indeksu S&P500 w tym czasie: 8,1% CAGR, obsunięcie –50,8%, MAR 0,16.

Statystyki

Poniżej tabela prezentująca wyniki i kilka ciekawych statystyk wszystkich 4 wariantów powyżej

StatystykaSector Relative Strength (Faber 2010)SRS + subsektory
(modyfikacja 1)
SRS + OECD CLI (modyfikacja 2)Strategia 3S (2026)
CAGR7,6%7,5%10,5%11,7%
Max obsunięcie (maxDD)-26,0%-26,0%-19,1%-17,3%
Sharpe0,590,611,101,12
Profit factor1,671,582,552,59
MAR ratio0,290,290,550,67
Ulcer Performance0,880,793,013,05
Średni czas trzymania ETFa (łącznie)28,7%10,1%18,4%6,6%
Czas w rynku
(alok. akcyjna)
89,7%89,7%52,7%52,7%

Flowchart pełnej wersji

Pełny flowchart zmodyfikowanej wersji wygląda teraz tak.

Kreskowaną linią zaznaczyłem powyższe modyfikacje: modyfikacja 1 dotyczy dodania subsektorowych i branżowych ETFów (po wyborze sektora do portfolio), modyfikacja 2 to dodanie pętli określenia reżimy rynkowego (risk-off to przejście na bezpieczne aktywa i nie analizowanie dalej, czerwony blok na górzej po prawej, risk-on oznacza kontynuację schematu wyboru sektorów).

flowchart strategii selekcji sektorowej (3S) z 2026 roku.
Flowchart strategii selekcji sektorowej (3S). Modyfikacje 1 i 2 pokazane względem wyjściowej strategii (Faber 2010).

Porównanie na mapie wyników funduszy

Ostatni wykres, jaki przygotowałem to porównanie wyniku strategii z niektórymi już wcześniej opracowanymi (jak Dual Momentum i GGCE) na mapie pełnych wyników funduszy TFI.

Żeby wynik był sensownie porównywalny, przekształciłem jeszcze powyższe krzywe o kurs USD/PLN, bo wszystkie inne strategie na mapie są też tak samo unormowane. Uwzględniłem też tylko wyniki w okresie od końca 2019 do końca maja 2026. Stąd inne statystyki niż te otrzymane powyżej, od 2000 roku.

Mapa wyników funduszy + pasywne + algorytmiczne, w tym sektorowe (Faber, 3S)
Mapa wyników funduszy (TFI + indeksy pasywne) z zaznaczeniem strategii: algorytmicznych: podstawowej Dual Momentum, Global Growth Cycle Enhanced i najnowszych, sektorowych. Na osi poziomej wynik średnioroczny CAGR, na osi poziomej maksymalne obsunięcie maxDD. Wszystkie wyniki w PLN, za okres 2019-12-31 do 2026-05-31.

Dyskusja

Wyniki są obiecujące. Oczywiście wynik ostatnich ~6.5 lat (17,8% CAGR przy -17% maxDD dla strategii 3S) trzeba traktować jako wyjątkowo dobry, nie jako benchmark na przyszłość. Odzwierciedla po prostu rewelacyjny czas rynków akcji w ostatnim czasie i trwającą silną hossę.

Wyniki długoterminowe bliższe powinny być wersji podanej wcześniej, od 2000 roku: około +12% CAGR przy -18% do -26% maxDD.

Dla mnie największą zaletą jest jednak fakt, że można w przyszłości dodawać kolejne ETFy subsektorowe, a nawet tematyczne (pod odpowiedną branżę). I w ten sposób uczestniczyć w trwającej obecnie rewolucji ETFowej, w której koszyki spółek o coraz bardziej wymyślnych charakterystykach są łatwo dostępne i (zazwyczaj) dość tanie do kupienia.

Wyniki wersji 60-ETFowej są trochę lepsze od prostszej, wersji 10-ETFowej na głównych sektorach (+1.2% CAGR za 26 lat danych), ale szczególnie w ostatnich latach silnej hossy i uruchamiania nowych ETFów jest zauważane (+2.8% CAGR za ostatnie 6 lat). Warto pamiętać, że wiele ETFów w bazie ma dość krótką, kilkuletnią historię, można więc domniemywać, że w przyszłości ten outperformance będzie grał większą rolę (i większa kolekcja branż i pod-branż będzie dostępna).

Dla mnie szczególnie istotne, że wynik strategii 3S trafia na tzw. „pierwsza linię” wyników funduszy – czyli nie ma strategii lepszej na górze i po prawo od jej wyniku, miara o której pisałem niedawno przy okazji Miary przewagi funduszy.

Choć warto zaznaczyć, że nawet podstawowa wersja strategii siły reatywnej sektorów, opisana przez Meba Fabera już w 2010 roku, ma się w tym względzie nieźle i jest w czołówce wyników z CAGR +12,4% i maxDD 17,7%.

Modyfikacje w postaci dodania subsektorów i uwzględnienia indeksu dyfuzji OECD CLI dodatkowo poprawiają jej wynik, i to właśnie stanowi najważniejszy dodatek opisanej tutaj strategii 3S.

Wynik za ostatnie 6 lat bardzo blisko odtwarza wynik strategii GGCE, która ma jednak filozofię mocno inną (inwestuje zamiennie w indeksy szerokiego rynku, SPY lub VXUS). Dla mnie stanowi jednak dużą wartość, że jest podejście strategii sektorowej jest inne – i daje nadzieję, że w przypadku słabszego zachowania szerokiego rynku w przyszłości (np. indeksu S&P500), możliwe będzie wychwycenie innych sektorów, innych branż, które być może w tych czasie będą silniejsze.

Jak zawsze – zachęcam do własnych prób, eksperymentów, i replikacji wyników. Śledzenia literatury, ale odtwarzania jej wyników samodzielnie. To, co tu przedstawiłem, to tylko moje wyliczenia na własne potrzeby, z moim horyzontem inwestycyjnym i celami inwestycyjnymi. Twoje mogą być inne. W razie zainteresowania tematem – chętnie pomogę, podzielę się kodem, etc. Daj znać i powodzenia!


To jest wpis #23. Zapraszam do kolejnych. Jeśli chcesz z czymś się nie zgodzić, zaprotestować – pisz śmiało w komentarzach.

5 1 głos
Ocena artykułu
Subskrybuj
Powiadom o
guest
4 Komentarze
Najstarsze
Najnowsze Najwięcej głosów
Andrzej Pluta
18 godziny temu

Artykul pewnie dobry,jesli system osiaga takie wyniki niestety jestem nowy na tym polu, nie do konca zrozumiałem. Przeczytam jeszcze raz, zobaczę, Gratuluje autorowi, Pozdrawiam Andrzej Pluta, Rzeszow

Krzysztof
Krzysztof
11 godziny temu

Bardzo ciekawe. Jakie źródło danych aby llm mial nad czym pracować odtwarzając ta strategię?

4
0
Chętnie poznam Twoje przemyślenia, skomentuj.x