BlogChi Siamo

Che c’entra la Programmazione Genetica col Trading?

Home » Trading Automatico » Che c’entra la Programmazione Genetica col Trading?

La programmazione genetica è un tecnica di data-miningche estrapola regole di trading (strategie) a partire dai dati (tipicamente i prezzi di barra-in-barra) dello strumento che si vuole tradare.

La tecnica, a partire da una prima popolazione di strategie di trading create in maniera randomica dal software, evolve tale prima famiglia di membri in modo da massimizzare, di generazione in generazione, una funzione ‘Fitness’ definita dall’utente (esempio massimo Net Profit, minimo Drawdown ecc.). Il Processo termina una volta massimizzata tale funzione e/o quando si è raggiunto il numero massimo di generazioni (e.g. 100)

La GP quindi non usa uno specifico Indicatore (e.g. medie mobili) o solo un certi tipo di ordine (limitpiuttosto che market), ma crea sempre una combinazione unica, volta a sfruttare specifice inefficienze del titolo.

La maggior parte degli indicatori, presi individualmente per poi essere tradotti in una strategia di trading, sono inefficaci (come evidenziato spesso anche dai loro stessi creatori). Questo perchè il mercato tende ad essere efficiente rispetto allo specifico indicatore, in quanto il vantaggio sfruttato da un indicatore specifico si perde dopo essere stato usato in maniera massiva.

La GP invece combina indicatori e regole di trading in maniera ogni volta univoca. Se infatti si provasse a lanciare il processo più volte per uno stesso titolo, si otterrebbero sì performance sempre simili a quelle richieste dall’utente, ma il codice sarebbe ogni volta differente (anche se di poco) il che lo mette al riparo dal rischio del rapido decadimento per uso massivo.

Ma la GP non combina solo indicatori, in quanto cerca le regole di trading più adatte per il titolo in esame, andando oltre l’uso del semplice indicatore sfruttando ora price patterns, ora breakout entries, altre volte time-of-day, day-of-week entries ecc. ecc

Come funziona la GP?

La GP è una tecnica computazionale sviluppata dai ricercatori nel campo dell’intelligenza artificialebasata sui concetti biologici di riproduzione ed evoluzione. Un algoritmo GP “evolve” una popolazione distrategie di trading da una popolazione iniziale di membri generati casualmente. I membri (Strategie) della popolazione competono uno contro l’altro in base alla loro “fitness (esempio miglior Net Profit).”

I membri ”migliori” sono selezionati come “genitori” per produrre una nuova popolazione, che sostituisce la popolazione più debole (meno ‘in forma’).

Due genitori sono combinati utilizzando una tecnica chiamata di incrocio, che imita l’incrocio genetico inriproduzione biologica. Nell’incrocio parte del genoma di un genitore è combinato con una parte delgenoma del secondo genitore per produrre il genoma bambino. I genomi rappresentano le regole di trading.
L’altra tecnica di combinazione è la mutazione, con cui i genomi dei genitori, a differenza dell’incrocio, questa volta sono modificati casualmente prima di essere assemblati. Tipicamente, (e.g. 90%) i nuovimembri della popolazione vengono prodotti tramite incrocio e i restanti tramite mutazione.

Quì di seguito è rappresentata visivamente la formazione della prima generazione di (ad esempio) 1000 membri (è l’utente a scegliere il numero di membri per famiglia) e subito dopo, l’evoluzione a partire dalla prima generazione:

Capture2
FIG 1

 

Capture3

FIG 2

Esistono vari software in commercio che sfruttano i principi della GP sopra esposti. Generalmente nell’applicare tali logiche, il programma lavora in questo modo: inzia creando in modo casuale una prima popolazione di strategie di trading utilizzando indicatori tecnici disponibili e vari tipi di regole di trading.
Tutti i valori OBIETTIVI (esempio Max Net Profit, min DrawDown) definiti dall’utente (prima che la GP abbia inizio) vengono poi calcolati dal software applicando le strategie (create di volta in volta dal processo) a tutta la serie storica dei prezzi del titolo. Esempio: serie storica daily degli ultimi 10 anni di IBM. Tali serie storiche sono estraibili da qualsiasi piattaforma (txt file).

