Programming 19 Sierpień 2026 ★ Featured

Allocatio — mobilna aplikacja do śledzenia portfela inwestycyjnego

Dostępne też w:

Jak to zwykle bywa, miewamy jakąś potrzebę, ale istniejące już narzędzia - albo spełniają część, albo mają nawet więcej, ale są znacznie za drogie, by był sens je kupować. Tak właśnie było w tym przypadku - chcałem mieć coś, co pozwoli mi łatwo kontrolować moją strategię inwestycyjną, ale do tego nie płacić za to wysokiego abonamentu. Nie chciałem fajerwerków, analiz, podglądu kursu co do milisekundy. Nie chcę też wysyłać takich danych do jakiegokolwiek podmiotu.
"Przydałoby mi się coś lekkiego, lokalnie na telefonie, i najlepiej ze wsparciem dla obligacji skarbu państwa" - szczególnie to ostatnie było problematyczne, bo nie znam ŻADNEJ apki, w której by to było ogarnięte.

Tak więc, ponieważ jestem programistą, a (kolejny powód) już dawno chciałem przejść przez ścieżkę publikacji apki w Sklepie Play - zakasałem rękawy i... zacząłem strzelać z bata nad wirtualnymi głowami agentów - tak, tak będzie teraz wyglądało moje życie - godzę się z tym, że teraz to nie głównie ja "układam klocki" tylko mówię co ułożyć. Czasem jest to dla mnie smutne, ale...zawsze mogę w zaoszczędzonym czasie układać lego albo puzzle.
A przecież teraz mam gigantycznie więcej możliwości.

O projekcie

Allocatio to samodzielna (standalone) aplikacja mobilna, którą napisałem, aby śledzić i analizować własny portfel inwestycyjny — bez konieczności tworzenia konta, logowania, ani korzystania z żadnego backendu. Wszystkie dane trzymane są lokalnie na urządzeniu, a kursy pobierane są bezpośrednio z darmowych źródeł Yahoo Finance i Stooq.

Aplikacja nie jest doradcą inwestycyjnym — to narzędzie dla osób, które samodzielnie zarządzają swoim portfelem i chcą mieć pełny obraz swoich inwestycji w jednym miejscu. Jednocześnie istotnym było dla mnie odgrodzenie się od "wyniku" inwestycji - w rebalansingu nie jest istotne za ile kupiłeś i ile procent urosła lub spadła dana inwestycja - masz widzieć stan aktualny i w którą stronę powinieneś wykonać ruch zgodnie ze swoją strategią.

Allocatio — mobilna aplikacja do śledzenia portfela inwestycyjnego

📸 Ekran główny — przegląd portfela z aktualną wyceną i podziałem na kategorie aktywów


Kluczowe funkcjonalności

📊 Przegląd portfela w czasie rzeczywistym

Dodaj swoje pozycje (ticker, ilość, kategoria aktywów) — aplikacja automatycznie pobierze aktualne kursy i wyliczy wartość portfela w wybranej walucie bazowej. Obsługiwane są akcje z giełd światowych (np. AAPL, MSFT), polskiej GPW (CDR.WA, PKN.WA), a nawet kryptowaluty (BTC-USD).

