4 min czytania

Regima

portfolio-analytics

Należąca do użytkownika platforma do budowy portfeli i backtestingu, umożliwiająca porównywanie jawnie zdefiniowanych strategii inwestycyjnych z pogłębioną analizą portfela.

Podsumowanie

Regima to działający MVP do budowy portfeli, stosowania strategii inwestycyjnych i oceny ich historycznego zachowania.

Wiele narzędzi do backtestingu pokazuje wykresy wyników, nie przedstawiając dostatecznie jasno założeń stojących za strategią. Regima wychodzi z przeciwnego założenia: użytkownik wybiera określone podejście do budowy portfela i otrzymuje analitykę pomagającą wyjaśnić zachowanie portfela.

Status

Działający MVP

Podstawowe funkcje optymalizacji portfela i backtestingu są zaimplementowane. Pozostała praca dotyczy analizy statystycznej, zakresu produktu i otaczającego go doświadczenia użytkownika.

Problem

Narzędzia do backtestingu często ułatwiają stworzenie wykresu wyników, ale utrudniają zrozumienie, co ten wynik wygenerowało. Portfel może być przedstawiony za pomocą historycznych stóp zwrotu i miar ryzyka bez jasnego pokazania ram alokacji, stojących za nią założeń ani sposobu porównania z alternatywą.

Utrudnia to odróżnienie portfela wynikającego ze strategii od zbioru analiz złożonych dopiero po fakcie.

Regima ma jasno pokazywać metodę budowy portfela i łączyć ją z wynikającą z niej analizą wyników, ryzyka i atrybucji.

Pierwotna koncepcja zakładała również użycie danych o składzie indeksu w ujęciu point-in-time, aby ograniczyć survivorship bias. Wiarygodne datasety tego typu są płatne, dlatego w obecnym MVP nie uznano tego problemu za rozwiązany i nie przedstawia się go jako funkcji produktu.

Co robi

Użytkownik definiuje portfel, wybiera strategię optymalizacji i ocenia jego historyczne zachowanie.

Obecny system obejmuje:

  • optymalizację średnia–wariancja (MVO);
  • alokację równoważoną (1/N);
  • alokację risk parity opartą na wkładzie do ryzyka;
  • historyczne dane cenowe i fundamentalne;
  • okresowy rebalancing lub rebalancing oparty na progach;
  • konfigurowalne koszty, pozwalające realistyczniej szacować wyniki;
  • analitykę wyników, ryzyka i atrybucji czynnikowej.

Celem nie jest tylko pokazanie jednej wartości stopy zwrotu, lecz dostarczenie kontekstu wyjaśniającego, jak ta wartość powstała.

Od strategii do analizy

Założenia backtestu pozostają widoczne

  1. Definicja eksperymentu

    Wybór portfela, okresu historycznego i dostępnych danych rynkowych.

  2. Wybór alokacji

    Budowa portfela metodą średnia–wariancja, równych wag lub risk parity.

  3. Reguły działania

    Okresowy lub progowy rebalancing oraz konfigurowalne koszty.

  4. Analiza wyniku

    Ocena wyników wraz z ryzykiem, składem portfela i atrybucją czynnikową.

Koncepcyjny przegląd zaimplementowanego procesu. Wyniki backtestu opisują wybrany eksperyment historyczny i zależą od jego danych oraz założeń.

Decyzje metodologiczne

Główne decyzje projektowe mają zachować widoczny związek między strategią a wynikiem:

  • sposób budowy portfela jest wybierany jawnie, a nie ukryty za jednym domyślnym podejściem;
  • reguły i wyzwalacze rebalancingu są częścią konfiguracji backtestu;
  • koszty transakcyjne i inne konfigurowalne koszty można uwzględnić w szacunkach wyników;
  • wyniki są prezentowane razem z miarami ryzyka i atrybucji;
  • różne podejścia do alokacji można porównywać w ramach tego samego workflow analitycznego.

Takie decyzje przedkładają przejrzystość i użyteczność analityczną nad jedną nagłówkową wartość stopy zwrotu.

System

WarstwaTechnologia
FrontendSvelteKit
BackendFastAPI
Baza danychPostgreSQL
AnalitykaSciPy, scikit-learn
Dane rynkoweyfinance
PackagingDocker