In ogni generazione i figli migliori (strategie figlie) sono selezionati tra quelli che mostrano la funzionefitness migliore (maggior Net profit, minor DrawDown nell’esempio citato).
Le generazioni successive vengono poi generate secondo il processo già descritto in FIG 2.

 

Qual’è il vantaggio?

Chiariamo subito un dubbio: Per sfruttare le sofisticate tecniche computazionali della GP NON OCCORRE ESSERE ESPERTI INFORMATICI O SCIENZIATI!! Il corso Creazione Trading System con software GP NON è volto a insegnare tali metodologie, ma a utilizzarne direttamente i risultati e i Trading System prodotti, ALCUNI DEI QUALI VENGONO MESSI A DISPOSIZIONE DEI CORSISTI (già da noi testati e validati). E SOPRATTUTTO DIAMO GLI STRUMENTI PER MONITORARE TALI PATTERN GENETICI UNA VOLTA LIVE.

E’ un po’ come guidare una macchina: per sfruttarla, non occorre laurearsi prima in ingegneria meccanica ed elettronica e sapere in dettaglio come funziona il motore e l’apparato elettronico. Al corso spieghiamo come guidarla in modo che ci porti a destinazione: non occorre conoscerne il motore.

Lo stesso vale per le tecniche della GP alla base dai vari software in commercio e che noi stessi utilizziamo per produrre i codici di molti pattern: non ci serve conoscere tali SW fino al più intimo dettaglio: MA CIO’ CHE CREANO IN OUTPUT SI’: E’ NOSTRA RESPONSABILITA’ ANALIZZARE BENE L’OUTPUT, SOTTOPORLO A SEVERI TEST PRIMA DI VALIDARLO A OPERARE IN REALE

Alla macchina lasciamo fare il lavoro ‘sporco’ di scandagliare la serie storica del titolo. Anche perchè è ovvio che quando si tratta di eseguire numerose e tediose operazioni logico-matematiche, un SOFTWARE BATTE SEMPRE UN UMANO. Un essere umano potrebbe individuare e sfruttare al massimo banali (e teoriche) inefficienze di mercato come quella descritta all’inizio, ma solo una tecnica computazionale come la Programmazione Genetica puo’ scovare inefficenze nascoste che spesso per essere perfettamente individuate richiedono al software un’intensa elaborazione.

Naturalmente, come già anticipato, la severe regole di VALIDAZIONE NON fanno eccezione neanche per i trading systems prodotti con la Programmazione genetica. Cosi anche i TS figli dell GP, prima di operare in reale devono convincerci superando prove come una WFA, una simulazione di Monte Carlo, un confronto Out-Of-Sample vs In-Sampe period, sostenere ampiamente i costi (commissioni, slippage) mostrare metriche di performance effettivamente robuste (Robustness Index, Avarage trade, Max DD, Low Complexity, Max Adverse Excursion ecc. ecc.).

Ed effettivamente la tecnica sfruttata dal software che noi utilizziamo, ha prodotto pattern genetici apprezzabili su parecchi strumenti, mostrando un buon andamento della Equity line anche sul periodoPOST-Out-Of-Sample ovvero su quel periodo i cui dati (Open, Close, High, Low delle candele dei prezzi) non sono mai entrati nel software, cioè lasciando poi lavorare la strategia (prodotta dal SW) su dati sconosciuti dal Software. La linea rossa evidenzia sul lato destro delle Equity sotto-riportate, leperformance ottenute su dati sconosciuti dalla macchina (ad essere completi, c’è da dire che c’è un periodo Out of sample anche sulla parte a sinistra, ovvero sull’ultimo 25% dei dati).

Alcuni dei pattern genetici con le performance di seguito, vengono messi a disposizione dei corsisti assieme agli Indicatori per il monotoriggio della Equity

