Costruzione di trading system. Esperienze personali.

Scritto da gioric51
Roberto,
6 anni fa TradeStation era alla versione 2 o 3, ora siamo alla 6 con possibilità di immissione automatica degli ordini :)

Com'e' brutto invecchiare :(

Sono un povero nostalgico. Come gli scalpellini del Duomo di Milano che si forgiano gli strumenti da soli a colpi di mazza quando invece potrebbero usare delle frese laser.

Io preferisco così ed in fondo questo é un diario ;)
 
DIARIO - 4

Dove eravamo rimasti ?

ai dati.

ok adesso abbiamo i dati in un formato leggibile, filtrati e senza limitazioni di dimensione ci siamo esercitati per bene con Excel e abbiamo un paio di ideuzze. Bisogna sviluppare il tema.

Possiamo scegliere tra partire a sviluppare un TS che ci dirà dove il mercato andrà entro un determinato periodo oppure un sistema che ci dice dove sta andando adesso.

Per gli scettici come me la strada é obbligata .... si comincia a lavorare ad un follow trend, ossia ad un sistema che mi dice cosa fare adesso sperando di azzeccarci 6 volte su 10 e che mi sconsigli di tenere posizioni contro il mercato.

Bisogna costruire innanzitutto un piccolo set di funzioni che verranno utili al momento opportuno.

Una per il calcolo delle medie mobili semplici, esponenziali e volumedipendenti (non so come battezzarla altrimenti).
Una per il calcolo della volatilità
Una per il calcolo dell'rsi.
Una per il riconoscimento di particolari pattern.

Vi servirà poco altro in seguito.

Se utilizzate dei livelli di soglia e cominciate a scrivere al posto di X1 > X2 o X1 < X2 le vostre condizioni come (X1 - Z) > X2 o (X1 + Z) < X2 praticamente sarete in grado di eguagliare i migliori filtri sino ad oggi scoperti.
Scegliete voi a che cosa legare "Z" (Alla volatilità, al rggiungimento di un livello di profitto e via provando).

Sembra troppo semplice ?

La semplicità non é mai un difetto. Di solito si accompagna alla robustezza.

segue ...
 
Scritto da roberto


Ciao !

Ho potuto verificare che nessun privato senza una struttura di supporto resiste a lungo utilizzando strumenti dotati di forte leva finanziaria. Sono troppe le penalizzazioni che é costretto a subire. Capitali limitati. Problemi di marginazione. Necessità di contattare il broker in caso di problemi. Limiti delle piattaforme tecnologiche. Alti costi di slippage e commissionali.
In pratica solo all'interno di una struttura (Sim o banca) esistono le condizioni per cui un TS possa essere adottato ed utilizzato per lungo tempo. Commissioni tendenti a zero. Informativa ridondante e applicazione diretta degli ordini sul mercato.

Un trading system che lavora in tempo reale e che puo' portarti ad eseguire una decina di operazioni al giorno ha almeno un 50% di performance in più se utilizzato dal "padrone del vapore" piuttosto che da un generico utilizzatore :)

Nessuno impedisce ad un privato di provarci ma alla lunga il fatto di essere penalizzati pesa ..

Per esperienza posso dire: Molto Vero. Le Sim hanno strumenti in più.

Un caro saluto e complimenti per il post. Appena avrò tempo lo leggerò per bene.

conide
 
xRoberto
concordo in larghissima parte con quanto detto, frutto di molto buon senso: non tutti però possono o vogliono lavorare in team e non tutte le idee, credo, sono state prodotte da 30 anni a questa parte.
x Federico
la necessità da te già esposta di un feedback da parte del ts che automaticamente dovrà cambiare i parametri adottati, in che modo differisce da una scelta di parametri statici che riesca a prevedere "ogni" possibile situazione del trading?
Non so se sono riuscito a essere chiaro: un cambiamento delle variabili in itinere non può essere, per così dire, inglobato in una scelta più ampia delle stesse?
un saluto, quirus
 
Ciao, Quirus.

la mia idea non è assolutamente nuova. Sono inoltre fondamentalmente convinto che, con un pò di tempo a disposizione per una modellizzazione "seria", si potrebbero applicare proficuamente anche alla finanza molte delle tecniche di ottimizzazione ( lineare e non ) già proficuamente adattate per altri problemi.

