lund är nöjd med hjälpen
lund 529
Postad: 16 maj 2022 18:43 Redigerad: 16 maj 2022 18:43

Medelvärdes vektorn och kovarians-matrisen R (Finansmatte/Programmering)

Hej,

Jag håller på med en uppgift i R Markdown där jag har tagit fram simple returns på fem olika aktier och vill nu använda dessa för att bestämma medelvärdes vektorn (mean vector) och kovarians-matrisen (covariance matrix) men jag kan inte hitta någonstans där beskrivs hur man tar fram dessa två från värdena på simple returns. 

Är det någon som är kunnig inom detta och har lust att hjälpa mig hur jag kan göra detta i R Markdown? Tack på förhand!

Hondel 1289
Postad: 16 maj 2022 20:45

Hur ser datan ut? 

Hondel 1289
Postad: 16 maj 2022 21:02

Jag skulle gissa på att apply och cov är lämpliga funktioner att använda 

lund 529
Postad: 16 maj 2022 21:16 Redigerad: 16 maj 2022 21:18

Hej, datan består av fem stycken aktier där jag laddat ner den historiska (veckovisa) datan under en tio-års period, jag laddade ner detta från http://finance.yahoo.com/stock-center/. 

Jag tog sedan fram simple returns för var och en utav aktierna genom att skapa en funktion som tar fram detta, koden för funktion är enligt nedan: 

hej <- function(stock) {
    stock_price <- stock[, "Adj.Close", drop = FALSE]
    n <- nrow(stock_price)
    stock_ret <- ((stock_price[2:n, 1] - stock_price[1:(n-1), 1])/stock_price[1:(n-1), 1])

}

Och det är så långt som jag har gjort hittills och den datan som jag har. Datan för simple return är en väldigt stor matris för var och en av aktierna.

Om man ska använda sig utav apply, ska jag då göra detta för datan jag har för en aktie i taget? Det vill säga så att jag får en medelvärdes vektor för var och en?

Hondel 1289
Postad: 17 maj 2022 11:47

Okej, så du har en matris med 5 kolumner och en rad för varje år eller liknande? 

Själva applikationen är lite utanför mitt kunskapsområde, men om det är så att medelvärdesvektorn ska innehålla fem tal (ett tal per aktie) och dessa tal är medelvärdet över alla rader för motsvarande aktie kan du använda apply(your_matrix, 2, mean) (se dokuemntationen för apply för mer info)

Hondel 1289
Postad: 17 maj 2022 11:49

Och för kovarians-matrisen borde cov(your_matrix) duga

lund 529
Postad: 17 maj 2022 13:24

Tack för dina svar! Jag gjorde detta och det fungerade galant, tack!

Svara Avbryt
Close