R : i primi 30 minuti (dall’installazione al primo Trading-System)

Reef quello che devo fare è questo:
Nell’ambito della teoria del portafoglio, si consideri un portafoglio di 20 titoli arbitrariamente scelti e si calcoli il profilo rischio-rendimento. Si costruiscano i portafogli a varianza minima ottenuti riducendo progressivamente il paniere di titoli presenti in portafoglio.

In particolare, si richiede di produrre stime e grafici, nonché indicatori della bontà di adattamento (analisi dei residui, ecc.), eventualmente ricorrendo al pacchetto quantmod o altri affini della piattaforma R CRAN.
ps: in laboratorio abbiamo utilizzato quantmod e PerformanceAnalytics:
 
In particolare, si richiede di produrre stime e grafici, nonché indicatori della bontà di adattamento (analisi dei residui, ecc.)...
Il legame con la frontiera efficiente non è immediato, nel senso che la formulazione della frontiera efficiente si scontra con problemi di tipo statistico solamente quando dal piano teorico si passa a quello pratico ed è necessario dargli dentro le stime di covarianza e rendimento.

Quindi posso solo dedurre che ti si chieda di costruire anche un modello di stima dei rendimenti e della matrice delle covarianze.

Per quest'ultima non dovresti avere problemi a trovare un modello che viene incontro alle tue esigenze, visto che sostanzialmente si tratta di modellare eteroschedasticità condizionale e correlazione seriale in modo un tantino più elaborato che non sbattere tutto il campione dentro il solito stimatore.

Se ti si chiede qualcosa su residui e bontà di adattamento ne deduco che ti si chieda piuttosto un modello che spieghi i rendimenti attesi, è corretto?

Comunque tutto questo non fa parte né dell'argomento "frontiera efficiente" né dell'argomento "portafoglio a minima varianza", forse dovresti farti spiegare meglio le consegne.
 
Ultima modifica:
Cren a noi la prof ha dato la traccia sopra indicata e ci ha detto che ci sono vari modi per implementarla, mi sembra che hai centrato l'argomento, comunque ora ti dico cosa abbiamo fatto :
noi in lab abbiamo visto quale modello teorico si adatta bene al comportamento dei prezzi di mercato dei titoli azionari ? abbiamo visto se i prezzi dei titoli azionari sono log- normali, per fare questo registriamo la serie storica dei rendimenti di una data azione per un certo periodo. Poi costruiamo istogramma di questi valori e lo confrontiamo con quelli di una log normale.
quindi utilizzo quantmod per caricare i dati , poi la prof ci ha fatto modificare tali dati in una matrice per lavorarci sopra, ci fa estrarre la colonna dei prezzi di chiusura e ci fa calcolare i rendimenti di questi prezzi.Ci fa standardizzare tali rendimenti .
ci fa calcolare la funzione di densita della distribuzione che sto considerando
la lezione successiva ci ha fatto vedere la STIMA dei coef. di regressione , ci fa calcolare i residui e calcolo R^2.
ci ha detto che possiamo utilizzare anche il pacchetto performance analytics.
 
...ci fa estrarre la colonna dei prezzi di chiusura e ci fa calcolare i rendimenti di questi prezzi.Ci fa standardizzare tali rendimenti .
I rendimenti te li ho estratti da una matrice di prezzi con

Data <- apply(X = X, MARGIN = 2, FUN = function(x){Delt(x)})
Data <- xts(returns, index(X))
Data[1,] <- 0

Per standardizzare basta che sottrai a ciascuna colonna di rendimenti la sua media e dividi per la dev. st.
ci fa calcolare la funzione di densita della distribuzione che sto considerando
la lezione successiva ci ha fatto vedere la STIMA dei coef. di regressione , ci fa calcolare i residui e calcolo R^2.
ci ha detto che possiamo utilizzare anche il pacchetto performance analytics.
La funzione di densità non parametrica la puoi stimare anche senza PerformanceAnalytics con density().

Piuttosto non è chiaro la regressione di cosa su cosa: a naso credo che la variabile dipendente siano i rendimenti, ma qual è la variabile indipendente?

Anche per quello non serve PerformanceAnalytics, basta lm()
 
partendo da due vettori in cui avevamo in uno i rendimenti di un titolo jqualsiasi, l'altro vettore avevamo i rendimenti di un indicatore del mercato ( per esempio il ftse mib)
Noi abbiamo applicato il modello di SHARPE , che non è altro che una regressione che io effettuo, su quello che è il dataset storico che ho registrato per il titolo j ,e l'altro dataset storico che mi serve è l'individuazione di un indicatore di mercato.
ci ha detto che per il modello di sharpe non abbiamo un pacchetto , ma dobbiamo ricorrere alla programmazione , mentre per quanto riguarda le performance dei titoli è utile caricare il pacchetto PERFORMANCE ANALYTICS
 
Cren dopo aver caricato i 20 titoli, posso rappresentare i rendimenti con il pacchetto Performance analytics(previo caricamento)perchè ho i comandi di un esempio simile. Metto insieme questi rendimenti e mi fa creare una matrice.
Ora con il comando chart.riskreturnscatter me li rappresento sul piano media varianza.
Che dici? Cosi utilizzo le sue direttive date a laboratorio
 
partendo da due vettori in cui avevamo in uno i rendimenti di un titolo jqualsiasi, l'altro vettore avevamo i rendimenti di un indicatore del mercato ( per esempio il ftse mib)
Noi abbiamo applicato il modello di SHARPE , che non è altro che una regressione che io effettuo, su quello che è il dataset storico che ho registrato per il titolo j ,e l'altro dataset storico che mi serve è l'individuazione di un indicatore di mercato.
ci ha detto che per il modello di sharpe non abbiamo un pacchetto , ma dobbiamo ricorrere alla programmazione , mentre per quanto riguarda le performance dei titoli è utile caricare il pacchetto PERFORMANCE ANALYTICS
Quindi devi semplicemente impostare l'equazione del CAPM, che è una regressione lineare dei rendimenti del titolo contro quelli del mercato, è testare la significatività statistica e il potere esplicativo dei risultati che ottieni.

Ricorrere alla programmazione qui non è nulla di drammatico come invece suggerisce il nome: il comando lm() esegue un modello di regressione lineare con intercetta in base alla formula che gli dai in pasto (guarda gli esempi!) e, se usi il metodo summary() su di esso, hai una valanga di statistiche descrittive.
Cren dopo aver caricato i 20 titoli, posso rappresentare i rendimenti con il pacchetto Performance analytics(previo caricamento)perchè ho i comandi di un esempio simile. Metto insieme questi rendimenti e mi fa creare una matrice.
Ora con il comando chart.riskreturnscatter me li rappresento sul piano media varianza.
Che dici? Cosi utilizzo le sue direttive date a laboratorio
Ho capito che la vostra prof.ssa si è innamorata di PerformanceAnalytics anche quando persino R nudo e crudo senza librerie è sufficiente per fare le cose... allora vediamo di usare quelle librerie, dai :D

Prima di tutto prendi il manuale delle librerie:


e seguimi.

Ti indico le pagine da leggere, tu lancia in R e studia bene gli esempi di ogni funzione per capire come usarli.

Per quanto riguarda le statistiche di regressione, da pag. 27 a pag. 33 hai una serie di scorciatoie per estrarre quello che ti interessa da coppie di vettori di rendimenti.

Per quanto riguarda istogrammi e densità non parametrica, crf. pag. 46 e 48.

A pag. 57 hai la funzione che fa quello che hai scritto sopra, cioè il piano rischio-rendimento; va specificato che questa funzione non costruisce la frontiera efficiente di portafoglio, ma si limita a rappresentare i vari asset nel piano e traccia le rette degli indici di Sharpe che gli dai in pasto tu (se non specifichi nulla, assume Sharpe di 1, 2 e 3 e traccia le corrispondenti rette sul piano)... quindi non puoi usare questa funzione per il portafoglio a minima varianza.

A pag. 149 hai una funzione che ti restituisce una tabella con tutte le misure di sintesi che ti servono per il modello del CAPM così come lo vuoi impostare (è quello a cui fai riferimento quando mi scrivi di Sharpe).

Studiati gli esempi di Peter Carl e Brian G. Peterson riproducendoli in R e poi metti dentro i tuoi dati.

Per scaricare, allineare, pulire e manipolare matrici di dati sei invitato a riguardare il mio codice di prima, c'è tutto quello che ti serve.
 
Reef quello che devo fare è questo:
Nell’ambito della teoria del portafoglio, si consideri un portafoglio di 20 titoli arbitrariamente scelti e si calcoli il profilo rischio-rendimento. Si costruiscano i portafogli a varianza minima ottenuti riducendo progressivamente il paniere di titoli presenti in portafoglio.

In particolare, si richiede di produrre stime e grafici, nonché indicatori della bontà di adattamento (analisi dei residui, ecc.), eventualmente ricorrendo al pacchetto quantmod o altri affini della piattaforma R CRAN.
ps: in laboratorio abbiamo utilizzato quantmod e PerformanceAnalytics:

Scusa, vedo solo adesso. Ovviamente non ho nulla da aggiungere a quanto ha già scritto Cren :bow:, anche perchè non ho a portata di mano un codice altrettanto ben scritto e finalizzato al tuo scopo.
Ho visto che le librerie che usa Cren sono di grande livello, anche questo è un aspetto che bisogna valutare in R. Soprattutto non bisogna innamorarsi di una libreria in particolare. Il tempo impiegato per impararne una più idonea è tempo ben speso. My 2 cents...
 

Users who are viewing this thread

Back
Alto