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

Ma alla fine 'sti fogli li hai recuperati oppure no? :)

Ero stato troppo precipitoso, avevo disinstallato RExcel.
Probabilmente dovevo solo ripristinare la finestra, cioè
rendere visibili i fogli.
Ma è una mia supposizione. Tu se in grado di confermarmi.
In attesa RExcel non lo installo ;)
 
Ero stato troppo precipitoso, avevo disinstallato RExcel.
Probabilmente dovevo solo ripristinare la finestra, cioè
rendere visibili i fogli.
Ma è una mia supposizione. Tu se in grado di confermarmi.
In attesa RExcel non lo installo ;)

Già a suo tempo avevo consigliato (per esserci passato, sia chiaro!) di non mescolare Excel con R.
Anzi, se possibile installare RStudio e partire da lì, cercando di capire il più possibile la logica di R.
Posso rispiegare il perchè, ma dovrei averlo già fatto su questo o altri 3D. Mi pare di vedere che la gente perde tempo prezioso in questioni sistemistiche, che non possono che amplificarsi una volta che i due sistemi devono "dialogare".
Mica meglio puntare subito sul sodo?
:mumble:
 
Già a suo tempo avevo consigliato (per esserci passato, sia chiaro!) di non mescolare Excel con R.
Anzi, se possibile installare RStudio e partire da lì, cercando di capire il più possibile la logica di R.
Posso rispiegare il perchè, ma dovrei averlo già fatto su questo o altri 3D. Mi pare di vedere che la gente perde tempo prezioso in questioni sistemistiche, che non possono che amplificarsi una volta che i due sistemi devono "dialogare".
Mica meglio puntare subito sul sodo?
:mumble:

Dunque tralascio RExcel e opto per RStudio.
OK Grazie. :)
 
Dunque tralascio RExcel e opto per RStudio.
OK Grazie. :)

Come sei docile... :)

Attenzione che RStudio è un front end, prima devi installare R (ultima versione) da qui The Comprehensive R Archive Network, poi RStudio Desktop da qui RStudio

Per entrare subito "nel merito" segui gli esempi di questo 3D e gli altri codici di Cren :bow: , ce ne sono diversi in giro. Per trovarli cerca la parola chiave "quantmod" ;)
Se hai difficoltà chiedi pure qui.
 
Salve, ragazzi sono nuovo nel forum; avrei bisogno di un vostro aiuto in quanto dovrei effettuare un lavoro con il software R, in sintesi:
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.
Qualcuno sa come impostare ?
 
Salve, ragazzi sono nuovo nel forum; avrei bisogno di un vostro aiuto in quanto dovrei effettuare un lavoro con il software R, in sintesi:
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.
Qualcuno sa come impostare ?

Puoi partire da questa libreria: CRAN - Package PerformanceAnalytics
e, eventualmente, cercare su google codice che utilizza questa libreria, già pronto da modificare.
Ad esempio qui c'è una bella presentazione didattica http://www.rinfinance.com/RinFinance2009/presentations/PA Workshop Chi RFinance 2009-04.pdf

Se poi ti va di pubblicare qui ciò che stai facendo, potrà risultare interessante per tutti.

In bocca al lupo
 
Ultima modifica:
Salve, ragazzi sono nuovo nel forum; avrei bisogno di un vostro aiuto in quanto dovrei effettuare un lavoro con il software R, in sintesi:
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.
Qualcuno sa come impostare ?
Comincia con questo (ho usato solo 5 titoli perché non avevo voglia di cercare i ticker su Yahoo, comunque non cambia nulla anche se ne metti dentro 500).

Poi eventualmente vediamo come usare un ciclo for() per togliere i titoli a uno a uno e vedere tutte le combinazioni possibili.

# +---------------------------------
# | 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.
# +---------------------------------

# +---------------------------------
# | Sommario
# |
# | 1. Parametri globali
# | 2. Installazione delle librerie
# | 3. Caricamento delle librerie
# | 4. Scaricamento dei dati
# | 5. Preparazione dei dati
# | 6. Rendimenti aritmetici
# | 7. Frontiera efficiente
# +---------------------------------

# +---------------------------------
# | 1. Parametri globali
# +---------------------------------

op <- par(no.readonly = TRUE)
Sys.setenv(TZ = 'UTC')

# +---------------------------------
# | 2. Installazione delle librerie
# +---------------------------------

install.packages('lattice')
install.packages('fPortfolio')
install.packages('quantmod')

# +---------------------------------
# | 3. Caricamento delle librerie
# +---------------------------------

require(lattice)
require(fPortfolio)
require(quantmod)

# +---------------------------------
# | 4. Scaricamento dei dati
# +---------------------------------

env <- new.env()

# In questo esempio usiamo solo cinque titoli per comodità:
# - FIAT
# - ENI
# - ENEL
# - Telecom Italia
# - UniCredit

Symbols <- c('F.MI', 'ENI.MI', 'ENEL.MI', 'TIT.MI', 'UCG.MI')
getSymbols(Symbols = Symbols, env = env, src = 'yahoo', from = '1950-01-01')

# +---------------------------------
# | 5. Preparazione dei dati
# +---------------------------------

args <- eapply(env = env, FUN = function(x){Cl(x)})[Symbols]
X <- na.omit(do.call(what = merge, args = args))
xyplot(X)

# +---------------------------------
# | 6. Rendimenti aritmetici
# +---------------------------------

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

# +---------------------------------
# | 7. Frontiera efficiente
# +---------------------------------

Frontier <- portfolioFrontier(as.timeSeries(Data))
frontierPlot(Frontier, frontier = 'upper')
grid()
abline(h = 0, col = 'grey')
abline(v = 0, col = 'grey')
minvariancePoints(Frontier, pch = 19, col = 'red')
tangencyPoints(Frontier, pch = 19, col = 'blue')
tangencyLines(Frontier, col = 'blue')
equalWeightsPoints(Frontier, pch = 15, col = 'grey')
singleAssetPoints(Frontier, pch = 19, cex = 1.5, col = topo.colors(6))
twoAssetsLines(Frontier, lty = 3, col = 'grey')
sharpeRatioLines(Frontier, col = 'orange', lwd = 2)

Mi sono "dimenticato" di annualizzare le misure, fallo tu come esercizio ;)
 

Allegati

  • Rplot.png
    Rplot.png
    11,7 KB · Visite: 483
Ultima modifica:
Grazie milleeeeeeeeee Reef e Cren, gentilissimi .
ho installato i pacchetti, ma a cosa servono i pacchetti lattice e fportfolio?
io in laboratorio universitario ho utilizzato quantmod per scaricare i dati , invece di scrivere require utilizzo library( "quantmod") e poi getsymbols . Posso lasciare questa dicitura?
 
Grazie milleeeeeeeeee Reef e Cren, gentilissimi .
ho installato i pacchetti, ma a cosa servono i pacchetti lattice e fportfolio?
io in laboratorio universitario ho utilizzato quantmod per scaricare i dati , invece di scrivere require utilizzo library( "quantmod") e poi getsymbols . Posso lasciare questa dicitura?
lattice qui serve solo a fare immagini più carine quando chiamo xyplot(X), è trascurabile :D

Per quanto riguarda fPortfolio e la differenza tra library() e require() ti rimando alle spiegazioni allegate.
 

Allegati

  • img.png
    img.png
    35,7 KB · Visite: 238
  • Immagine.png
    Immagine.png
    27,3 KB · Visite: 216

Users who are viewing this thread

Back
Alto