Frontend zapewnia interfejs do budowy portfela i analizy, a backend odpowiada za przetwarzanie danych i workflow analityczny.

Zrzuty ekranu

Stopa zwrotu w kontekście ryzyka

Przegląd uruchomienia Regima: portfel Tech Basket, okres historyczny, miary wyniku i ryzyka oraz wykres wartości aktywów netto.Zobacz zrzut w pełnym rozmiarze
Kontekst uruchomienia · góra
Portfel, lista aktywów i okres historyczny identyfikują eksperyment stojący za wykresem.
Ryzyko obok wyniku · podsumowanie
Wskaźnik Sharpe’a i maksymalne obsunięcie są widoczne obok miar stopy zwrotu.
Zrzut produktu z przykładowego uruchomienia historycznego. Liczby opisują widoczny eksperyment, a nie ogólną skuteczność strategii.

Wgląd w rzeczywisty skład portfela

Panel pozycji Regima z poziomymi słupkami wag aktywów dla datowanego stanu portfela.Zobacz zrzut w pełnym rozmiarze
Data stanu · prawy górny róg
Data wskazuje, której alokacji dotyczy analiza.
Wagi pozycji · słupki
Względne wagi ujawniają koncentrację portfela niewidoczną w samej stopie zwrotu.
Stan portfela z określonego dnia. Słupki pokazują alokację w tym momencie, a nie wagi przez cały okres backtestu.

Przyczyna rebalancingu pozostaje widoczna

Tabela rebalancingu Regima z datami, przyczynami początkowej i okresowej alokacji, tickerami oraz kosztami transakcyjnymi.Zobacz zrzut w pełnym rozmiarze
Przyczyna · druga kolumna
Początkowa alokacja i okresowy rebalancing są zapisane jako różne typy zdarzeń.
Koszty i szczegóły · prawa strona
Wiersz przedstawia koszt i przejście do szczegółów zmian alokacji.
Widok zdarzeń rebalancingu. Każde zdarzenie pokazuje przyczynę, aktywa i pole kosztu transakcyjnego.

Zmiana alokacji na poziomie pojedynczej pozycji

Tabela zmian alokacji Regima z tickerem, wagą przed i po oraz zmianą dla każdej pozycji.Zobacz zrzut w pełnym rozmiarze
Przed i po · środkowe kolumny
Wagi pojedynczych pozycji pokazują zmianę ukrytą za zbiorczym zdarzeniem rebalancingu.
Zmienione pozycje · wiersze
Widok obejmuje pozycje z niezerową zmianą względem poprzedniego stanu.
Szczegóły zmiany alokacji. Różnice między wagami wyrażonymi w procentach należy czytać jako zmiany w punktach procentowych. Każdy zrzut przedstawia własny zapisany stan.

Ograniczenia i kolejne kroki

Obecny MVP koncentruje się na podstawowym workflow optymalizacji i backtestingu. Może uwzględniać konfigurowalne koszty przy szacowaniu wyników, ale nie modeluje jeszcze stóp zwrotu z perspektywy podatkowej.

Planowane prace obejmują:

  1. optymalizację minimalnego ryzyka;
  2. podejście do optymalizacji oparte na machine learning, przy czym konkretna metoda nie została jeszcze wybrana;
  3. ulepszenia interfejsu użytkownika;
  4. analizę probabilistycznego Sharpe ratio, aby ocenić, czy wyniki portfela są istotnie lepsze od wybranego funduszu lub benchmarku.

Są to planowane prace rozwojowe i nie należy ich traktować jako obecnie zaimplementowanych funkcji.

Dlaczego go zbudowałem

Chciałem stworzyć narzędzie portfelowe, które łączy budowę portfela, optymalizację i analizę ryzyka bez konieczności odtwarzania tego samego pipeline’u analitycznego dla każdego eksperymentu.

Regima pozwala również uwidocznić metodologię inwestycyjną w samym produkcie: podejście do alokacji, reguły portfela, miary ryzyka i atrybucję można analizować, zamiast traktować je jako szczegóły implementacji.

Otwórz Regima