Relative Strength Asset Allocation

@ Paolo
Di Verona, non hai idea di quanti bei posti ci sono e che si notano solo andando in giro in bici. Qui il resoconto del viaggio più lungo fatto quest'anno.
 
Ma bello bello veramente PP.OK!
 

Un esempio a caso:

regole: roc 2 mesi, entrano i primi due, esce se rank > 4. No costi no tax

un esempio di code x R

Codice:
###### Dependencies
require(quantmod)
require(PerformanceAnalytics)
###### Common function
rank <- function(x) {
  l <- length(x)
  y <- rep(NA, l)
  m <- min(x) - 1
  flag <-l
  index <- -1
  while(flag>0) {
    for (i in 1:l){
      if(is.na(y[i]) && x[[i]]>m) {
        m <- x[[i]]
        index <- i
      }
    }
    y[index] <- flag
    flag <- flag -1
    m <- min(x) - 1
  }
  return (y)
}

rev.rank <- function(x) {
  l <- length(x)
  return(l+1-x)
}

###### Global Variables
symbols <- c("DAXX.MI", "ETFMIB.MI", "LUSA.MI", "UST.MI", 
             "EMKT.MI", "EMAAA.MI",
             "CRB.MI")

from      <- "1990-01-01"
roc       <- 2
in.rank   <- 2 
out.rank  <- 4
###### Run
l <- length(symbols)
# Dataset1 contains adj.prices of all series
Dataset1 <- NULL
for (i in 1:l){
  myStock <- getSymbols(symbols[i], from = from, auto.assign = FALSE)
  if (is.null(Dataset1)) {
    myStock <- to.monthly(myStock)
    myStock <- myStock[,6]
    Dataset1 <- myStock
    
  }else{
  myStock <- to.monthly(myStock)
  myStock <- myStock[,6]
  Dataset1 <- merge(Dataset1, myStock)
  }
}
colnames(Dataset1) <- symbols
Dataset1 <- na.omit(Dataset1)
rm(myStock)
# Dataset2 contains logYields of all series
Dataset2 <- NULL
for (i in 1:l){
  if(is.null(Dataset2)){
    Dataset2 <- log(Dataset1[,1]/Lag(Dataset1[,1], k = 1)) * 100
  } else{
    y <- log(Dataset1[,i]/Lag(Dataset1[,i], k = 1))*100
    Dataset2 <- merge(Dataset2, y)
  }
}
colnames(Dataset2) <- symbols
Dataset2 <- na.omit(Dataset2)

rm(y)
# Dataset3 contains ROC of all series
Dataset3 <- NULL
for (i in 1:l){
  if(is.null(Dataset3)){
    Dataset3 <- log(Dataset1[,1]/Lag(Dataset1[,1], k = roc)) * 100
  } else{
    y <- log(Dataset1[,i]/Lag(Dataset1[,i], k = roc))*100
    Dataset3 <- merge(Dataset3, y)
  }
}
colnames(Dataset3) <- symbols
Dataset3 <- na.omit(Dataset3)
rm(y)
# Dataset4 contains rank of all mounth 
#Dataset4 <- NULL
Dataset4 <- array(0, c(nrow(Dataset3),l))
Dataset4 <- zoo(Dataset4, time(Dataset3))
for (i in 1:nrow(Dataset3)) {
  y <- rev.rank(rank(Dataset3[i,]))
  for (j in 1:l) {
    Dataset4[i,j] <- y[j]
  }
  rm(y)
}

colnames(Dataset4) <- symbols
Dataset4 <- na.omit(Dataset4)
Dataset <- na.omit(merge(Dataset2, Dataset4))
###### Run the strategy

dt <- array(0, c(nrow(Dataset), l))
dt <- zoo(dt, time(Dataset))
for (i in 1:l) {
  if(Dataset[1,i+l]<in.rank+1) dt[2,i]=1
}

for (j in 2:nrow(Dataset)-1) {
  for (i in 1:l) {
    if(Dataset[j,i+l]<in.rank+1) dt[j+1,i]=1
    if((Dataset[j,i+l]<out.rank+1) &&
         (dt[j,i]==1)) dt[j+1,i]=1
  }
}
colnames(dt) <- symbols

y <- array(0, c(nrow(Dataset),1))
y <- zoo(y, time(Dataset))
y <- as.xts(y)
for (i in 1:nrow(Dataset)) {
  s <- 0
  for (j in 1:l) {
    y[i,1] <- Dataset[i,j]*dt[i,j] + y[i,1]
    s <- s+dt[i,j]
  }
  y[i,1] <- y[i,1]/s 
}
y <- na.omit(y)

plot(cumsum(y), main = "Strategy")
@plot(dt)

s.e.&o.

Grazie mille Paolo OK!
 
"L'idea del RS per gestire un miniportafoglio la trovo logica in ottica di inseguire chi va avanti"

è inteso con mercato al rialzo ?
 
Trend follower: in su' e giu', bene.

Si vince sempre surfando il trend: questo surf è in ranking , ecc . ecc.

con questo domani cosa si compera?
 
prima non ho detto "goccia"
 
Mi sembrava di aver letto un intervento di Salviati.

Scrivo quello che penso e l'esperienza d'uso del sistema.