Po kliknięciu w kafelek pozycji rozwija się on, pokazując pełne informacje: nazwę spółki (automatycznie pobieraną z Yahoo Finance i cache'owaną w lokalnej bazie), liczbę sztuk, cenę jednostkową oraz wartość w walucie bazowej.

Allocatio — mobilna aplikacja do śledzenia portfela inwestycyjnego

📸 Lista pozycji z aktualną wyceną, podziałem na kategorie i łączną wartością

🏦 Obligacje Skarbu Państwa

Jedną z funkcjonalności, na którą kładłem szczególny nacisk, jest obsługa polskich obligacji detalicznych — COI, EDO, ROS, ROD, TOS i innych. Po wpisaniu serii obligacji (np. EDO1133, COI0630) aplikacja:

  • automatycznie uzupełnia daty zakupu i wykupu na podstawie emisji i tenoru,
  • pobiera oprocentowanie z wbudowanego katalogu stóp historycznych (bundlowany CSV ze stopami realnymi i marżami) z fallbackiem na scraping obligacjeskarbowe.pl,
  • oblicza bieżącą wycenę obligacji na podstawie modelu oprocentowania (stałe, zmienne, indeksowane inflacją CPI),
  • pozwala też na ręczne uzupełnienie stóp dla serii, których nie ma jeszcze w katalogu.

Dzięki temu w jednym portfelu mogę trzymać obok siebie akcje, kryptowaluty, obligacje SP i aktywa wyceniane ręcznie (np. nieruchomości) — a apka sama wyliczy łączną wartość i alokację.

🏷️ Aktywa wyceniane ręcznie (Custom)

Oprócz instrumentów rynkowych i obligacji, dodałem możliwość wpisania ręcznie wycenianych aktywów — np. nieruchomości, samochodu, konta oszczędnościowego. Wystarczy podać nazwę, bieżącą wycenę i walutę (PLN/USD/EUR), a pozycja zostanie automatycznie przeliczona do waluty bazowej portfela po aktualnym kursie FX.

🗂️ Multi-portfolio i zaawansowany Portfel Zbiorczy

Zaimplementowałem zarządzanie wieloma portfelami jednocześnie — np. portfel emerytalny, IKE, IKZE, poduszka finansowa czy portfel spekulacyjny. Wbudowany Portfel Zbiorczy automatycznie konsoliduje pozycje ze wszystkich sub-portfeli, dając pełny obraz łącznych inwestycji w jednym miejscu.

Aby analiza tak zróżnicowanego majątku była naprawdę czytelna, wyposażyłem Portfel Zbiorczy w 4 zaawansowane tryby wizualizacji alokacji:

  1. Kategorie — zagregowany podział całego Twojego majątku na klasy aktywów (np. łączny udział akcji, obligacji skarbowych, złota i gotówki bez względu na to, na którym rachunku się znajdują).
  2. Portfele — procentowy udział poszczególnych sub-portfeli (np. jaki % całego mienia stanowi IKE, IKZE czy Poduszka Finansowa).
  3. Struktura (Portfel + Kategoria) — zagnieżdżony dwupoziomowy wykres pierścieniowy (Nested Pie Chart): wewnętrzny pierścień prezentuje poszczególne portfele, a zewnętrzny rozbija każdy z nich na jego własne kategorie aktywów.
  4. Pozycje (Portfel + Pozycja) — najbardziej szczegółowy zagnieżdżony wykres 2-poziomowy: wewnętrzny pierścień przedstawia portfele, a zewnętrzny rozbija je na poszczególne instrumenty (spółki, obligacje, ETFi).

Wykresy są w pełni interaktywne — kliknięcie w dowolny plaster wykresu automatycznie wyświetla szczegółowy podgląd danej kategorii lub instrumentu.

Allocatio — mobilna aplikacja do śledzenia portfela inwestycyjnego

📸 Portfel Zbiorczy z 4 trybami wizualizacji — w tym dwupoziomowym zagnieżdżonym wykresem pierścieniowym (Portfel + Kategoria / Pozycja)

🎯 Strategie inwestycyjne i szablony

Zdefiniuj swoją docelową strategię alokacji aktywów — ręcznie lub korzystając z jednego z wbudowanych szablonów:

  • MOAR (Michael O'Higgins) — 4 równe części: obligacje długoterminowe, średnioterminowe, najtańsze rynki, metale szlachetne
  • Classic 60/40 — klasyczny podział akcje/obligacje
  • Permanent Portfolio (Harry Browne) — 4×25%: akcje, obligacje, gotówka, złoto
  • All Weather (Ray Dalio) — portfel zbalansowany ryzykiem
  • Ivy Portfolio (Marc Faber) — 4 główne klasy aktywów
  • 5 Najtańszych Rynków (Global Value) — strategia oparta na CAPE/P/E

Zrobiłem też możliwość zapisywania własnych szablonów strategii i wracania do nich w dowolnym momencie.

Allocatio — mobilna aplikacja do śledzenia portfela inwestycyjnego

📸 Definicja strategii docelowej z suwakami — walidacja sumy wag w czasie rzeczywistym

⚖️ Rebalansing portfela

Na podstawie zdefiniowanej strategii i bieżącej wyceny portfela, aplikacja oblicza odchylenia od celu i podpowiada, ile dokupić lub sprzedać w każdej kategorii — w konkretnych kwotach w wybranej walucie. Można też wprowadzić planowaną wpłatę i zobaczyć optymalny podział nowych środków.

Wizualizacje obejmują:
- Wykres kołowy z nałożonymi pierścieniami (aktualny portfel vs cel)
- Wykres słupkowy porównujący wagi procentowe
- Tabela odchyleń z kolorowymi wskaźnikami KUP/SPRZEDAJ/OK

Allocatio — mobilna aplikacja do śledzenia portfela inwestycyjnego

📸 Rebalansing — porównanie aktualnych i docelowych wag z podpowiedziami transakcyjnymi

💾 Kopia zapasowa (CSV)

Zaimplementowałem pełny eksport i import danych w formacie CSV — obejmujący wszystkie portfele, pozycje (z metadanymi obligacji, seriami, wycenami custom) oraz wagi docelowe strategii. Dzięki temu łatwo przenieść dane na nowe urządzenie lub zrobić backup — wystarczy udostępnić plik i ponownie zaimportować go w ustawieniach.

🌍 Wielojęzyczność

Interfejs dostępny w trzech językach:
- 🇵🇱 Polski
- 🇬🇧 English
- 🇪🇸 Español

Język dopasowuje się automatycznie do ustawień systemu lub można go wybrać ręcznie w ustawieniach.

💱 Wielowalutowość

Każdy portfel ma swoją własną walutę bazową (PLN, USD lub EUR), niezależnie od globalnego ustawienia aplikacji. Pozycje w walucie obcej przeliczane są automatycznie po aktualnych kursach FX pobranych z Yahoo Finance.

🔒 Prywatność i bezpieczeństwo

  • Zero danych wysyłanych na serwer — wszystko działa lokalnie na telefonie
  • Baza SQLite na urządzeniu
  • Klucze API (opcjonalne, dla płatnych dostawców) przechowywane w systemowym Android Keystore / iOS Keychain
  • Domyślne źródła kursów (Yahoo Finance, Stooq) nie wymagają żadnych kluczy

💎 Monetyzacja i wersja Allocatio Pro

Aplikacja dostępna jest bezpłatnie w modelu opartym na dyskretnych reklamach Google AdMob (baner w dolnej części ekranu oraz sporadyczne reklamy pełnoekranowe z zaszytym 10-minutowym limitem czasu).

Dla użytkowników ceniących czysty interfejs przygotowałem jednorazowy zakup Allocatio Pro realizowany wprost przez Google Play Billing:
- Jednorazowa opłata bez uciążliwych subskrypcji
- Trwałe usunięcie wszystkich reklam w całej aplikacji
- Bezpieczny zapis statusu w Android Keystore / iOS Keychain oraz w chmurze konta Google


Architektura i stack technologiczny

Aplikację zbudowałem w architekturze warstwowej, z jasnym podziałem odpowiedzialności:

Warstwa Technologia Rola
Dane (data/) Drift (SQLite), Dio (HTTP), Secure Storage, InAppPurchase Repozytoria, źródła kursów, zakupy Play Billing, cache
Domena (domain/) Czyste funkcje Dart Modele, logika kalkulacji, wycena obligacji, i18n
Prezentacja (presentation/) Flutter + Riverpod Ekrany, widżety, providery stanu, obsługa reklam

Kursy pobierane są z dwóch wymiennych źródeł za wspólnym interfejsem PriceSource, z automatycznym fallbackiem — jeśli Yahoo Finance nie odpowiada, zapytanie trafia do Stooq (i odwrotnie). Nazwy spółek (shortName) są cache'owane w SQLite, żeby nie odpytywać Yahoo przy każdym otwarciu.

Wycena obligacji detalicznych SP odbywa się w osobnym module (bond_valuation.dart), który obsługuje różne schematy oprocentowania (stałe, zmienne, indeksowane CPI) i korzysta z lokalnego katalogu stóp.


Plany rozwoju

Aktualnie apka spełnia wszystkie założenia i nie potrzebuje wiele więcej - chyba, że będzie taka potrzeba - moja lub użytkowników.

Teoretyczny dalszy plan rozwoju:

  • [x] Oficjalna premiera w Google Play (wersja produkcyjna) - done.
  • [ ] Powiadomienia o przekroczeniu progów alokacji.
  • [ ] Przypomnienie o terminie rebalansingu - np raz na pół roku.
  • [ ] Historia wartości portfela w czasie (wykres liniowy).
  • [ ] Wersja na iOS.

Skąd pobrać ?

Apka jest już dostępna w sklepie play: Allocatio w sklepie play

Informacja prawna

Allocatio jest narzędziem wyłącznie informacyjnym, służącym do śledzenia i wizualizacji własnego portfela inwestycyjnego. Nie stanowi porady inwestycyjnej. Dane kursowe pochodzą z publicznych źródeł (Yahoo Finance, Stooq.pl) i mogą być opóźnione lub niepełne.


© 2026 Rafał Sarniak • Arta Foc Innovations