Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • W definicji funkcji przyjmij cztery argumenty: liczbę lat yrs, oczekiwaną stopę zwrotu avg_return, zmienność sd_of_return oraz kapitał początkowy principal.
  • Zasymuluj stopy zwrotu rates dla każdego roku jako zmienną losową o rozkładzie normalnym.
  • Zainicjalizuj zmienną end_return wartością argumentu principal. W pętli for skaluj end_return w 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(____))
Edytuj i uruchom kod