SOM: metodi di cottura

 

Buon pomeriggio!

Mi sono avvicinato all'uso delle mappe auto-organizzanti in Forex da molto tempo ormai. Ho deciso di fare un esperimento: ho preso le barre giornaliere dal 2001 fino alla fine di marzo 2011, ho costruito vettori di input per una rete neurale con dimensione 40 e ho addestrato SOM con dimensione 7 per 7 neuroni, dividendo così lo spazio vettoriale in 49 celle. Poi, per ogni cella, ho calcolato la probabilità di un movimento di prezzo verso l'alto o verso il basso in 5 barre. Il risultato dell'analisi è mostrato qui sotto:

Inoltre, selezioniamo i cluster che sono interessanti dal punto di vista pratico. I cluster evidenziati in giallo segnano i punti d'ingresso di acquisto. L'arancione sono punti di entrata Sell (ce ne sono di meno, dato che apparentemente EURUSD è stato dominato da tendenze al rialzo negli ultimi 10 anni).

Il passo successivo è quello di implementare la strategia in Excel secondo una formula semplice. La strategia è semplice, comprare e tenere o vendere e tenere. La durata della transazione è di 5 barre, e per ogni transazione ho introdotto una correzione (spread + swap) di 0,0005 (5 punti a quattro cifre), poiché ogni transazione resterà sospesa durante il fine settimana...

Qui sotto c'è il grafico dell'equilibrio risultante sul periodo di studio SOM (640 scambi su 9 anni):

E ora...

- Grafico di bilancio sul periodo OOS - l'anno scorso (66 scambi, circa 400% di profitto):

È possibile implementare in MT4, SOM per allenarsi nel pacchetto statistico e connettersi tramite dll, ottenere il numero di cella dalla rete e inserire in acquisto, vendita o attesa.

Cosa ne pensate? Sono confuso dai grandi drawdown. Un intero quarto può cadere. E la strategia è piuttosto primitiva.

 

Lemappe di Kohonen possono essere facilmente implementate in qualsiasi linguaggio di programmazione, incluso MQL4

La biblioteca non è necessaria

 

Strano, ho fatto qualcosa di simile - non ha funzionato - c'era uno scarico sul feedback.

Puoi fare un esempio concreto di shaping di input/output?

Uno dei progetti è comunque correlato ora... potremmo provare quella di Kohonen allo stesso tempo.

 

Cosa significa "probabilità di un movimento verso l'alto o verso il basso"? Solo che il prezzo tra 5 barre è più probabile che sia in aumento (in diminuzione) rispetto a quello attuale?

Che tipo di rete avete? È a strato singolo o doppio? 40 è la dimensione di cosa?


Solo un'ipotesi veloce... una rete di 40 ingressi non può essere addestrata su una quantità così piccola di dati (per usare un eufemismo). La mappa qui sopra non è rassicurante :) Non ci sono cluster su di esso in generale. Il tuo risultato è un colpo di fortuna.

 
Vinin:

Le mappe di Kohonen possono essere facilmente implementate in qualsiasi linguaggio di programmazione, incluso MQL4

La biblioteca non è necessaria


Grazie! Lo saprò. In generale, volevo discutere più la fusione di questo metodo con una strategia di trading e le specifiche delle Mappe di Kohonen in relazione alle quotazioni del forex o di qualsiasi altro mercato finanziario, piuttosto che i modi per implementare l'ACS di Kohonen in Metatrader.

TheXpert

In particolare, ho inserito gli ultimi 40 prezzi aperti delle barre giornaliere, ma non in forma grezza, ma scalati per evitare la non stazionarietà del livello dei prezzi. Non uso le variabili di uscita per l'addestramento della SOM, ma l'idea è che quando analizzo i campioni suddivisi per celle cerco di vedere se il prezzo di apertura della quinta barra sarà più alto o più basso dell'ultimo prezzo aperto conosciuto in futuro.

Diamant

Come puoi essere così sicuro della casualità del risultato? Sei entrato in questo thread per fare una discussione stupida?

Cosa intende per pochi dati? Quanto costa? Quanto è sufficiente?

 
alexeymosc:

In particolare, l'input era 40 ultimi prezzi di apertura delle barre giornaliere, ma non in forma grezza, ma scalati per evitare la non stazionarietà del livello dei prezzi.

E riuscite a sentire proprio questi input?

Nessuna variabile di uscita è stata utilizzata per addestrare la SOM, ma l'idea è che quando si analizzano i campioni, suddivisi per celle, guardo se il prezzo di apertura sulla quinta barra in futuro sarà superiore o inferiore all'ultimo prezzo di apertura conosciuto.

Nella tua tabella, la somma per il cluster non è al 100%, cioè a parte un semplice confronto sopra/sotto, c'è qualcos'altro - contabilità di spread?

 

Per quanto riguarda gli input, ok, ora sono al lavoro, ti manderò un excel nell'archivio quando sarò libero (in privato).

La somma non è uguale al 100% - vero, ed ecco perché: ho fatto il seguente calcolo: se Open [t+5] - 0,0010 > Open [t] 1 else 0. Cioè, l'analisi include i casi in cui il prezzo nel futuro è almeno 10 punti più alto di quello attuale. Lo stesso è stato fatto per l'analisi di un movimento di prezzo al ribasso (soglia di 10 pips).

 

OK, grazie. Non posso promettere che sarà veloce, ma darò un'occhiata.

Sì, è più o meno quello che avevo in mente.

 
alexeymosc:

Ora sono al lavoro, ma ti manderò un file excel appena sono libero (in un messaggio privato).

E posso anche io? O puoi semplicemente lasciarlo qui, se non è troppo disturbo.
 
Sarebbe meglio caricare l'archivio qui
 

Beh, non mi dispiace se avete il desiderio di conoscere l'opera.

Sarebbe bene migliorare il sistema in qualche modo.

File: