Zacznij terazZacznij za darmo

Ceny aktywów a stopy zwrotu z aktywów

Celem inwestowania jest osiągnięcie zysku. Przychód lub strata zależy od zainwestowanej kwoty oraz zmian cen – a szczególnie istotna jest wysokość zysku względem wielkości inwestycji. Właśnie to mierzą finansowe stopy zwrotu: zmiany ceny jako ułamek ceny początkowej w danym horyzoncie czasowym, na przykład jednego dnia roboczego.

Wróćmy do zbioru danych eu_stocks. Zawiera on wartości indeksów, które możemy traktować jak ceny. Same indeksy nie są bezpośrednio inwestowalne, ale istnieje wiele instrumentów finansowych ściśle je odwzorowujących – na przykład fundusze inwestycyjne czy fundusze ETF.

W analizie finansowych szeregów czasowych często stosuje się również logarytmiczne stopy zwrotu (zwane też stopami zwrotu w ujęciu ciągłym). Są one logarytmem brutto stopy zwrotu – albo równoważnie – pierwszymi różnicami logarytmu cen.

Różnica między dziennymi cenami a dziennymi stopami zwrotu jest zazwyczaj wyraźnie widoczna, natomiast różnica między dziennymi stopami zwrotu a logarytmicznymi stopami zwrotu – zwykle niewielka. Jak się wkrótce przekonasz, jedną z zalet logarytmicznych stóp zwrotu jest uproszczenie obliczeń wielookresowych stóp zwrotu – wystarczy je po prostu zsumować!

W tym ćwiczeniu dokładniej zbadasz zbiór danych eu_stocks: narysuj wykres cen, zamień ceny na (netto) stopy zwrotu, a następnie na logarytmiczne stopy zwrotu.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj plot(), aby wygenerować wykres danych eu_stocks.
  • Skorzystaj z gotowego kodu, aby przeliczyć dzienne ceny z eu_stocks na dzienne netto returns.
  • Użyj ts(), aby przekonwertować returns na obiekt ts. Ustaw argument start na c(1991, 130), a argument frequency na 260.
  • Wywołaj ponownie plot(), aby wyświetlić dzienne netto stopy zwrotu.
  • Skorzystaj z gotowego kodu łączącego diff() i log(), aby obliczyć logreturns.
  • Na końcu wywołaj plot(), aby wyświetlić dzienne logarytmiczne stopy zwrotu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Plot eu_stocks


# Use this code to convert prices to returns
returns <- eu_stocks[-1,] / eu_stocks[-1860,] - 1

# Convert returns to ts
returns <- ts(___, start = c(___, ___), frequency = ___)

# Plot returns


# Use this code to convert prices to log returns
logreturns <- diff(log(eu_stocks))

# Plot logreturns

Edytuj i uruchom kod