Un buon modello trend spotting/following

EbenezerScrooge

Nuovo Utente
Registrato
6/7/14
Messaggi
645
Punti reazioni
23
Ho di recente consegnato un nuovo modello previsionale, stavolta per i prezzi, non per la volatilità. Vale la pena condividere i risultati anche di questo.
L'idea del modello come al solito è prendere un concetto solido e sfruttarlo al meglio, in questo caso l'idea è la più vecchia del mondo, seguire i trend.
Il problema è che quando si cerca di formalizzare questa cosa e di farne il motore di un trading system si incontrano molte difficoltà. Intanto non è facilissimo stabilire in modo assoluto cos'è un trend. Stabilire dove inizia e dove finisce non è ovvio. Il concetto intuitivo di una retta che tutti abbiamo visto nei manuali di analisi tecnica non si avvicina nemmeno a descrivere la cosa. Infatti la risposta è che non c'è una risposta univoca. Uno dei metodi classici con cui si affronta la cosa è stabilire delle soglie di volatilità oltre le quali un trend si considera interrotto (è il principio del celebre indicatore Supertrend.) Quindi ad esempio se decidiamo che un trend rialzista si considera concluso quando si verifica un ribasso locale del 60% otterremo che SP500 è in un unico continuo trend che prosegue dagli anni '50 ad oggi. Se invece decidiamo che la soglia è del 3% otterremo una lunga sequenza di trend più brevi. La bontà di questa definizione dipende dallo scopo che vogliamo perseguire.
Ad esempio ci sono degli studi che mostrano quali sono i parametri ottimi per il Supertrend e anche se in effetti di solito usare le soglie di volatilità come trailing stop nelle strategie trend following può portare a qualcosa di buono i parametri ottimi variano continuamente nel tempo e a seconda del sottostante.

Quello di cui nessuno si accorge è che il motivo per cui le strategie trend following falliscono è perché la cosa più difficile non è capire cosa comprare, qualsiasi indicatore è in grado di distinguere tra tori e orsi; la cosa davvero difficile che fa la differenza tra il successo e il fallimento è stabilire i livelli di ingresso e gli stop. Le strategie trend following dipendono praticamente solo da questo. Un segnale di ingresso long in un trend rialzista può far perdere soldi.

In sostanza si tratta di capire qual è il punto migliore di un trend in cui entrare, ed è un problema abbastanza intuitivo. Da un lato entrare precocemente in un trend appena nato può massimizzare il profitto ma aumenta sensibilmente il rischio di falsi segnali. Al contrario entrare in un trend già consolidato e di lungo corso aumenta la probabilità che quello continui ma riduce il possibile profitto perché il trend sarà più prossimo alla fine. Infatti le strategie basate sul supertrend che forniscono segnali di ingresso non appena si rompe al rialzo la barriera di volatilità forniscono un mare di falsi segnali e se anche hanno profitti hanno quasi sempre delle percentuali di vittoria inferiori al 50%. In pratica il supertrend dice di entrare in ogni movimento al rialzo, ma solo di rado questo significherà aver beccato un lungo trend appena nato. Diciamo che il supertrend così facendo "spara nel mucchio" e qualcosa becca ma il più delle volte non becca nulla.
Quindi come si fa? C'è un punto "statisticamente ottimo" di ingresso?

Io per rispondere ho preso gli 80 titoli con gli spread più bassi di sp500 (la commessa è per azioni USA) e su questi titoli ho creato un ampio database con dentro tutti i trend avvenuti dal 2007 ad oggi. Per delimitare questi trend ho usato il supertrend appunto. Solo che in questo caso la scelta dei suoi parametri non è così importante perché non userò questo indicatore per produrre segnali operativi. Mi serve solo per delimitare i trend e averne una collezione abbastanza ampia da poter fare considerazioni statistiche. Nello specifico con 10 anni di contrattazione e 80 titoli ho messo insieme un db con più di 100000 elementi.

A questo punto per ognuno di questi elementi ho creato delle metriche più o meno rilevanti per caratterizzare il trend in questione. Alcune di queste sono le più ovvie:

