# APPLICAZIONE DEL MODELLO CAPM
Fase 1: Download dei dati
Dati settimanali del : - prezzo dell'azione Nestlè quotata a Zurigo ( 'NESN.SW')
- indice S&P500
- Treasury Bills (Tasso privo di rischio)
Periodo in esame: dal 01/01/2014 al 01/01/2024
Fonte -> Yahoo Finance
__________________________________________________________
Fase 2: Calcolo dei rendimenti settimanali
Si è proceduto calcolando i rendimenti dei prezzi di tutte le variabili.
Dove:
R è il rendimento (settimanale) percentuale
Pt è il prezzo al tempo t
Pt-1 è il prezzo al tempo t-1
Ottengo, quindi, i valori che successivamente inserirò nel programma in C# per calcolare il rendimento atteso.
Ho ottenuto:
Tasso privo di rischio = 5.3%
Rendimento di mercato = 0.21%
__________________________________________________________
Fase 3: implementazione del modello di regressione per ricavare il valore di beta (return strumento = alpha+beta * return mercato)
OUTPUT
Un
beta di 0.38 indica che l'attività finanziaria considerata è meno volatile
rispetto al mercato nel suo complesso. In questo caso, il movimento
dell'attività è approssimativamente il 38% di quello del mercato.
Un beta di 0.38 suggerisce che l'attività è relativamente stabile rispetto alle fluttuazioni del mercato. Se il mercato si muove al rialzo o al ribasso, ci si può aspettare che questa attività abbia movimenti meno estremi in termini percentuali.
Codice R :
library(readr)
nestle <- read_delim("nestle.csv", delim = ";",
escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE)
sp500 <- read_delim("sp500.csv", delim = ";",
escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE)
Riskfree <- read_delim("C:/Users/miche/Desktop/Univerisità/MAGISTRALE/STATISTICA APPLICATA/Riskfree.csv",
delim = ";", escape_double = FALSE, trim_ws = TRUE)
fin<- data.frame(nestle$X1, nestle$X6, sp500$X6, Riskfree$`Adj Close`)
str(fin)
names(fin)<-c("Data", "Nestle","S&P500","riskfree")
rend_nest <- diff(fin$Nestle) / fin$Nestle[-length(fin$Nestle)]
rend_rfree <- diff(fin$riskfree) / fin$riskfree[-length(fin$riskfree)]
rend_sp500<- diff(fin$`S&P500`) / fin$`S&P500`[-length(fin$`S&P500`)]
mean(rend_nest)
mean(rend_sp500)
riskfree_T<- mean(rend_rfree)
model <- lm(rend_nest ~ rend_sp500)
summary(model)
beta<- model$coefficients[2]
beta
x=(rend_sp500-rend_rfree)
mean(x)
y=riskfree_T+beta*x
CAPM= mean(y)
CAPM*100
plot(x, y, type = "l", lwd=1.2, xlab = "differenza tra i rendimenti", ylab = "Y modello CAPM")
abline(h=0, col=2, lwd=1.2)
__________________________________________________________
Fase 4: Calcolo del rendimento atteso con C#
Dove:
· E(Rn ) : Rendimento atteso del titolo 𝑛
· RF : Tasso risk-free; può essere ottenuto guardando i tassi di interesse dei titoli di stato a breve termine emessi da governi stabili.
· bn : Coefficiente beta del titolo 𝑛, che misura la reattività del suo rendimento ai movimenti del mercato.