Leggi il programma del corso Creazione Trading System con software GP

 

Ed ecco alcune Equity line sia per il mercato FOREX che AZIONARIO.
Per il primo, le performance sono state ottenute operando con un mini-lotto (quindi con nozionale= 10000, il che richiede in media una marginazione di appena 200-400$) e stimando in media uno slippagedi 3 pips/share in entrata e 3 pips/share in uscita, ciò si traduce, col nozionale di un mini-lotto, in un costo medio fisso di circa 3$ di slippage in entrata e 3$ in uscita. Costi che come si vede sotto sono ovviamente retti bene dal TS.

Per il secondo (azionario) si è ipotizzato di entrare ogni volta in posizione con un investimento di circa 2000$ per ogni pattern, che con un broker come TradeStation (e tanti altri) che offre sull’azionario una leva 1:2 overnight, vuol dire poter operare SENZA margin call anche disponendo di una liquidità fino a un minimo di 1000$ effettivamente necessari per pattern.
Si e’ inoltre stimato uno slippage medio di 0.03$/share e un costo medio di commissione di 0.01$/share. Quindi in tutto circa 10-12$ per trade (tra entrata e uscita).
Anche in questo caso, le Equity Curve mostrano di sostenere ampiamente tali costi:
NB: i pallini in verde-fosforescente segnalano ogni volta un nuovo massimo in profitto

FX

mmm-kbh

 

spy-iwm

 

Questo e altro ancora, è assolutamente alla tua portata consentendoti di generare entrate aggiuntive lasciando lavorare il PATTERN GENETICO

NON devi saper programmare o essere un esperto informatico sulla PROGRAMMAZIONE GENETICA: Il Corso Creazione Trading System con software GP NON è volto a insegnare tali metodologie, ma a utilizzarne direttamente i risultati e i Trading System prodotti.

Mettiamo infatti a disposizione dei corsisti alcuni PATTERN GENETICI generati dal software e da noi attentamente testati e validati e soprattutto diamo gli strumenti per monitorare tali sistemi (Indicatori di Money Management). Tali indicatori ti aiutano a decidere quando è il momento di ‘stoppare’ la Strategia.

Diamo anche indicazioni su come rendere ottimale un Portafoglio e come usare un software molto valido a tale scopo (MSA)

Insomma facciamo di tutto per METTERTI NELLE CONDIZIONI DI OPERARE SUBITO!!

Leggi in dettaglio il programma del corso Creazione Trading System con software GP

e se hai domande scrivici pure: CONTATTI

Sul sito è possibile anche abbonarsi al servizio SEGNALI OPERATIVI per ricevere con molte ore di anticipo gli ordini da inserire in piattaforma e replicare le nostre operativita’.

Grazie per aver letto questo lungo post,  ma l’argomento richiedeva una spiegazione esaustiva.

Posted on

Il presente sito ha esclusivamente finalità didattiche. Non deve pertanto essere inteso in alcun modo come consiglio operativo di investimento né come sollecitazione alla raccolta di pubblico risparmio. I risultati presentati - reali o simulati - non costituiscono alcuna garanzia relativamente a ipotetiche performance future. Facendo trading si possono sostenere perdite superiori al proprio investimento iniziale; quindi, non si dovrebbe investire o rischiare denaro che non ci si può permettere di perdere. Le prestazioni passate, effettive o indicate da test storici o strategie, non sono garanzia di analoghe prestazioni in futuro.
L'attività speculativa comporta notevoli rischi economici e chiunque la svolga lo fa sotto la propria ed esclusiva responsabilità, pertanto gli Autori non si assumono alcuna responsabilità circa eventuali danni diretti o indiretti relativamente a decisioni di investimento prese dal lettore. Il navigatore, pertanto, esonera Trade-Systech.net (includendo i suoi autori, soci, collaboratori o altre società affiliate) da qualsiasi responsabilità comunque connessa o derivante dalla consultazione del presente sito internet.

0