Una ventata di concretezza operativa è senz'altro gradita, benvenuto.
Personalmente trovo il trading automatizzato affascinante ma non ho capacità, risorse e fiducia sufficienti per fargli gestire il mio portafoglio.
Al momento la cosa più automatizzata che uso sono i rudimentali e banali screener che si trovano online per fare una pre-selezione dei titoli che mi possono interessare, tutto il resto a mano.
Perdona quindi le domande generiche (le risposte non è necessario che lo siano
):
1) il tuo codice è libero di cercare le correlazioni che desidera o imponi dei constraint, p.e. nessi causali predeterminati basati magari su una teoria economica?
2) dividi i tuoi dati nei tradizionali training-set, validation-set & test-set o fai altro?
Grazie per le risposte.
Ciao GiveMeLeverage,
la mia celerità nel rispondere è ai minimi termini, attività purtroppo realizzabile solo nei ritagli di tempo.
Ma veniamo al dunque poichè non ho ne la voglia ne il tempo per dedicarmi a discorsi di contorno.
Le teorie economiche sono molto affascinanti, esse offrono un " punto panoramico " magnifico, una visione ampia che ci permette di cogliere le macrotendenze evitando di incorrere in alcune distorsioni causate da condizioni estemporanee fuorvianti, il problema però è proprio questo:
se il punto panoramico è posto troppo in alto si perde la visione del dettaglio e la " sensibilità " che ne consegue.
Per una questione di comodità e semplificazione gestionale, si da per scontato che vi siano cause ( anche concomitanti e non strettamente di natura economica vedi ad esempio terremoto del Giappone ) in grado di determinare cambiamenti di tendenza anche solo momentanei, ma non si entra in merito ad esse.
Ci si sofferma invece sugli effetti che tali cause avranno sull'andamento dei prezzi, ovvero, in estrema sintesi ( e forse anche con una discreta dose di superficialità ) si assume che i prezzi scontano tutto quindi " basta " analizzare il loro andamento senza preoccuparsi più di tanto delle cause..
Poichè questi sistemi, in genere aggressivi, per raggiungere rendimenti elevati sfruttano oscillazioni di ampiezza limitata e tendono a concentrare le operazioni in prossimità dei punti di inversione ( piuttosto che la cosidetta distribuzione operativa a " pioggia " ), è necessario basarsi su una visione sufficientemente ravvicinata affinchè sia possibile cogliere i cambiamenti di fase dell'onda prezzo considerata ed il relativo timing.. ( più avanti approfondiremo il concetto ).
Non vengono nemmeno gestite correlazioni con indici di riferimento e/o altri titoli poichè ogni correlazione implica un ritardo interpretativo e quindi una maggiore possibilità di perdere il timing.
Diciamo che più che una correlazione, viene cercata una relazione diretta con un template di riferimento ovvero un'onda prezzo appartenente ad una determinata banda di frequenza ( in uno strumento finaziario vi sono onde prezzo/valore di diverse frequenze ) e la tipologia di un sistema di trading automatizzato tiene prima di tutto conto di questo aspetto ovvero del periodo di oscillazione che si vuole considerare, analizzare, gestire operativamente..
A seconda delle oscillazioni considerate: bassa, media, alta, altissima frequenza ( micro-scillazioni ) verranno implementati trading system specifici. La caratteristica ricorrente per tutte le tipologie è proprio la capacità di rilevare i cambiamenti di fase per ognuna di queste frequenze in modo tale che sia possibile " cogliere " con un ritardo accettabile ( evitando quindi di incorrere in un controfase ) il cambiamento di tendenza ( da non confondere in nessun caso con le teorie tanto stravaganti quanto strampalate di Elliott, che non aveva nemmeno un'idea esatta di cosa fosse un'onda.. ) .
I cambiamenti di fase permettono di determinare i trend e conseguentemente la strategia operativa che il sistema deve adottare.
Ormai la direzione presa nell'automazione del trading è proprio questa ovvero di sistemi quantitativi che effettuano accumuli/distribuzioni parzializzate e sono specializzati per tipo di operatività:
1) solo operatività
long ( ovvero
accumuli in prossimità del termine delle fasi ribassiste,
distribuzioni in prossimità del termine delle fasi rialziste )
2) solo operatività
short ( ovvero accumuli in prossimità del termine delle fasi rialziste, distribuzioni in prossimità del termine delle fasi ribassiste ( ricoprendosi ed uscendo dalla posizioni short ). E' quello che avviene nella gestione degli Hedge.
A volte dico che per chiarirsi le idee conviene di più avere una visione scientifica come se si trattasse di uno studio approfondito dei fenomeni ondulatori: lunghezze, frequenze, ampiezze, d'onda sommatoria delle frequenze ecc. ( la teoria di Fourier spiega perfettamente molti fenomeni che osserviamo nell'andamento dei prezzi e nei cambiamenti di fase.. ) piuttosto che avere conoscenze di tipo economico ( peraltro nel mio caso estremamente scarse ).
Le performance di un sistema basato su questi concetti saranno tanto maggiori quanto le sue capacità di saper riconoscere diverse forme d'onda con tutte le possibili varianti saranno elevate.
Poichè le forme d'onda potrebbero essere in teoria infinite ( ma solo in teoria, poichè, si scopre che il comportamento ondulatorio dei prezzi su una determinata banda di frequenza presenta una gamma ridotta di casi con diverse ricorrenze simili ), con un sistema che sia in grado di
generalizzare in modo adeguato, ad esempio partendo da una forma d'onda ricorrente ( template ) e tenendo sotto controllo tutte le possibili mutazioni che essa subisce durante il suo sviluppo, confrontandole con un database di mutazioni rilevate durante le fasi di apprendimento, oppotunamente classificate in famiglie ( per le mutazioni si tiene conto sia di dinamiche di prezzo che volumetriche che di limiti di volatilità ) si può arrivare a stabilire con buona approssimazione ( in alcuni casi anche di pochi cents. ) dove l'onda prezzo considerata cambierà di fase.. anche se ( ed in questo consiste la generalizzazione ) la forma dell'onda prezzo finale può risultare " sconosciuta " ovvero diversa/molto diversa da tutte le precedenti oscillazioni verificatesi nella stessa banda di frequenza ed ognuna di esse sarà diversa dall'altra.. e ciò vale anche e soprattutto per il futuro ovvero per le oscillazioni successive che non si sono ancora verificate.. Questo da un punto di vista predittivo è il massimo che si possa ottenere ed implica una capacità di generalizzazione ed interpretativa notevole. Qualcuno dirà "
questa è utopia.. " ..non è detto.. i risultati
tangibili protratti nel tempo dicono diversamente.. ( e ciò è possibile solo perchè l'overfitting è stato ridotto ai minimi termini ).
Giusto per fare un esempio molto semplice, nel caso le oscillazioni che si susseguono su una determinata banda di frequenza, rispettano una lunghezza ed un'ampiezza più o meno simile, il canale trend costruito sui punti di tangenza reali ( e non certo con Tline tracciate a " mano " come appare nel 99.9% dei chart di analisi tecnica pubblicati da sedicenti analisti ) permette di individuare con buona precisione i punti di inversione significativi ( origine dei cambiamenti di fase ) in prossimità dell' intersezione con le suddette
Tline a patto che, un s/w basato su concetti interpretativi, dia il meglio di sè proprio in prossimità delle suddette intersezioni per stabilire se avverrà o meno l'inversione di tendenza..
La costruzione di un template " canale " fa anch'essa parte di una logica interpretativa per riconsocere ( qualora ci siano ) i limiti di ampiezza dell'oscillazione in atto..
Bene GiveMeLeverage, quanto detto sopra, è un'infarinatura di come questi sistemi " lavorano " direttamente sul movimento dei prezzi la cui unica dipendenza ( relazione diretta ) è di tipo ondulatorio.
Come vedi il mio è un approccio molto operativo con sperimentazioni e riscontri diretti sul " campo " dove non c'è spazio per i voli pindarici poichè il mercato ha il potere di sciogliere la cera..
Per quanto riguarda la seconda domanda, ovvero come vengono impiegati le sessione ed i periodi di apprendimento degli algoritimi lo vedremo in seguito poichè la faccenda è abbastanza complessa e si articola in due parti distinte.
Per il momento è tutto ( frase estremamente riduttiva solo per non dire che mi manca il tempo.. ma di concetti da sviluppare ce ne sarebbero tantissimi ).