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

Cren

Forumer storico
però è anche un supergay perché non è neanche passato di là a farci gli auguri....:down::down:
Auguri, amore :D
Mamma mia che ho creato per aver corretto un codice farlocco!!!!!
Mi sembra che non hai capito: il codice di tdazio non è «farlocco», è un training in sample di un suo modello, come lui ha giustamente specificato all'inizio e anche all'interno del codice nei commenti.

In quanto training in sample (quindi equivalente ad un fit), osservare che il codice non produce un vero back test come hai fatto all'inizio è un'osservazione corretta (ma non solo per il discorso dei ritardi, come ho specificato) e lì dovevi fermarti: bullarsi di aver «corretto» quel codice perchè mancava un lag() è andare completamente fuori strada, visto che i back test si fanno in ben altro modo.

Lo stesso tdazio successivamente ha mostrato il risultato out of sample mostrando chiaramente di aver ben chiara la differenza tra le due cose.

P.S.: in aggiunta non hai «creato nulla»: basta rileggere i messaggi prima per vedere che la conversazione tra tutti i presenti è andata avanti nel modo più tranquillo e con la consueta cadenza; sembra abbastanza chiaro a tutti che questo messaggio
Mamma mia che ho creato per aver corretto un codice farlocco!!!!!

Ahò...relax yourself!!!!!!!!!!!
è capzioso.
 

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.

Grazie per il commento, ti assicuro che le tue conoscenze, per nulla modeste, sono di gran lunga superiori alle mie !

Interessante la tua descrizione di ciò che accade all'interno del portafoglio e di come i vari pesi, positivi o negativi, permettano esposizioni su titoli con performance diverse: io non ci ero minimamente arrivato a capirlo.

L'idea di questo giochino mi è venuta leggendo di una tecnica astrusa applicata al mondo del forex: parti da una valuta e la replichi sinteticamente usando altri N cross attraverso una semplice regressione multipla, se lo spread tra la valuta reale e quella sintetica è I(0) c'è qualche speranza che le due siano cointegrate e dunque che sia possibile applicare qualche forma di trading di tipo stat-arb.
Ovviamente loro, a differenza mia, usavano i prezzi delle valute e non i rendimenti.
Inizialmente volevo operare una regressione multipla tra i prezzi dei titoli e una retta crescente, ad esempio qualcosa che in 252 punti passasse da 100 a 130, verificando poi la stazionarietà dei residui, ma poi mi sono bloccato perchè non riuscivo a capire il senso economico di avere un peso negativo applicato a un prezzo di chiusura e così sono passato a giocare coi rendimenti :)

Tra l'altro il vincolo che ho posto io nel mio script, porre la somma dei valori assoluti dei pesi uguale a 1 significa considerare come esposizione di capitale anche le cifre impiegate short: se rimuovi la condizione ponendo semplicemente uguale a 1 la somma algebrica dei pesi (che forse rispecchia di più un'ottica di gestione istituzionale) ciò che esce è a dir poco esplosivo (cose da SR > 20 :)

Concordo sul fatto che in-sample tutto ciò ha poco senso ed è solo un modo diverso di fare datasnooping: invece di partire da un'attività finanziaria e scegliere tra 10000 il miglior modello di trading, in questo caso si piglia un modello di trading (il buy hold) e si trova il perfetto mix long/short tra i titoli che massimizza l'info-ratio.
Se non è zuppa è pan bagnato :)
Grazie ancora per l'attenzione
tdazio

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.


Si Cren, ok Cren;

Ciao...:):hua:
 

Cren

Forumer storico
Mi chiedo..ma non fate prima a piantarla? Vi ho fatto un favore.

Dite grazie e stop.
Io non devo piantare nulla né mi servono favori.

Cortesemente potrebbe la moderazione fare pulizia dei messaggi non strettamente attinenti all'argomento della discussione a decorrere dal #212? La lettura sta diventando "difficoltosa".

Grazie dell'attenzione.
 
Ultima modifica:

Users who are viewing this thread

Alto