Un esempio PRATICO della cosa ? le principali multinazionali produttrici e distributrici di petrolio/derivati, tengono costantemente al lavoro dei super-calcolatori con l'UNICO scopo di ottimizzare le rotte delle navi da trasporto. Così facendo i risparmi dovuti alla semplice riottimizzazione in itinere sono di gran lunga superiori ai costi di tali centri di elaborazione.

Per ritornare ai TS adattivi, l'idea di base è quella di far variare alcuni parametri in funzione di determinati valori estratti dal sistema, come la "vola"; ne uso già adesso una definizione mia e su di essa aggancio già adesso una attività di filtering abbastanza significativa.

Tuttavia, usando io un TS "trailing" che giocoforza è un Trend-Follower, mi rimane il problema derivante dal variare il "fattore di trailing" in maniera "furba", e questo potrebbe esser fatto definendolo in funzione della vola. Sto cercando una legge di variazione in tal senso.

Le Medie Adattive sono sicuramente sfruttabili ad esempio per TS adattivi; tuttavia una Media si muove sempre con un certo numero di frame in ritardo ( in genere pari al numero dei frame della media stessi diviso 2 ), ed a volte questo ti fa perdere molto del gain che hai accumulato.
Ecco perchè io uso un metodo "a livelli", che si adattano alla frame successiva senza bisogno di attendere la variazione sulla media indotta funzionalmente dalla legge scelta ( sia essa lineare o esponenziale, con o senza smoothing ).

In definitiva, io uso indicativamente dai 10 ai 15 parametri ( tre livelli, tempo di latenza, inoperosità in momenti del giorno sono solo un esempio), e farne variare alcuni in funzione di variabili indipendenti del sistema non è altro un modo di ottimizzare il rendimento del TS, avendo ben presente che l'over-fitting deriva dallo scegliere forzatamente i valori che massimizzano tale valore senza avere una logica men che robusta alle spalle e soprattutto caratteriuzzati da evidenti discontinuità.
Ecco, questo son sicuro che lo apprezzi: l'over-fitting con i TS è un concetto analogo ( stavo per dire isomorfo ) a quello di un punto di discontinuità di una funzione. Rendendo il tutto continuo e derivando il rendimento del TS rispetto al parametro che fai variare, CON MOLTA PROBABILITA' l'over-fitting è caratterizzato da variazioni "miracolose" del rendimento al variare MINIMO di un parametro, subito rientranti dopo il punto di discontinuità.

Fammi sapere cosa pensi dell'idea.

Saluti.
 
Ciao Roberto, complimenti per il post e grazie per le riflessioni.

L' unica nota che vorrei aggiungere riguarda Tradestation: utilizzando il Software Development Kit di Omega è possibile (anche se non semplice) integrare software esterni con TS2000i.
Ciò porta i seguenti vantaggi:
. poter utilizzare TS2000 per la visualizzazione, lo studio grafico e il backtest del sistema
. poter utilizzare tramite EasyLanguage software e basi di dati "custom", ottimizzati per l' esecuzione di determinati "tasks" su cui ts2000 è tecnicamente limitato, mantenendo un' unica interfaccia utente.
Considerando questa caratteristiche TS2000 è spesso sia un punto di partenza, sia un punto d'arrivo sullo sviluppo di un trading system.

Nel caso potesse risultare utile, mi rendo disponibile a collaborare a questo "diario di viaggio" offrendo la mia esperienza sullo sviluppo software con EasyLanguage, Visual Basic, Visual C++, Sql Server, Office e affini

Ciao

Stefano
 
Scritto da stefanou
Ciao Roberto, complimenti per il post e grazie per le riflessioni.

L' unica nota che vorrei aggiungere riguarda Tradestation: utilizzando il Software Development Kit di Omega è possibile (anche se non semplice) integrare software esterni con TS2000i.
Ciò porta i seguenti vantaggi:
. poter utilizzare TS2000 per la visualizzazione, lo studio grafico e il backtest del sistema
. poter utilizzare tramite EasyLanguage software e basi di dati "custom", ottimizzati per l' esecuzione di determinati "tasks" su cui ts2000 è tecnicamente limitato, mantenendo un' unica interfaccia utente.
Considerando questa caratteristiche TS2000 è spesso sia un punto di partenza, sia un punto d'arrivo sullo sviluppo di un trading system.

