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

Cren

Forumer storico
ho dubbi sulla moltiplicazione a pari lag (quando pesa il vettore).

Bene. Allora credo che

[FONT=&quot]w.ret[,i] <- h[,i]*ww[/FONT] ---> non sia corretto.

ovvero se è il lag, ww deve avere un lag inferiore.

credo..sia chiaro:)

L'osservazione è corretta: non solo la simulazione di tdazio non tiene correttamente conto del periodo di ritardo col quale si adattano i pesi, ma è l'uso stesso dei coefficienti come pesi che non sarebbe replicabile nella realtà.

Infatti anche usando l'operatore ritardo lag() non risolverebbe il problema perché la stima del modello multivariato non è fatta in una simulazione in back test bensì su tutto il campione (quindi il modello ottiene i pesi che poi userà per la performance conoscendo già l'errore futuro).

D'altronde questo è stato anticipato perfettamente dallo stesso tdazio all'inizio del suo codice quando ha scritto consapevolmente
tdazio ha scritto:
Aldilà dell’enorme overfitting in-sample...
e ha intitolato il suo esempietto Fake-LM Portfolio DAX.

Per questo motivo io non ho mosso alcuna osservazione sull'aspetto simulativo, mi sono limitato ad analizzare il codice per vedere se c'era qualcosa di migliorabile nel linguaggio ma mi sembra già a posto.

Fare tutto in back test correttamente richiederà a tdazio un poco più di esercizio, ma mi sembra sulla buona strada :)
 
Ultima modifica:

Sig. Ernesto

Vivace Impertinenza
L'osservazione è corretta: non solo la simulazione di tdazio non tiene correttamente conto del periodo di ritardo col quale si adattano i pesi, ma è l'uso stesso dei coefficienti come pesi che non sarebbe replicabile nella realtà.

Infatti anche usando l'operatore ritardo lag() non risolverebbe il problema perché la stima del modello multivariato non è fatta in una simulazione in back test bensì su tutto il campione (quindi il modello ottiene i pesi che poi userà per la performance conoscendo già l'errore futuro).

D'altronde questo è stato anticipato perfettamente dallo stesso tdazio all'inizio del suo codice quando ha scritto consapevolmente

e ha intitolato il suo esempietto Fake-LM Portfolio DAX.

Per questo motivo io non ho mosso alcuna osservazione sull'aspetto simulativo, mi sono limitato ad analizzare il codice per vedere se c'era qualcosa di migliorabile ma mi sembra già a posto.

Fare tutto in back test correttamente richiederà a tdazio un poco più di esercizio, ma mi sembra sulla buona strada :)


Ah! Ho capito, era uno scherzo.

Sono proprio broccolo.

Ciao a tutti:)
 

Cren

Forumer storico
Visto che è una discussione didattica su R, faccio solo una precisazione per non creare confusione:
[FONT=&quot]w.ret[,i] <- h[,i]*ww[/FONT] ---> non sia corretto.

ovvero se è il lag, ww deve avere un lag inferiore.

i non è il lag, bensì è l'indice di tutti i constituent dell'indice che tdazio usa per il suo modello.

Quindi, quando tdazio usa l'indice i nel ciclo for(), lo sta facendo per muoversi da uno strumento in portafoglio a quello successivo e pesarne la performance col coefficiente del modello di regressione, non per muoversi lungo le date.
 

Sig. Ernesto

Vivace Impertinenza
Al di là del codice, per le mie modeste conoscenze corretto ma probabilmente ottimizzabile e snellibile con qualche vettore in più, stavo ragionando sul "significato" di quello che fai.

Se non capisco male il senso di quello che vuoi fare, tu in pratica nel in-sample, fissato un benchmark ideale di 30 p.b. al giorno, vai a:
- incrementare l'esposizione dei titoli che sono andati peggio rispetto al benchmark fintanto che la loro performance è stata positiva (es. titolo che ha reso 1 p.b. al giorno avrà un coefficiente di 30 mentre uno che ha reso 2 p.b. al giorno avrà un coefficiente di 15, quindi pesa la metà);
- vendere più pesantemente allo scoperto i titoli che sono andati meglio rispetto al benchmark fintanto che la loro performance è stata negativa (es. titolo che ha reso -1 p.b. al giorno avrà un coefficiente di -30 mentre uno che ha reso -2 p.b. al giorno avrà un coefficiente di -15, quindi lo vendi per la metà).​
In pratica privilegi la roba che s'è mossa poco.

E' questo che volevi fare?

Per rispondere alla tua domanda, però, non vedo un criterio quantitativo ben definito, forse dovresti affinare maggiormente la tua descrizione del problema.

