Symulacja portfela – część I
W kolejnych ćwiczeniach obliczysz oczekiwane zwroty z portfela akcji i określisz związaną z nimi niepewność.
Załóżmy, że zainwestowano 10 000 USD w portfel złożony z wielu akcji. Celem jest ocena wyników portfela w ciągu 10 lat. Możesz dostosować ogólną oczekiwaną stopę zwrotu oraz zmienność (odchylenie standardowe stopy zwrotu). Przyjmij, że stopa zwrotu ma rozkład normalny.
Na początek napisz funkcję, która przyjmuje jako argumenty kapitał początkowy, liczbę lat, oczekiwaną stopę zwrotu i zmienność, a zwraca całkowitą wartość portfela po 10 latach.
Po ukończeniu tego ćwiczenia będziesz mieć gotową funkcję, którą możesz wywołać, aby ocenić wyniki portfela.
To ćwiczenie jest częścią kursu
Symulacje statystyczne w Pythonie
Instrukcje do ćwiczenia
- W definicji funkcji przyjmij cztery argumenty: liczbę lat
yrs, oczekiwaną stopę zwrotuavg_return, zmiennośćsd_of_returnoraz kapitał początkowyprincipal. - Zasymuluj stopy zwrotu
ratesdla każdego roku jako zmienną losową o rozkładzie normalnym. - Zainicjalizuj zmienną
end_returnwartością argumentuprincipal. W pętliforskalujend_returnw górę o stopę zwrotu dla każdego roku. - Użyj funkcji
portfolio_return(), aby obliczyć i wydrukować wartośćresult.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# rates is a Normal random variable and has size equal to number of years
def portfolio_return(____):
np.random.seed(123)
rates = ____(loc=avg_return, scale=sd_of_return, size=yrs)
# Calculate the return at the end of the period
end_return = ____
for x in rates:
end_return = end_return*(1+____)
return end_return
result = portfolio_return(yrs = 5, avg_return = 0.07, sd_of_return = 0.15, principal = 1000)
print("Portfolio return after 5 years = {}".format(____))