Nel caso potesse risultare utile, mi rendo disponibile a collaborare a questo "diario di viaggio" offrendo la mia esperienza sullo sviluppo software con EasyLanguage, Visual Basic, Visual C++, Sql Server, Office e affini

Ciao

Stefano

;)

Per Stefano ...

Sei il benvenuto. Hai perfettamente compreso lo scopo di questo thread e non posso che rallegrarmi della tua presenza e ti invito a proporre il tuo punto di vista senza farti condizionare dal mio.

Ho pensato a questo messaggio ispirandomi ad un bellissimo libro di Tiziano Terzani "Un indovino mi disse"

Nella primavera del 1976, a Hong Kong, un vecchio indovino cinese avverte l'autore di questo libro: "Attento! Nel 1993 corri un gran rischio di morire. In quall'anno non volare. Non volare mai!". Dopo tanti anni il giornalista Terzani, profondo conoscitore del continente asiatico, non dimentica la profezia (per sua fortuna...); la trasforma anzi in un'occasione per guardare al mondo con occhi nuovi. Decide infatti di non prendere aerei per un anno, senza tuttavia rinunciare al suo mestiere di corrispondente e di viaggiatore.

http://www.diario.it/cnt/articoli/inchieste/articolo166bis_4.htm

Per tutti gli altri ....

Vi sto proponendo un viaggio in treno o su una nave portacontainer, non su un jet. Dunque un modo di vedere le cose cercando di comprenderle lentamente.

Cononsco molti collezionisti di trading system. Possiedono il meglio. Trade Station 2000, Option Station, Advanced Get, almeno una decina di Neural qualcosa. tutti gli add on, ottimizzatori genetici , DLL e interfacciamenti possibili.

Questi collezionisti non comprendono intimamente ciò che possiedono e con il tempo perdono tutto il loro tempo nell adeguarsi a ciò che é cambiato ad ogni versione successiva del software o in alternativa scrivono un messaggio agli amici per avere più in fretta la soluzione.

Questo post non é per loro. Nessuno dei "trucchi" che nascondo delle risposte e che a me sono costati singolarmente mesi di lavoro sarà accompaganto dalle righe di codice incollate in allegato.
Saranno solo piccoli suggerimenti. Buttati li e non enfatizzati. Chi vorrà capirne l'importanza dovrà cercarli con estrema attenzione :)
 
DIARIO - 5

Arrivati a questo punto avete una interfaccia di acquisizione dati e una decina di funzioni utilizzabili. Non serve altro. Qualsiasi cosa in più vi distoglierà dall'obiettivo e vi farà perdere tempo.

Ora viene il punto più difficile. Avete bisogno di un aiuto. Di un grande aiuto.

Dovrete trovare qualcuno che vi ospiti in una struttura dedicata al trading e che accetti di mostrarvi come lavora. Operazioni vere intendo. Qualche milione di euro per volta. Magari nella sala operativa di un broker. Se avrete questa fortuna preparatevi a subire un cambiamento e a mettere da parte tutte le idee che avevate ......

Vi cadrà il mondo addosso e vi sentirete come Dio allo stesso tempo.

Vi cadrà il mondo addosso perché vi renderete conto che di solito chi opera con queste cifre usa a malapena il grafico standard di Bloomber un ticker e un foglio Excel su cui riporta le operazioni fatte.

Vi sentirete Dio perché con le quattro carabattole che avrete portato con voi sul vostro notebook vi sentirete subito sicuri di poter far meglio di chi opera a naso.

Da questo momento si riparte da capo. Dovete rimuovere ogni idea ed esperienza precedente. Voi assisterete ad un miracolo quotidiano e dovrete catalogare ogni piccolo comportamento che ha contribuito alla realizzazione del miracolo e memorizzarlo in un angolino della vostra mente.
Non vedrete solo miracoli, ma anche disastri. Fatene tesoro. Più ne vedrete e più progressi farete.

segue ....
 