1. durata del trend in corso al tempo attuale
2. gain del trend in corso al tempo attuale
3. andamento storico (ad esempio, il ritorno dell'ultimo anno)

altre sono meno ovvie.

A questo punto ogni singolo trend nel mio db è caratterizzato da un vettore di numeri che sarebbero le metriche che ho appena detto e che danno una descrizione più o meno esaustiva del trend e del contesto in cui è avvenuto. A questo punto ho addestrato degli ensemble di reti neurali ad associare a queste metriche la durata residua del trend sia in termini di tempo che di gain. In sostanza le mie reti neurali prendono in input le caratteristiche del trend in corso e sulla base di quello che è avvenuto negli ultimi 10 anni forniscono in output una previsione di quanto ancora durerà quel trend. In questo modo sono in grado contemporaneamente di dirmi su base statistica quali sono i trend più promettenti, quali i livelli di ingresso migliori e quali i livelli di stop migliori.
Ho backtestato la strategia in un periodo che va da dicembre 2015 a maggio 2017. La scelta dell'inizio del test non è casuale, essendo una strategia only long volevo inserire anche una situazione di mercato avversa (la crisi dei mercati orientali di gennaio 2016.)
Per il test ho scelto una strategia di money management molto elementare e molto prudente. La size dell'investimento è fissa ed è il 2% del capitale iniziale.

Di seguito la equity line della strategia e le statistiche. Uso come benchmark un classico buy & hold su sp500 e una strategia con stesso money management, sempre only long ma coi segnali prodotti in modo classico dall'indicatore Supertrend. Da notare che dà buoni risultati anche la classica strategia basata sul Supertrend, solo che guardando le sue statistiche si vede che praticamente è una strategia che perde più che vincere, solo che quando vince vince molto perchè entra nei trend all'inizio quindi di media risulta profittevole.

5zpmiv.jpg



Neural Networks
Periodo = 21 Dicembre 2015 - 31 Maggio 2017
Size = fissa, 2% del capitale iniziale (2000)
Titoli complessivi analizzati = 80
Titoli effettivamente negoziati = 25
Capitale iniziale = 100000
Capitale finale = 181145
N. trade = 424
Net Profit = 81145
Gain = 81%
Average gain = 9.6%
Winning percentage = 70%
Max drawdown = -4.6%
Durata media operazioni = 46 giorni


Supertrend
Periodo = 21 Dicembre 2015 - 31 Maggio 2017
Size = fissa, 2% del capitale iniziale (2000)
Capitale iniziale = 100000
Capitale finale = 133363
N. trade = 395
Net Profit = 33363
Gain = 33%
Average gain = 4.22%
Winning percentage = 47.5%
Max drawdown = -2.6%
Durata media operazioni = 39 giorni


SP500 B&H
Periodo = 21 Dicembre 2015 - 31 Maggio 2017
Size = 100%
Titoli complessivi analizzati = 1
Titoli effettivamente negoziati = 1
Capitale iniziale = 100000
Capitale finale = 120256
N. trade = 1
Net Profit = 20256
Gain = 20%
Average gain = 20%
Winning percentage = 100%
Max drawdown = -12%
Durata media operazioni = 363 giorni


Un altro grafico molto interessante è quello della variazione dell'average trade; ha sull'asse delle x gli stop limit predetti dalle reti neurali e sull'asse y l'average gain che si è poi effettivamente verificato associato a quei livelli di uscita. Le uscite previste sovrastimano decisamente l'effettivo gain, ma questo è dato dal fatto che l'algoritmo non esce dalle posizioni solo al raggiungimento del target gain ma anche al raggiungimento della scadenza temporale per cui la rete neurale ha individuato l'apice del trend. Quindi si esce dalla posizione:
1. In profitto se si raggiunge il target
2. In perdita se si tocca lo stop loss (simmetrico rispetto al target)
3. Alla scadenza temporale per cui la rete prevede l'apice del trend. Questa uscita può essere sia in perdita che in gain.

La cosa davvero interessante è che è un grafico che (al netto di ovvie irregolarità) cresce sempre. Questo significa che possiamo "alzare la manopolina" del gain previsto dalle reti quanto vogliamo e selezionare trade sempre più sicuri fino a percentuali di vittoria superiori al 90%. In sostanza questo grafico dice che selezionando i trend per i quali il modello ha previsto un margine di continuazione più ampio effettivamente andiamo sempre a guadagnare di più. Ovviamente così faremo molte meno operazioni ma è un ottimo elemento che testimonia la bontà del modello. Per il backtest ho scelto di mantenere il numero di trade accontentandomi di un average trade e una winning percentage discreti, ma avrei potuto scremare ancora di più fino ad avere il 100% di vittorie e un average gain del 15-20% solo che così facendo avrei effettuato molte meno operazioni.

348g8pf.jpg
 
Ultima modifica:
Il problema è che quando si cerca di formalizzare questa cosa e di farne il motore di un trading system si incontrano molte difficoltà. Intanto non è facilissimo stabilire in modo assoluto cos'è un trend. Stabilire dove inizia e dove finisce non è ovvio. Il concetto intuitivo di una retta che tutti abbiamo visto nei manuali di analisi tecnica non si avvicina nemmeno a descrivere la cosa. Infatti la risposta è che non c'è una risposta univoca. Uno dei metodi classici con cui si affronta la cosa è stabilire delle soglie di volatilità oltre le quali un trend si considera interrotto (è il principio del celebre indicatore Supertrend.) Quindi ad esempio se decidiamo che un trend rialzista si considera concluso quando si verifica un ribasso locale del 60% otterremo che SP500 è in un unico continuo trend che prosegue dagli anni '50 ad oggi. Se invece decidiamo che la soglia è del 3% otterremo una lunga sequenza di trend più brevi.

Nell'obiettivo finale di stabilire cosa e' un trend il problema precedente a quello di stabilire delle soglie di volatilita' e' costituito dall'individuare delle frequenze idonee di campionamento.

Ultimamente anch'io mi trovo a confrontarmi con problemi analoghi ai tuoi riguardo la determinazione di eventuali trend nel FIB afterhours, se presenti. Anzi, credo che se tu studiassi questo modello del FIB AH potresti riuscire a creare un cosiddetto "toy problem", cioe' un modello estremamente interessante da testare per un approccio riduzionista al problema di determinare soglie idonee per ACF, correlazioni, livelli di curtosi per mercati piu' complessi e sofisticati del FIB serale.

A mio avviso il FIB serale puo' essere descritto come un vero e proprio "toy problem" per la presenza di un'unica variabile indipendente, costituita dalle variazioni sul continuo dei mercati oltreoceano, in quanto l'informazione specifica dei mercati italiani si esaurisce alle 17:30 (o al limite entro le 18:00, massimo, se esce ancora qualche comunicato price sensitive su azioni italiane)

Il problema e' stabilire se esista un campionamento di dati ottimale per stabilire se le 2 serie
1. mercati Usa (es. 50% var NASDAQ e 50% variazioni SP500)
2. fib serale
siano integrate di ordine 1.

P.S.1 Per sola pura curiosita'
Io ho appurato che per piccoli scostamenti serali della variabile 1. all'interno del range +0.10/-0,10 le serie campionate ad 1 minuto hanno correlazione vicina a 1 e ben oltre 0,9.. per scostamenti serali della variabile indipendente all'esterno dell'intervallo +0.1/-0,1 non ho sufficienti dati e nemmeno, confesso, sviluppato capacita' adeguata di osservazione.

P.S.2 Se di inefficienza si trattasse, cioe' diciamolo in termini comprensibili "scarsa reattivita' del FIB serale ai move oltreoceano" questa puo' essere osservata in questi primi due mesi di contrattazione dello strumento e forse lo sara' per poco. Qualsiasi ritardo nello studio e nella messa in atto di strategie idonee al suo sfruttamento trovera' nel tempo motivo di rimpianto per non aver sfruttato un fenomeno di inefficienza nella sua fase iniziale. Probabilmente le inefficienze, se esistenti, dureranno poco ma comunque abbastanza a lungo, perché i dati sul FIB serale non sono ancora di agevole reperimento e quindi poco "arati" dai vari prg. di datamining o di business analytics (o big data, se qualcuno fosse cosi' abile da farne uso).
 
Guarda Pat, in verità mi ero presentato abbastanza agguerrito alla novità del Fib serale, ma poi, forse perché siamo in un periodo di volatilità decisamente bassa, ho lasciato perdere, spostamenti troppo piccoli e scambi troppo rarefatti. Meglio andare a fare un tuffo in spiaggia.....

Fa eccezione il periodo dalle 20 alle 20.30 dove c'è qualcosa......

Ciao!
 
Guarda Pat, in verità mi ero presentato abbastanza agguerrito alla novità del Fib serale, ma poi, forse perché siamo in un periodo di volatilità decisamente bassa, ho lasciato perdere, spostamenti troppo piccoli e scambi troppo rarefatti. Meglio andare a fare un tuffo in spiaggia.....

Fa eccezione il periodo dalle 20 alle 20.30 dove c'è qualcosa......

Ciao!

A prescindere, a me sembrava che il fib serale potesse e possa costituire un ottimo modello per strategie di spotting/following, perché la variabile indipendente e' riducibile di fatto ad una sola (il comportamento dei mercati oltreoceano) e quindi il problema tecnico si riduce a cercare di predirre la variabile dipendente (il Fib serale)

Diffido invece dalle strategie che abbiano il buon proposito di cercare di prevedere i prezzi, perché le variabili indipendenti da individuare/calcolare/monitorare sono praticamente infinite. Ma solo diffido, e null'altro: non ho pregiudizi a lasciarmi persuadere che si possano estrapolare delle strategie valide.

Pero' e' sicuramente piu' facile prevedere qualche regolarita' in qualche fenomeno quando la variabile indipendente da seguire e' solo una.

Ciao
 
Fa eccezione il periodo dalle 20 alle 20.30 dove c'è qualcosa......

Ciao!

O.T. ISSIMO Per Paolo

Tra le 20 e le 20.30 - come tu giustamente rilevi - ho venduto un fibbone (5 mini) a xx325 da portare overnight e rivendere in open domani.
Il motivo.
Dopo l'annuncio sui tassi,
dalle 17:38 close del FIB diurno
a) il MIBTEL serale ha perso - 0,1 %
b) gli indici USA hanno perso -0,29 %
c) il fibbone ha guadagnato +0,09 %

Se non avessi la TOBIN sul groppone, penso che questa sera per un istituzionale si potrebbe addirittura fare un arbitraggio tra costituenti (-0,1%) e derivato (+0,09)

Lascio fare agli istituzionali, io non posso permettermi di pagare tasse
(ne pago gia' fin troppe a causa della famigerata Air Bnb Tax, se dovessi pagare anche troppo di Tobin mi suicido :-)


Ciao
 

Allegati

  • Cattura.JPG
    Cattura.JPG
    143,5 KB · Visite: 66
Ho di recente consegnato un nuovo modello previsionale, stavolta per i prezzi, non per la volatilità. Vale la pena condividere i risultati anche di questo.
L'idea del modello come al solito è prendere un concetto solido e sfruttarlo al meglio, in questo caso l'idea è la più vecchia del mondo, seguire i trend.
Il problema è che quando si cerca di formalizzare questa cosa e di farne il motore di un trading system si incontrano molte difficoltà. Intanto non è facilissimo stabilire in modo assoluto cos'è un trend. Stabilire dove inizia e dove finisce non è ovvio. Il concetto intuitivo di una retta che tutti abbiamo visto nei manuali di analisi tecnica non si avvicina nemmeno a descrivere la cosa. Infatti la risposta è che non c'è una risposta univoca. Uno dei metodi classici con cui si affronta la cosa è stabilire delle soglie di volatilità oltre le quali un trend si considera interrotto (è il principio del celebre indicatore Supertrend.) Quindi ad esempio se decidiamo che un trend rialzista si considera concluso quando si verifica un ribasso locale del 60% otterremo che SP500 è in un unico continuo trend che prosegue dagli anni '50 ad oggi. Se invece decidiamo che la soglia è del 3% otterremo una lunga sequenza di trend più brevi. La bontà di questa definizione dipende dallo scopo che vogliamo perseguire.
Ad esempio ci sono degli studi che mostrano quali sono i parametri ottimi per il Supertrend e anche se in effetti di solito usare le soglie di volatilità come trailing stop nelle strategie trend following può portare a qualcosa di buono i parametri ottimi variano continuamente nel tempo e a seconda del sottostante.

Quello di cui nessuno si accorge è che il motivo per cui le strategie trend following falliscono è perché la cosa più difficile non è capire cosa comprare, qualsiasi indicatore è in grado di distinguere tra tori e orsi; la cosa davvero difficile che fa la differenza tra il successo e il fallimento è stabilire i livelli di ingresso e gli stop. Le strategie trend following dipendono praticamente solo da questo. Un segnale di ingresso long in un trend rialzista può far perdere soldi.

In sostanza si tratta di capire qual è il punto migliore di un trend in cui entrare, ed è un problema abbastanza intuitivo. Da un lato entrare precocemente in un trend appena nato può massimizzare il profitto ma aumenta sensibilmente il rischio di falsi segnali. Al contrario entrare in un trend già consolidato e di lungo corso aumenta la probabilità che quello continui ma riduce il possibile profitto perché il trend sarà più prossimo alla fine. Infatti le strategie basate sul supertrend che forniscono segnali di ingresso non appena si rompe al rialzo la barriera di volatilità forniscono un mare di falsi segnali e se anche hanno profitti hanno quasi sempre delle percentuali di vittoria inferiori al 50%. In pratica il supertrend dice di entrare in ogni movimento al rialzo, ma solo di rado questo significherà aver beccato un lungo trend appena nato. Diciamo che il supertrend così facendo "spara nel mucchio" e qualcosa becca ma il più delle volte non becca nulla.
Quindi come si fa? C'è un punto "statisticamente ottimo" di ingresso?

Io per rispondere ho preso gli 80 titoli con gli spread più bassi di sp500 (la commessa è per azioni USA) e su questi titoli ho creato un ampio database con dentro tutti i trend avvenuti dal 2007 ad oggi. Per delimitare questi trend ho usato il supertrend appunto. Solo che in questo caso la scelta dei suoi parametri non è così importante perché non userò questo indicatore per produrre segnali operativi. Mi serve solo per delimitare i trend e averne una collezione abbastanza ampia da poter fare considerazioni statistiche. Nello specifico con 10 anni di contrattazione e 80 titoli ho messo insieme un db con più di 100000 elementi.

A questo punto per ognuno di questi elementi ho creato delle metriche più o meno rilevanti per caratterizzare il trend in questione. Alcune di queste sono le più ovvie:

1. durata del trend in corso al tempo attuale
2. gain del trend in corso al tempo attuale
3. andamento storico (ad esempio, il ritorno dell'ultimo anno)

altre sono meno ovvie.

A questo punto ogni singolo trend nel mio db è caratterizzato da un vettore di numeri che sarebbero le metriche che ho appena detto e che danno una descrizione più o meno esaustiva del trend e del contesto in cui è avvenuto. A questo punto ho addestrato degli ensemble di reti neurali ad associare a queste metriche la durata residua del trend sia in termini di tempo che di gain. In sostanza le mie reti neurali prendono in input le caratteristiche del trend in corso e sulla base di quello che è avvenuto negli ultimi 10 anni forniscono in output una previsione di quanto ancora durerà quel trend. In questo modo sono in grado contemporaneamente di dirmi su base statistica quali sono i trend più promettenti, quali i livelli di ingresso migliori e quali i livelli di stop migliori.
Ho backtestato la strategia in un periodo che va da dicembre 2015 a maggio 2017. La scelta dell'inizio del test non è casuale, essendo una strategia only long volevo inserire anche una situazione di mercato avversa (la crisi dei mercati orientali di gennaio 2016.)
Per il test ho scelto una strategia di money management molto elementare e molto prudente. La size dell'investimento è fissa ed è il 2% del capitale iniziale.

Di seguito la equity line della strategia e le statistiche. Uso come benchmark un classico buy & hold su sp500 e una strategia con stesso money management, sempre only long ma coi segnali prodotti in modo classico dall'indicatore Supertrend. Da notare che dà buoni risultati anche la classica strategia basata sul Supertrend, solo che guardando le sue statistiche si vede che praticamente è una strategia che perde più che vincere, solo che quando vince vince molto perchè entra nei trend all'inizio quindi di media risulta profittevole.

5zpmiv.jpg



Neural Networks
Periodo = 21 Dicembre 2015 - 31 Maggio 2017
Size = fissa, 2% del capitale iniziale (2000)
Titoli complessivi analizzati = 80
Titoli effettivamente negoziati = 25
Capitale iniziale = 100000
Capitale finale = 181145
N. trade = 424
Net Profit = 81145
Gain = 81%
Average gain = 9.6%
Winning percentage = 70%
Max drawdown = -4.6%
Durata media operazioni = 46 giorni


Supertrend
Periodo = 21 Dicembre 2015 - 31 Maggio 2017
Size = fissa, 2% del capitale iniziale (2000)
Capitale iniziale = 100000
Capitale finale = 133363
N. trade = 395
Net Profit = 33363
Gain = 33%
Average gain = 4.22%
Winning percentage = 47.5%
Max drawdown = -2.6%
Durata media operazioni = 39 giorni


SP500 B&H
Periodo = 21 Dicembre 2015 - 31 Maggio 2017
Size = 100%
Titoli complessivi analizzati = 1
Titoli effettivamente negoziati = 1
Capitale iniziale = 100000
Capitale finale = 120256
N. trade = 1
Net Profit = 20256
Gain = 20%
Average gain = 20%
Winning percentage = 100%
Max drawdown = -12%
Durata media operazioni = 363 giorni


Un altro grafico molto interessante è quello della variazione dell'average trade; ha sull'asse delle x gli stop limit predetti dalle reti neurali e sull'asse y l'average gain che si è poi effettivamente verificato associato a quei livelli di uscita. Le uscite previste sovrastimano decisamente l'effettivo gain, ma questo è dato dal fatto che l'algoritmo non esce dalle posizioni solo al raggiungimento del target gain ma anche al raggiungimento della scadenza temporale per cui la rete neurale ha individuato l'apice del trend. Quindi si esce dalla posizione:
1. In profitto se si raggiunge il target
2. In perdita se si tocca lo stop loss (simmetrico rispetto al target)
3. Alla scadenza temporale per cui la rete prevede l'apice del trend. Questa uscita può essere sia in perdita che in gain.

La cosa davvero interessante è che è un grafico che (al netto di ovvie irregolarità) cresce sempre. Questo significa che possiamo "alzare la manopolina" del gain previsto dalle reti quanto vogliamo e selezionare trade sempre più sicuri fino a percentuali di vittoria superiori al 90%. In sostanza questo grafico dice che selezionando i trend per i quali il modello ha previsto un margine di continuazione più ampio effettivamente andiamo sempre a guadagnare di più. Ovviamente così faremo molte meno operazioni ma è un ottimo elemento che testimonia la bontà del modello. Per il backtest ho scelto di mantenere il numero di trade accontentandomi di un average trade e una winning percentage discreti, ma avrei potuto scremare ancora di più fino ad avere il 100% di vittorie e un average gain del 15-20% solo che così facendo avrei effettuato molte meno operazioni.

348g8pf.jpg

Vedo che con questo post tutti I lurkers ( me compreso :D ) escono dale catacombe

Ciao Ernesto, nun ce interessa il supertrend, caccia fuori il codice del Neural Nets please!!!
 
Vedo che con questo post tutti I lurkers ( me compreso :D ) escono dale catacombe

Ciao Ernesto, nun ce interessa il supertrend, caccia fuori il codice del Neural Nets please!!!

Uhm, tu pensi che il signor Ebenezer sia Ernesto Sparalesto? Boh.....

No, io con Ebenezer ho avuto una discussione anni fa, quando lavorava su modelli ARMA perché ho sempre pensato che presentare dei risultati senza fare una disclosure completa sulla metodologia non sia un approccio utile alla discussione, perché in questo modo si può affermare quello che si vuole.... finisce per essere pubblicità (anche se non voglio dire che lo scopo sia davvero quello).

Ps: Il supertrend è noto per essere piuttosto un indicatore contrarian.

Ciao Serpentone!
 
Uhm, tu pensi che il signor Ebenezer sia Ernesto Sparalesto? Boh.....

No, io con Ebenezer ho avuto una discussione anni fa, quando lavorava su modelli ARMA perché ho sempre pensato che presentare dei risultati senza fare una disclosure completa sulla metodologia non sia un approccio utile alla discussione, perché in questo modo si può affermare quello che si vuole.... finisce per essere pubblicità (anche se non voglio dire che lo scopo sia davvero quello).

Ps: Il supertrend è noto per essere piuttosto un indicatore contrarian.

Ciao Serpentone!

Ciao Paolo :)

Non dirlo a me, ogni volta che entro in questa sezione mi viene il magone, mi sembra una metafora perfetta dell'Italia: talento sprecato, occasioni mancate e gente progioniera dei suoi narcisismi (ogni riferimento a "lind us", che stimo molto, é puramente casuale. (*)). Ti fai una passeggiata su Quantopian e v equity con Sharep > 2 e rendimenti da 300% all'anno, MA vedi anche errori da principainti che fanno sorridere, e li vedi cercare soluzioni a cose di cui qui si parlava 10, quasi 20 anni fa.

Io cmq aspetto il Neural Nets! :yes:

(*) lettura raccomandatissima a tutti gli italiani: Il professor Vittorino Andreoli: "L'Italia e un Paese malato di mente. Esibizionisti, individualisti, masochisti, fatalisti"
 
O.T. X Paolo
Questa mattina e'andata a finire che le ho buscate sul fibbone, ma mi sono "vendicato" in seduta stante comperando 1 fibbone prima delle 18:00 (underperformance -0,09 sugli USA) e rivendendolo nel classico range delle inefficienze, quello che va dalle 20:00 alle 20:30 dove adesso il fibbone e' andato in overperformance (di +0,10% dal grafico in calce)
Ciao
 

Allegati

  • Cattura.JPG
    Cattura.JPG
    120,1 KB · Visite: 47
No, non sono io. Probabilmente neanche sotto l'effetto di sostanze psicotrope avrei potuto partorire un condensato di scemenze tali. E sarei proprio curioso di conoscere chi "compra" sta roba... andrebbe inserito di diritto nell'annuario degli allocchi finanziari. Viene il magone anche a me(cit. Snake che saluto) a leggere ancora, nel 2017, dopo tutto ciò che "abbiamo prodotto", thread di questo tipo. Un saluto a tutti,

Sig.E
 
Nell'obiettivo finale di stabilire cosa e' un trend il problema precedente a quello di stabilire delle soglie di volatilita' e' costituito dall'individuare delle frequenze idonee di campionamento.

Ultimamente anch'io mi trovo a confrontarmi con problemi analoghi ai tuoi riguardo la determinazione di eventuali trend nel FIB afterhours, se presenti. Anzi, credo che se tu studiassi questo modello del FIB AH potresti riuscire a creare un cosiddetto "toy problem", cioe' un modello estremamente interessante da testare per un approccio riduzionista al problema di determinare soglie idonee per ACF, correlazioni, livelli di curtosi per mercati piu' complessi e sofisticati del FIB serale.

A mio avviso il FIB serale puo' essere descritto come un vero e proprio "toy problem" per la presenza di un'unica variabile indipendente, costituita dalle variazioni sul continuo dei mercati oltreoceano, in quanto l'informazione specifica dei mercati italiani si esaurisce alle 17:30 (o al limite entro le 18:00, massimo, se esce ancora qualche comunicato price sensitive su azioni italiane)

A prescindere, a me sembrava che il fib serale potesse e possa costituire un ottimo modello per strategie di spotting/following, perché la variabile indipendente e' riducibile di fatto ad una sola (il comportamento dei mercati oltreoceano) e quindi il problema tecnico si riduce a cercare di predirre la variabile dipendente (il Fib serale)

Diffido invece dalle strategie che abbiano il buon proposito di cercare di prevedere i prezzi, perché le variabili indipendenti da individuare/calcolare/monitorare sono praticamente infinite. Ma solo diffido, e null'altro: non ho pregiudizi a lasciarmi persuadere che si possano estrapolare delle strategie valide.

Pero' e' sicuramente piu' facile prevedere qualche regolarita' in qualche fenomeno quando la variabile indipendente da seguire e' solo una.


1. Sì è vero più a monte c'è la scelta del timeframe ma a pensarci un attimo si può dire che scegliere una soglia di volatilità si porta dietro anche la scelta del timeframe. Soglie alte daranno origine a operazioni di lunga durata e viceversa.

2. Non ho dati storici sul fib ora ma se una relazione diretta esiste tra gli andamenti usa e il fib serale allora si fa in fretta

3. Il numero delle variabili secondo me non è tanto importante. Certo meno sono più è facile gestirle (e selezionarle soprattutto, il problema della selezione delle variabili tutto è tranne che è ovvio e anzi è un campo di ricerca aperto nel campo machine learning.) Ma il punto non è tanto quante sono le variabili quanto cosa rappresentano.
Esempio: se la variabile regressore è la chiusura di oggi e la variabile da prevedere è la chiusura di domani in questo caso la variabile è una sola ma il problema è molto complicato. E` la famigerata "cartomanzia".



Vedo che con questo post tutti I lurkers ( me compreso :D ) escono dale catacombe

Ciao Ernesto, nun ce interessa il supertrend, caccia fuori il codice del Neural Nets please!!!

Acqua. Non sono una delle personalità di Ernesto. Per il codice leggi dopo.



Uhm, tu pensi che il signor Ebenezer sia Ernesto Sparalesto? Boh.....

No, io con Ebenezer ho avuto una discussione anni fa, quando lavorava su modelli ARMA perché ho sempre pensato che presentare dei risultati senza fare una disclosure completa sulla metodologia non sia un approccio utile alla discussione, perché in questo modo si può affermare quello che si vuole.... finisce per essere pubblicità (anche se non voglio dire che lo scopo sia davvero quello).

Ps: Il supertrend è noto per essere piuttosto un indicatore contrarian.

Ciao Serpentone!

La disclosure completa mi richiederebbe molto lavoro, ne uscirebbe un seminario. Ma non è necessario dire proprio tutto. L'idea è replicabile anche senza scendere nei dettagli. Ma visto che ci siamo vedrò di essere più preciso.
Ho fatto le seguenti cose nel seguente ordine:

1. mi hanno fornito dati storici daily (aperture, chiusure, massimi e minimi) di 80 titoli del paniere sp500, quelli più tradabili
2. ho implementato l'indicatore supertrend in matlab (una mia versione asimmetrica, ma va bene quello classico)
3. ho usato il supertrend su tutti e 80 dal 2007 ad oggi per delimitare i trend appunto. I parametri usati per l'indicatore sono quelli classici, 3 e 10. Questi parametri delimitano trend medi di circa 25-30 giorni. (Ora sto backtestando un modello identico ma con parametri più stretti per operazioni più rapide.)
4. ho costruito un database di tutti questi trend, in sostanza in sostanza in questo db ogni chiusura degli ultimi 10 anni di tutti e 80 i titoli rappresenta un singolo sample, vale a dire l'istante di un trend che caratterizzerò in un certo modo e che ex-post avrà uno sviluppo e so come finirà, ossia quanto durerà ancora e quanto sposterà il prezzo.
5. caratterizzo ognuno di questi istanti con delle metriche. Nello specifico quelle che ho usato io sono le seguenti:
a.lunghezza temporale del trend in corso
b. gain accumulato
c. ritorno di un periodo di tempo pari a 10 volte il punto a.
d. rapporto percentuale tra l'attuale prezzo e la barriera di volatilità data dal supertrend, ossia "di quanto il prezzo è sopra al supertrend"
e. rapporto tra il punto d. e il punto d. calcolato nell'istante in cui il prezzo ha infranto la barriera del supertrend iniziando così un nuovo trend
f. tempo trascorso tra l'istante attuale e l'istante di massimo del trend in corso
g. ritorno tra il massimo locale del punto sopra e il prezzo attuale
h. media delle differenze seconde della serie storica del trend. Questo è sarebbe un fattore warp che geometricamente distingue tra trend "concavi" e "convessi", ossia distingue quelli che stanno aumentando la loro forza da quelli che la stanno diminuendo. In breve è la derivata seconda. La curvatura.
6. titolo per titolo prendo il mio bel algoritmo basato su reti neurali e addestro queste reti ad associare all'input descritto al punto 5. il tempo residuo del trend associato e il gain residuo.
7. Uso il gain residuo come segnale operativo di ingresso selezionando i trend che in base a questo output dovrebbero durare di più e uso la predizione del tempo restante come uscita nel caso in cui non si raggiunga il target o lo stop loss che metto simmetrico rispetto al target.

Una nota al punto 6. Il motore della baracca è lì ma un motore vale l'altro. Io uso reti neurali perché è il mio ambito di ricerca e ho le mie librerie che uso in mille ambiti e che hanno dentro i miei barbatrucchi. Il punto è che non è necessario usare questo particolare modello al punto 6. Serve solo un modello qualsisi che si addestri ad associare i valori del punto 5. con l'output del punto 6.
Se poi vuoi maggiori informazioni sul modello specifico ho usato reti superficiali feedforward con soli 5 neuroni nello strato nascosto e funzione di uscita lineare, un solo strato nascosto. Ho addestrato ensemble di 10 reti e su questi poi ho mandato i miei algoritmi che hanno selezionato dei sottostack "ottimi" e hanno mediato gli output per ridurre la varianza sempre tramite algoritmi che ho sviluppato con l'università di torino. Se vuoi più dettagli posso darteli ma è inutile. IO ho usato questo strumento al punto 6. ma sono gli altri punti che contano. Tracciano un percorso da A a B. Io ci vado con la mia macchina tu puoi usare altri mezzi e ottenere risultati altrettanto validi. In alternativa ad esempio puoi usare un k-nearest neighbor e prendere le n situazioni di mercato più simili a quella che stai considerando e fare considerazioni statistiche su quelle n per ottenere un valore atteso. I metodi sono molti. Aggiungere dettagli non serve particolarmente a meno di mettersi a scrivere un articolo o fare un seminario con davvero TUTTI i dettagli.
Dici che ho "disclouso" abbastanza?

ps: il supertrend è contrarian se lo usi per produrre segnali di ingresso, è following se lo usi come trailing stop.


No, non sono io. Probabilmente neanche sotto l'effetto di sostanze psicotrope avrei potuto partorire un condensato di scemenze tali. E sarei proprio curioso di conoscere chi "compra" sta roba... andrebbe inserito di diritto nell'annuario degli allocchi finanziari. Viene il magone anche a me(cit. Snake che saluto) a leggere ancora, nel 2017, dopo tutto ciò che "abbiamo prodotto", thread di questo tipo. Un saluto a tutti,

Sig.E

Ciao Erne`, tutto bene?
 
8) ho chiesto alla Yellen&Co di proseguire con il QE. Aggiungi pure questa. Oh! Facce sapè chi te lo compra che avvisiamo la Caritas.
 