Siamo in una situazione simile a quella del 2000, non tanto per le motivazioni del rialzo quanto ai livelli raggiunti dagli indici più importanti.

Sguardo rapido al passato:
- dal 2000 SPY + 70%, Dax +26%, Nasdaq +4%, Vanguard Total Bond + 120%
- con i bond lunghi al 2,3% sarà veramente difficile ripetere quel risultato

Ma una decisione bisogna prenderla
- portafoglio composto da future S&P 500, bond lunghi e corti
- portafoglio composto da ETF quotati in USA, S&P 400, Emergenti, Paesi sviluppati escluso USA, bond lunghi e corti. Solo per dare un po' di pepe e il gusto di poter dire "c'ero anch'io". Non più di 1/10 dell'altro portafoglio, nessuna copertura valutaria.
- escludo altri tipi di portafoglio, né materie prime né metalli preziosi, troppo volatili e per me incomprensibili (poi con le materie prime ho già dato e non intendo ripetere la bruttissima esperienza)

Esperienza personale
- usando gli ETF non si possono recuperare le perdite, sui guadagni si paga il 26%, alla fine della fiera rimane tra la metà e 1/3 del teorico
- usando i future e recuperando le perdite restano quasi i 2/3 del teorico
- il guadagno reale è e sarà sempre diverso (leggi: inferiore) dal teorico, non solo per lo spread denaro-lettera, ma soprattutto perché la vita è complicata. Solo ai trader da forum non va mai di traverso nulla.

Questo non lo scrivo certo per te, caro amico, solo per dare qualche spunto di riflessione sulla opportunità di seguire un metodo che probabilmente darà in futuro lo stesso risultato di un portafoglio bilanciato classico.

Ma per chi come noi non tollera troppa volatilità nei propri investimenti e vuole illudersi di poter far meglio del troppo semplice "compra e tieni", io di meglio non sono riuscito a trovare.
 
vedi PP

tu metti una tua idea, un programma scaricabile.....poi c'e' la matrona, il suo lacche'..eccc che viene a flammare, guanare
si creassero un # per i ***** loro perche' qui hanno rotto il *****
 

La medesima strategia usando un ROC a 3 mesi.

In sostanza il sistema regge. Il vero problema è inserire degli asset per i momenti difficili (stile 2008). Suggerimenti?
 

Allegati

  • FOL480.jpg
    FOL480.jpg
    70,7 KB · Visite: 273

La medesima strategia usando un ROC a 3 mesi.

In sostanza il sistema regge. Il vero problema è inserire degli asset per i momenti difficili (stile 2008). Suggerimenti?

Materie prime o cose tipo soia caffè ecc? penso potrebbero dare una mano, ma non ho provato potrei dire delle corbellerie
 
Materie prime o cose tipo soia caffè ecc? penso potrebbero dare una mano, ma non ho provato potrei dire delle corbellerie


Non lo so, perché qui c'è un problema che è insito in questo tipo di ragionamento:

- da un lato devo avere un numero di asset abbastanza elevato, sennò non ha senso il discorso dei rank a soglie differenti.

- dall'altro devo avere asset abbastanza bilanciati per categoria, cioè non posso avere 7 azionari, un obbligazionario e una liquidità, perché altrimenti, se ad esempio prendo i primi 3 avrò un azionario anche nel 2008.

- se escludo gli asset che hanno avuto rendimento negativo nell'ultimo periodo (come mi pare suggerisca bob), metto insieme pause in uptrend conclamato e downtrend pesanti, e inoltre mi espongo a comprare in un semplice rimbalzo....

non so se mi sono spiegato.....

 

La medesima strategia usando un ROC a 3 mesi.

In sostanza il sistema regge. Il vero problema è inserire degli asset per i momenti difficili (stile 2008). Suggerimenti?
IUSE.MI e un obbligazionario il più corto possibile, deciderai te se comprarlo davvero il monetario o tenerti i quattrini sul c/c.
 
faccio anche cosi'
mettiamo che voglio un portafoglio con 5 asset
se nel 2008 crolla tutto e ne trova solo 2...il portafoglio sara' 0.2 + 0.2.....vabbe' poi si puo' fare la FE o quello che vi pare
 
esempio provato a caso con gli asset del paper postato
momentum blando per metterlo nella situazione peggiore....cioe' 6 titoli su 9.....quindi dentro quasi tutto

escludendo il roc negativo il dd passa da -24 a -14
 
Dalla fine di questo mese scriverò in questa discussione l'apertura e la chiusura delle posizioni, mettendo i prezzi veri di acquisto/vendita al netto della tassazione, le commissioni le lascio fuori dal conteggio.

Comincio con 3 portafogli
1. Portafoglio in ETF americani, valuta non coperta (rendimento lungo 60 giorni peso 100%)
MDY, EWW, contanti rendimento 0

2. Portafoglio in future (rendimento lungo 60 giorni peso 60%, volatilità a 20 giorni peso 40%)
SPY (come segnale per il mini S&P 500), VUSTX (come segnale per il future sul decennale USA), contanti rendimento 0

3. Portafoglio in ETF quotati a Milano (rendimento lungo 60 giorni peso 100%)
IUSE.MI, contanti rendimento 0
 
Scusi @PP ma ogni ma mediamente ogni quanto danno un segnale questi ptf?
Grazie
 
Indietro