Ciao Federico
Come al solito gli spunti di riflessione che offri sono veramente tanti:
1. partiamo dal numero di variabili: 10-15; io in genere ne uso e ne ho usato 4-5, forse perchè ho sempre cercato di pensare a soluzioni semplici che evitassero problemi di ottimizzazione e di over-fitting. Se utilizzi tante variabili, dovresti ottimizzare con algoritmi genetici, altrimenti, quanto durano le elaborazioni?
2. rifacendomi alla mia esperienza, comunque in questo senso oltremodo limitata, anche per il numero ristretto di variabili inserite nei ts, mi sembra che il problema dell'over-fitting sia stato forse un tantino esagerato: solo in un ts mi è capitato di vedere i rendimenti scendere in modo drastico. Il ts a cui mi riferisco andava peggio ma comunque continuava ad andare più che bene.
Si può vedere l'over-fitting come anomalia nel corso dei rendimenti, come punto di discontinuità? La questione è interessante ma, temo, inerente soprattutto alla definizione dei termini usati: se per over-fitting intendiamo una caduta drastica e momentanea dei rendimenti, allora certo, la tua analogia è del tutto giustificata. Non più, se invece intendiamo una caduta nell'equity che (lo vediamo a posteriori) è dovuta a cambiamenti radicali e persistenti del mercato. La domanda, affascinante, allora è: come distinguere il primo dal secondo caso, se non appunto a posteriori?
3. continuo a non capire bene cosa intenda per ts adattivi. Un semplice ts basato su una media mobile è per te un ts adattivo? In effetti la mm cambia al mutare del mercato. Oppure intendi ts che mutino il valore di alcuni parametri al variare dei guadagni conseguiti? Raramente ho sviluppato ts simili, ritengo possano essere molto efficaci.
4.infine mi ha colpito molto la tua idea (spero di avere bene interpretato la cosa) di sviluppare ts a "livelli", cioè che possano mutare time frame nel corso dell'operazione in essere. In effetti, se fossimo usciti correttamente dal trend al rialzo seguito all'inizio delle operazioni in Afghanistan prima dell'appiattimento dei corsi, bene avremmo fatto a cambiare time frame ad esempio operando in trading orario. Ciò ovviamente potrebbe valere anche per passaggi analoghi da time frame orari a time frame ad es. a 5 min. ecc.L'idea di un "ts globale", molto interessante, mi sembra tuttavia di difficile applicazione, soprattutto perchè problematico l'inserimento in un unico ts di passaggi simili. Infatti questi dovrebbero necessariamente presupporre la capacità di operare su banche dati di diverso tipo.

Infine x Roberto: scusa se mi sono introdotto nel tuo thread con argomenti forse non del tutto inerenti
un saluto, quirus
 
Ultima modifica:
Scritto da quirus
Infine x Roberto: scusa se mi sono introdotto nel tuo thread con argomenti, forse, non del tutto inerenti
un saluto, quirus

Hai fatto benissimo ;)

Tra poco toccherà anche a me arrivare al dunque e l'ottimizzazione sarà il perno su cui ruoteranno alcuni futuri interventi.

Intanto dai vostri sono riuscito ad impararare qualcosa di nuovo e non posso che ringraziare.
 
Lo uppo per RICORDARE al super-moderatore di RICORDARSI di noi. :D

Jelly.
 
Scritto da jellyfish
Lo uppo per RICORDARE al super-moderatore di RICORDARSI di noi. :D

Jelly.

:)

Mi ricordo, ma il week end si presta molto di più alla scrittura ;)
 
Scritto da roberto
Mi ricordo, ma il week end si presta molto di più alla scrittura ;)
Pensa alle bimbe nel week-end!!! :D
Che in men che non si dica te le ritrovi a tradare chissà quali esotici strumenti derivati mentre ascoltano musica, fanno elektrogim e ti danno del matusa perchè non sai nemmeno di cosa si tratta!!! :D:D:D
Jelly
 
Scritto da jellyfish
Pensa alle bimbe nel week-end!!! :D
Che in men che non si dica te le ritrovi a tradare chissà quali esotici strumenti derivati mentre ascoltano musica, fanno elektrogim e ti danno del matusa perchè non sai nemmeno di cosa si tratta!!! :D:D:D
Jelly

:D :D :D :D
 