Erne` ti giuro che sei l'unico motivo per cui ogni tanto vengo qui a postare.

Lo so che mi volete bene, come io ne voglio voi. Vi do un argomento su cui riflettere The "upper floor" paradox e la naturale prosecuzione:

La volatilità è inversamente proporzionale alla "uscita", di siicurezza o meno, del vs. trade.

Ovvero, più a volatilità si alza, più si restringe la grandezza della porta di uscita dal trade. Oppure, più la volatilità si alza, più si restringe l'arco temporale utile per portare a casa i soldi(se avete stabilito un punto di uscita generico). Ragionate su questo, che nn trovate nei fora amatoriali....non su TS solo long quando la volatlità via QE, non FA CHE DECRESCERE.

Volatilità->tempo di uscita(grandezza porta e grandezza(size) trade). Tante scommesse di piccola size<secondo piano->velocità->si esce in minor tempo e più facilmente-> minor ruin risk(diversificazione scommesse), maggiore efficienza.

Rimediate un fisico bravo che sappia formalizzare i concetti sopra (che spiegano completamente perchè la velocità oggi sia fondamentale..tanti operatori, porte che si restringono all'improvviso, chi le imbocca per primo vince.

Affrontate concetti nuovi..NUOVI..ed io torno.


ADDIO. :D

Sliding Doors (1998) Trailer - YouTube
 
Ultima modifica:
Lo so che mi volete bene, come io ne voglio voi. Vi do un argomento su cui riflettere The "upper floor" paradox e la naturale prosecuzione:

La volatilità è inversamente proporzionale alla "uscita", di siicurezza o meno, del vs. trade.

Ovvero, più a volatilità si alza, più si restringe la grandezza della porta di uscita dal trade. Oppure, più la volatilità si alza, più si restringe l'arco temporale utile per portare a casa i soldi(se avete stabilito un punto di uscita generico). Ragionate su questo, che nn trovate nei fora amatoriali....non su TS solo long quando la volatlità via QE, non FA CHE DECRESCERE.

Volatilità->tempo di uscita(grandezza porta e grandezza(size) trade). Tante scommesse di piccola size<secondo piano->velocità->si esce in minor tempo e più facilmente-> minor ruin risk(diversificazione scommesse), maggiore efficienza.

Rimediate un fisico bravo che sappia formalizzare i concetti sopra (che spiegano completamente perchè la velocità oggi sia fondamentale..tanti operatori, porte che si restringono all'improvviso, chi le imbocca per primo vince.

Affrontate concetti nuovi..NUOVI..ed io torno.

Direi che un'antimartingala al 2% non è esattamente un money management da kamikaze...




Questo detto dal tuo 39mo account è poco credibile :D
 
(Con un rischio più alto e l'antimartingala al 4% il backtest mostrava un gain finale abbastanza astronomico. E il 4% è un approccio aggressivo ma ancora ragionevole. Il 2% è anche un po' vigliacchetto.)
 
@Ebenezer

Allora, lasciando perdere le tecnicality, RN etc, se ho ben capito tu fai un discorso di tipo "cinematico", cioè esamini le caratteristiche della traiettoria del prezzo per stabilire di giorno in giorno uno score sui sottostanti, scegliendo poi i primi in graduatoria per l'apertura di posizioni.

Oltre a fare una previsione di target ne fai anche, e questo è più inusuale, una di tempo.

Nel complesso non è un discorso nuovo, se non vado errato anche il prof. seguiva una linea del genere (variabili di movimento e score).

A occhiometro, la tua metodologia è simile al ragionamento che fanno molti discrezionali:

Valutare le modalità che cui un segnale si presenta per discriminare trend in formazione da rimbalzi tecnici, o nel caso di trend già in essere valutarne la struttura e la bontà di un eventuale entry point.

Del resto possiamo pensare che qualsiasi linea di ragionamento umano possa essere riprodotta (anche meglio) da una AI.

Lasciamo perdere i problemi di overfitting che nascono sempre quando si parte da una serie storica di prezzi. In sostanza, per la mia esperienza, certe linee di ragionamento funzionano finché funzionano; poi un bel giorno un criterio smette di funzionare e addio.

Quello che mi chiedo è se hai fatto un tentativo di valutazione dei costi, perché paragonare il risultato di 400 e passa operazioni col buy e hold è particolarmente ingeneroso, e su questo punto ci sarebbero varie cose da dire, ma verrebbe fuori un pippone.

Inoltre mi incuriosirebbe capire perché hai scelto proprio il Super Trend come discrimine di trend.

Ciao.
 
Allora, lasciando perdere le tecnicality, RN etc, se ho ben capito tu fai un discorso di tipo "cinematico", cioè esamini le caratteristiche della traiettoria del prezzo per stabilire di giorno in giorno uno score sui sottostanti, scegliendo poi i primi in graduatoria per l'apertura di posizioni.

Oltre a fare una previsione di target ne fai anche, e questo è più inusuale, una di tempo.

Nel complesso non è un discorso nuovo, se non vado errato anche il prof. seguiva una linea del genere (variabili di movimento e score).

A occhiometro, la tua metodologia è simile al ragionamento che fanno molti discrezionali:

Valutare le modalità che cui un segnale si presenta per discriminare trend in formazione da rimbalzi tecnici, o nel caso di trend già in essere valutarne la struttura e la bontà di un eventuale entry point.

Del resto possiamo pensare che qualsiasi linea di ragionamento umano possa essere riprodotta (anche meglio) da una AI.

E` precisamente così. Non mi sono inventato niente. Del resto i concetti vecchi se sono diventati vecchi e ancora sono qui sarà per un motivo. Ho preso l'idea più vecchia del mondo e l'ho formalizzata/automatizzata. Quindi alla fine il risultato è un analista tecnico artificiale le cui intuizioni sono solo su base statistica ed estese a un ventaglio di titoli che un umano non potrebbe mai monitorare contemporaneamente.

