Zadanie 5 - Wartość czasowa opcji i gwarancji

W tym zadaniu zbudujesz model do obliczania wartości czasowej opcji i gwarancji (TVOG) na podstawie scenariuszy stochastycznych.

Modelowany produkt to ubezpieczenie na dożycie z gwarantowaną sumą ubezpieczenia.

Jak działa ten produkt?

Dla uproszczenia przyjmujemy okresy roczne i pomijamy ryzyko śmierci. Skupiamy się tylko na ryzyku inwestycyjnym.

1 Utworzenie modelu

Na początek utwórz nowy model o nazwie zadanie_5.

W powłoce Pythona wpisz:

2 Dane wejściowe

2.1 Dane ubezpieczeniowe (model point set)

W pliku input.py przygotuj dane dotyczące ubezpieczenia. Utwórz model point set o nazwie policy, który będzie zawierał:

Uzupełnij poniższy szkielet kodu:

Zadanie: Uzupełnij brakujące wartości zgodnie z danymi ubezpieczeniowymi.

2.2 Scenariusze stochastyczne

Model będzie wykorzystywał zestaw losowych scenariuszy stóp zwrotu z inwestycji.

Każdy scenariusz powinien zawierać:

Załóż, że stopa zwrotu ma rozkład normalny ze średnią 4% i odchyleniem standardowym 10%.

Wygeneruj 1000 scenariuszy po 5 lat każdy. Skorzystaj z poniższego kodu:

Zadanie: Wygeneruj tabelę stochastic_scenarios zgodnie z powyższym kodem.

2.3 Stopa procentowa

Wartość czasowa gwarancji zależy od przyjętej stopy dyskonta. Załóż, że roczna techniczna stopa procentowa wynosi 3%.

Zapisz ją jako zmienną skalarną interest_rate w pliku input.py:

Zadanie: Uzupełnij wartość stopy procentowej jako ułamek dziesiętny.

3 Ustawienia

W pliku settings.py ustaw parametry związane z liczbą scenariuszy i długością projekcji.

Dla uproszczenia oraz przyspieszenia obliczeń, w tym zadaniu przyjmujemy 5-letni horyzont czasowy.

Uzupełnij słownik settings:

Zadanie: Wstaw odpowiednie wartości zgodnie z opisem powyżej.

4 Model

4.1 Import zmiennych

Na początek zaimportuj dane wejściowe do pliku model.py.

W tym modelu będziesz korzystać z:

Uzupełnij kod:

Zadanie: Uzupełnij nazwy zmiennych zgodnie z tymi, które przygotowałeś/aś w input.py.

4.2 Stopa zwrotu funduszu inwestycyjnego

Zdefiniuj zmienną stochastyczną investment_return(t, stoch), która zwraca roczną stopę zwrotu z funduszu w danym scenariuszu.

Załóż:

Uzupełnij funkcję:

Zadanie:

4.3 Wartość funduszu

Zmienna fund_value(t, stoch) pokazuje, ile wart jest fundusz inwestycyjny w danym roku t i scenariuszu stoch.

Założenia:

Uzupełnij kod:

Zadanie:

4.4 Różnica do gwarancji

Na koniec trwania polisy ubezpieczyciel wypłaca klientowi większą z dwóch wartości: wartość funduszu albo gwarantowaną sumę. Jeżeli fundusz jest mniejszy, ubezpieczyciel musi dopłacić różnicę.

Zmienna shortfall(t, stoch) powinna:

Uzupełnij kod:

Zadanie: Uzupełnij wzór na różnicę: gwarantowana suma minus wartość funduszu.

4.5 Wartość czasowa opcji i gwarancji

Zmienna tvog(t, stoch) oblicza bieżącą wartość przewidywanej dopłaty ubezpieczyciela, czyli wartość opcji gwarantowanej wypłaty.

Założenia:

Uzupełnij kod:

Zadanie: Wpisz, jaka zmienna reprezentuje wartość z kolejnego roku.