6 mar 2017

Emerytalny Portfel Inwestycyjny - opis projektu

Zaczynamy tydzień kolejnym wpisem, dziś przekazuję więcej informacji na temat projektu, który realizuję w ramach konkursu Daj Się Poznać. Czym więc jest tytułowy Emerytalny Portfel Inwestycyjny? Krótko mówiąc - miejscem gdzie można śledzić postępy w oszczędzaniu na emeryturę, zobaczyć na wykresie jak przyrastają (lub, o zgrozo - topnieją) nasze inwestycje, dostać powiadomienie jeśli warto zamienić dane aktywa na inne oraz sprawdzić kiedy w takim tempie na tę emeryturę uzbieramy.

Żeby opowiedzieć coś więcej, chciałbym najpierw przybliżyć jak można na taką emeryturę oszczędzać w Polsce. Pomijam oczywiste metody jak standardowe konta oszczędnościowe czy lokaty, skupiam się za to na tzw. III filarze - wyspecjalizowanych w tym celu produktach powiązanych z ulgami podatkowymi, czyli IKE i IKZE. Zobacz porównanie pomiędzy IKE i IKZE.
 
Właśnie te produkty będą w pierwszej kolejności obsługiwane przez mój system właśnie ze względu na ulgi wspomniane przed chwilą, czyli:
  • w obu typach kont zwolnienie z podatku od zysków (nie płacimy 19% podatku Belki)
  • dodatkowo tylko dla IKZE: odliczenie od podatku wpłat na konto - możemy więc dodatkowo odzyskać 18% (lub 32%) z wpłaconej kwoty
Jeśli więc oszczędzamy na emeryturę (do czego gorąco zachęcam), to osiągamy realne korzyści z posiadania tych produktów. Oba typy kont mogą być prowadzone na kilka sposobów:
  • lokaty bankowe
  • obligacje skarbowe
  • fundusze inwestycyjne
  • dobrowolne fundusze emerytalne
  • rachunek maklerski 
  • polisy na życie z funduszem kapitałowym
Zaznaczyłem na liście powyżej fundusze inwestycyjne (FI), ponieważ na początek chciałbym się skupić właśnie na nich. Sam posiadam konto IKE właśnie w postaci funduszy. FI mają to do siebie, że co prawda mogą zapewnić wyższe zyski niż lokaty czy obligacje, ale są też obarczone ryzykiem straty. Im większe możliwości zarobienia tym większe ryzyko. Dlatego też trzeba nimi zarządzać - nie można wrzucać co miesiąc x zł w jakiś fundusz akcji i o nim zapomnieć.

Co właściwie ma robić ten portfel emerytalny

Portfel emerytalny który piszę ma pomóc właśnie w zarządzaniu posiadanymi przez nas jednostkami funduszy. Logowanie się co jakiś czas na konto żeby sprawdzić jak się mają nasze inwestycje i ręczne liczenie stóp zwrotu może i działa, ale jest czasochłonne i mało atrakcyjne. Dlatego zamierzam napisać platformę, która pozwoli wprowadzić posiadane przez użytkownika instrumenty finansowe, pobierze automatycznie ich kursy do wyliczenia wartości, w przyszłości skonsoliduje dane z kilku produktów i zaprezentuje interesujące nas informacje z gotowymi obliczeniami. Na początku chciałabym żeby system zautomatyzował czynności, które i tak robię, czyli:
  1. sprawdzał czy stopa zwrotu z posiadanych aktywów jest wystarczająco wysoka (np. czy fundusz osiągnął w ostatnim roku przynajmniej 2% zysku). Jeśli nie, to powinienem poszukać bardziej opłacalnego
  2. analizował czy powinienem sprzedać fundusz który traci na wartości. Tutaj najpierw chciałbym zaimplementować tzw. kroczący stop loss. Działa on w następujący sposób: kupuję jednostki funduszy i zakładam, że akceptuję stratę maksymalnie np. 8%. Kiedy fundusz rośnie to razem z nim przesuwa się poziom na którym będę sprzedawał (zawsze jest to te 8% od najwyższej wartości). Jeśli jednak spada to poziom wycofania się zostaje na stałym poziomie. Jeśli fundusz spadnie o te 8% od najwyższej wartości i osiągnie poziom wycofania, to system wysyła powiadomienie, że należy sprzedać dane jednostki uczestnictwa

Strona techniczna

Projekt dzieli się na standardowe 3 warstwy: baza danych, backend, frontend. Dodatkowo gdzieś obok będzie działało pobieranie kursów funduszy. O każdej z tych warstw będzie coś więcej w kolejnych postach, a na razie krótko o technologiach i skąd takie wybory. Przypominam też, że rozwój aplikacji można śledzić na bieżąco na moim koncie github.

Baza danych

Na codzień używam MSSQL, ale na potrzeby tego projektu zamierzam posłużyć się MySQL. Wybór raczej praktyczny - znam tę bazę z czasów kiedy pisałem w PHP, do tego mam serwer gdzie mogę taką bazę postawić

Backend, czyli API

Do tej pory backendy które pisałem były w C# lub PHP. Ponieważ ten projekt ma mnie nauczyć czegoś nowego, postanowiłem wypróbować Pythona z frameworkiem Flask. Całość będzie stała na Heroku, którego również używam po raz pierwszy. Backend będzie uwierzytelniał użytkownika i przekazywał dane z bazy do interfejsu, czyli ponownie - standard.

Interfejs użytkownika znany również jako frontend

Tutaj wybór padł na Angular 2. Poznałem ten framework niedawno i jestem naprawdę zadowolony z jego używania. Ciągle jednak wiem za mało, więc ponownie jest okazja do podszkolenia się i usystematyzowania wiedzy.

Pobieranie kursów

Na razie wiem tylko, że będzie podsystem, który będzie zajmował się wyłącznie pobieraniem kursów funduszy i ich zapisem do bazy. Chciałbym żeby był oparty na pluginach, które pozwolą go łatwo rozszerzać. Prawdopodobnie postawię na C# i będzie to jakaś usługa systemowa lub aplikacja konsolowa.

Słowo na koniec

Mam nadzieję, że kolejne posty będą się pojawiały w stałych porach, czyli w poniedziałek rano i środę po południu. Zobaczymy czy uda się utrzymać tempo 😉 Blog już trochę poprawił swój wygląd, ale wciąż dużo pracy przede mną. Jeśli masz jakiekolwiek przemyślenia lub uwagi - zapraszam do komentowania oraz do obserwowania mnie na twitterze, gdzie informuję o każdym nowym poście.

0 komentarze:

Prześlij komentarz