pare che questo fine settimana abbiano vinto le bimbe
pero', roberto, se vuoi nei prossimi week end te le teniamo noi a turno le bimbe, se prometti di proseguire nel thread.:D

ciao
gosides
 
up

!!!!!!!!!
 
DIARIO - 6

sono passati 15 giorni dal mio ultimo intervento ......

avete perso ogni speranza che questo diario continuasse ?
avete rimosso il pensiero dalla mente ?
avete pensato male di me ?

queste ed altre sensazioni simili vi accompagneranno durante la prima fase pratica di testing delle vostre idee e del vostro modello previsionale.

Riceverete da chi ha deciso di darvi una mano nel testing qualche idea e poi verrete lasciati soli per giorni.
Vedrete gain pazzeschi ottenuti per caso e perdite ancor piu' pazzesche ottenute solo perché qualcuno vuole difendere sino alla morte una posizione.

Se avete deciso di andare avanti e siete ancora motivati dovrete superare il muro di diffidenza di chi ha deciso di utilizzare parte dei suoi capitali (o dei capitali che gestisce) seguendo il vostro trading system.

Il trucco per conquistare la fiducia dei vostri nuovi amici é facile facile.

"Seguite i miei segnali solo se siete della stessa idea".

Sembra una cosa banalissima ma funziona.

Chi non ha un benchmark da replicare preferisce non perdere soldi e quindi limitare il numero di operazioni in loss, e quando perde vuole trovare consolazione dal fatto che anche il vostro trading system ha sbagliato.

Cercate quindi di spiegare quali sono i livelli che il vostro sistema utilizza come stop loss e cuciteli sulle esigenze del vostro "cliente".

Continuate, se potete, a fare a meno di utilizzare voi stessi il vostro T.S., potrete sempre farlo in un secondo tempo, quando la vostra operatività non sarà più un alibi per mettere mano al modello :)

segue ...
 
salve roberto

Ho letto il tuo diario e condivido totalmente il tuo pensiero. Ma la parte che mi ha fatto sobbalzare dalla sedia è quando hai affrontato l 'argomanto della sala operativa, esattamente diario
parte 5, dove dici che il broker usa un grafico standar di bloomber,
un ticket , exel per registrare le operazioni fatte.

Finalmente , si finalmente la verita' è saltata fuori...era ora ..da tempo seguo i vari fol ma da poco mi sono iscritto...e tra gli iscritti ho spesso assistito ad accademiche discussioni su A.T. efficenza dei mercati ecc. ecc. dove emergevano sempre le stesse cose :

la grande preparazione ,di molti, in materia di matematica ,statistica ,informatica un po' di meno di ragioneria chissa' se la insegnano ancora..( il caso enron è un caso di "ragioneria" non di A.T.:D :D ).

cmq io ho avuto questo onore di visitare una sala operativa...... e la senzazione da me provata e da te descritta è la stessa.

Sui "monitor del broker e sul tavolino c' erano le cose da te descritte , anzi uno annotava sul block notes a penna neanche exel.....

la prima impressione fu...ma guarda sti ignoranti chi li ha fatti assumere...ecco perche' si perdono capitali in borsa... ma poi guardando bene e ascoltando il cicerone che mi faceva fare il giro turistico....ho capito che i vari indicatori, oscillatori ecc ecc sono utili si ..ma la differenza tra me è loro era una ed essenziale , l' esperienza dello stare nel mercato,

che gli aveva dato la capacita' di ridurre all' osso e di ottimizzare
gli strumenti sia di A.T. sia di "ragioneria" per analizzare il succo del problema ..........il momento "pressapoco" di entrata e il momento "pressapoco" di uscita.

Alla fine lasciando la sala avevo la mente piu' chiara su come avvicinarmi a quel "pressapoco"...cosi difficile da centrare.

Alla fine vale sempre la stessa regola uguale in tutti i mestieri.... è l'esperienza che ci fa acquisire il metodo e anche, per me importantissima, l' umilta' che ci evita deliri di onnipotenza che alle volte i 30 e lode o i 110 e lode ci fanno venire...e ke si pagano care lasciando in terra molti € ,nel nostro caso ,nostri o di altri... quando si scende in trincea.

SALUTI roberto......... lunga vita al diario.
 
Indietro