Lasciamo perdere i problemi di overfitting che nascono sempre quando si parte da una serie storica di prezzi. In sostanza, per la mia esperienza, certe linee di ragionamento funzionano finché funzionano; poi un bel giorno un criterio smette di funzionare e addio.
E` una strategia only long in un decennio di costante crescita quindi al prossimo tonfo un drawdown sarà fisiologico. Quello che è prevedibile è che sia un drawdown breve perché la strategia è only long ma le reti sono addestrate anche in periodi di forte crisi (dal 2006 ad oggi), quindi dopo un primo impatto quello che mi aspetto è che semplicemente non producano più segnali abbastanza forti visto che i titoli staranno andando giù.

Quello che mi chiedo è se hai fatto un tentativo di valutazione dei costi, perché paragonare il risultato di 400 e passa operazioni col buy e hold è particolarmente ingeneroso, e su questo punto ci sarebbero varie cose da dire, ma verrebbe fuori un pippone.
Sì, avevo dimenticato di dire che la equity postata comprende 10 euro di commissione (l'attuale di Fineco per l'azionario USA) per ogni operazione. Diciamo che essendo la size degli ingressi nell'ordine di migliaia di euro e il gain medio attorno al 10% 10 euro di commissione hanno un impatto relativo.

Inoltre mi incuriosirebbe capire perché hai scelto proprio il Super Trend come discrimine di trend.

Ciao.

Non c'è un motivo preciso. Ci sono altri indicatori basati sullo stesso concetto in effetti e avrebbero funzionato anche quelli. Semplicemente ogni idea che mi veniva per delimitare i trend finiva per essere riconducibile a quella su cui si basa il supertrend (ossia le soglie di volatilità) quindi tanto vale...
 
Indietro