Ovvero:
1. partire con una funzione obiettivo da massimizzare/minimizzare;
2. definirla in funzione del vettore dei pesi;
3. ottimizzarla.​
Per replicare il tuo caso, la tua funzione obiettivo potrebbe semplicemente essere la minimizzazione della dev.st. parziale inferiore ma calcolata su un riferimento di 30 p.b. al giorno (quindi minimizzi il quadrato medio di tutto ciò che cade al di sotto del benchmark).

Comunque finché non provi out-of-sample non hai in mano nulla.

Sicuramente il post of the year del 2013

Ricorda da vicino per la sua filosofia mean reversion una mia strategia, a mercato, che ha lavorato dal 2003 al 2013 circa, con un grosso draw down nel marzo 2009 comunque recuperato e poi abbandonata nel marzo 2013, per motivi del tutto indipendenti dai backtesting e dall'impiego con denaro reale. Al posto di considerare i rendimenti, usavo l'Alpha mentre l'hedging si potrebbe tranquillamente fare con il Beta, piuttosto che con lo short suggerito.

IMHO Lo short si puo' effettuare solo a livelli professionali: ai nostri livelli amatoriali e' del tutto sconsigliato per problemi varie volte ricordati.

Visto che è una discussione didattica su R, faccio solo una precisazione per non creare confusione:

i non è il lag, bensì è l'indice di tutti i constituent dell'indice che tdazio usa per il suo modello.

Quindi, quando tdazio usa l'indice i nel ciclo for(), lo sta facendo per muoversi da uno strumento in portafoglio a quello successivo e pesarne la performance col coefficiente del modello di regressione, non per muoversi lungo le date.


Ah ok! Bene a sapersi che non è il lag.

Però, una cortesia:

R è uno strumento valido ma pericoloso. Se postano un codice che guarda al futuro fate attenzione con i commenti..che in giro è pieno di boccaloni che copiano tutto quello che trovano.

:)

Ciao, buone feste a tutta la sezione:ciao:
 

reef

...
R è uno strumento valido ma pericoloso. Se postano un codice che guarda al futuro fate attenzione con i commenti..che in giro è pieno di boccaloni che copiano tutto quello che trovano.

Eccellenti gli ultimi post :) Ho "copiato" tutto.

Però... Se uno va a mercato con dei codici che nemmeno capisce... Saranno ben problemi suoi, che ne dici?

Ricambio ed estendo gli auguri.
 

tdazio

Nuovo forumer
Fare tutto in back test correttamente richiederà a tdazio un poco più di esercizio, ma mi sembra sulla buona strada :)

L'ho fatto anche se in versione semplificata, e come pensavo il risultato OOS è deludente.
Ho scaricato 252+85 giorni di dati, usato i primi 252 per calcolare i pesi e poi verificato sull'intero periodo. Ciò che sce è lì sotto: il picco che si nota a fine luglio corrisponde esattamente alla fine del periodo IS :)
[FONT=&quot]
_IO3.JPG
[/FONT]

Onestamente non mi aspettavo nulla di diverso: tutto il meccanismo è basato sulle correlazioni che notoriamente sono ballerine sulle serie storiche finanziarie.
Forse bisognerebbe usare la cointegrazione come fa la Alexander nei suoi paper.

Una cosa però mi (e vi) chiedo: ma tutto ciò non vale anche per i titolati modelli media-varianza, minima varianza, risk parity etc?
Ovvero la 'futuribilità' dei vari pesi dei constituents da cosa è garantita?

tdazio
 

Sig. Ernesto

Vivace Impertinenza
L'ho fatto anche se in versione semplificata, e come pensavo il risultato OOS è deludente.
Ho scaricato 252+85 giorni di dati, usato i primi 252 per calcolare i pesi e poi verificato sull'intero periodo. Ciò che sce è lì sotto: il picco che si nota a fine luglio corrisponde esattamente alla fine del periodo IS :)
[FONT=&quot]
_IO3.JPG
[/FONT]

Onestamente non mi aspettavo nulla di diverso: tutto il meccanismo è basato sulle correlazioni che notoriamente sono ballerine sulle serie storiche finanziarie.
Forse bisognerebbe usare la cointegrazione come fa la Alexander nei suoi paper.

Una cosa però mi (e vi) chiedo: ma tutto ciò non vale anche per i titolati modelli media-varianza, minima varianza, risk parity etc?
Ovvero la 'futuribilità' dei vari pesi dei constituents da cosa è garantita?

tdazio

Io credo che tu e Cren dobbiate rilassarvi e rileggervi. Dall'inizio. Capire bene cosa fate e dopo, solo dopo, telefonare ad Alexandra..nota lapdancer.

:)
 

Users who are viewing this thread

Alto