L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 455

 

Bene, carica i tuoi algoritmi. Impostate i vostri sistemi su una base chiavi in mano, perché ci sono due serie di dati in arrivo che mostreranno tutta la loro essenza. Il verdetto su di loro sarà interessante, e preferibilmente anche i modelli costruiti, in modo da poterli testare in funzionamento reale.

File:
Buy15MALL.txt  733 kb
Sell15MALL.txt  791 kb
 
Vizard_:

OH... Sensei, grazie))) Non ridevo così da molto tempo ))))))))


XM.... Non ti capisco...... se il tuo modello è una specie di segreto, non devi postarlo. O pensi che il tuo modello funzionerà per sempre e stai tipo dando il graal a qualcun altro???? Cosa ti fa ridere così tanto????

Infatti, personalmente aderisco al seguente postulato: "L'architettura della rete gioca un ruolo insignificante nella costruzione di modelli. La cosa principale è sapere come allenare correttamente almeno un neurone".

Non so come esprimermi, ma non riesco a pensare a niente di sensato da dire questa mattina. Volevo solo dire che si può ottenere un modello in forma di polinomio, senza segreti, ecc. un polinomio ordinario come .... MA porterà la generalizzabilità e la lavorabilità in futuro. È solo che è addestrato correttamente, e questa è un'arte, non è il NS in sé ma il suo ambiente che ne è responsabile.....

Se pubblico il mio modello, la sicurezza del mio NS non sarà compromessa, perché non è il polinomio in sé che conta, ma il metodo per ottenerlo....

double getBinaryClassificator1(double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8) {
   double x0 = 2.0 * (v0 + 854.0) / 1708.0 - 1.0;
   double x1 = 2.0 * (v1 + 6025.0) / 12050.0 - 1.0;
   double x2 = 2.0 * (v2 + 83.31175) / 166.6235 - 1.0;
   double x3 = 2.0 * (v3 + 94.01706) / 190.59075 - 1.0;
   double x4 = 2.0 * (v4 + 79.89835) / 162.32691999999997 - 1.0;
   double x5 = 2.0 * (v5 + 8139.72596) / 16279.45192 - 1.0;
   double x6 = 2.0 * (v6 + 44728.87178) / 89457.74356 - 1.0;
   double x7 = 2.0 * (v7 + 16744.5244) / 33489.0488 - 1.0;
   double x8 = 2.0 * (v8 + 3571.0) / 7142.0 - 1.0;
   double decision = -0.3081635711326393 * sigmoid(x4)
  + 1.0249861163756249 * sigmoid(x2 + x4)
  + 0.09986072300626747 * sigmoid(x1 + x2 + x3 + x4)
  + 0.5413533668890985 * sigmoid(x5)
  + 0.6997159366377829 * sigmoid(x0 + x2 + x5)
  -0.04588868418500921 * sigmoid(x0 + x1 + x2 + x4 + x5)
  + 0.16781775869820087 * sigmoid(x1 + x2 + x3 + x4 + x5)
  + 0.4607985948890632 * sigmoid(x0 + x6)
  -0.8671700766023466 * sigmoid(x1 + x6)
  -0.5270267887837945 * sigmoid(x4 + x6)
  -0.027936937492837814 * sigmoid(x0 + x4 + x6)
  -0.6617354089719066 * sigmoid(x1 + x3 + x4 + x7)
  -0.19638937616247806 * sigmoid(x1 + x5 + x7)
  + 0.8684769002935395 * sigmoid(x6 + x7)
  -0.5967137681478805 * sigmoid(x0 + x2 + x5 + x6 + x7)
  -0.2097815643098296 * sigmoid(x0 + x1 + x4 + x5 + x6 + x7)
  -1.5340457322179422 * sigmoid(x8)
  + 0.7646273899667675 * sigmoid(x0 + x8)
  + 0.27679539504420725 * sigmoid(x2 + x3 + x8)
  -0.37855134296518955 * sigmoid(x1 + x6 + x8)
  -0.0311654310975556 * sigmoid(x0 + x1 + x2 + x6 + x8)
  -0.6036203203370856 * sigmoid(x0 + x1 + x2 + x3 + x5 + x6 + x8)
  + 0.04123987376920568 * sigmoid(x3 + x7 + x8)
  + 0.8450984194705711 * sigmoid(x0 + x1 + x2 + x3 + x4 + x7 + x8)
  -0.8578008338989624 * sigmoid(x2 + x3 + x5 + x7 + x8)
  + 1.059103470465344 * sigmoid(x1 + x3 + x6 + x7 + x8)
  + 1.0514388283102527 * sigmoid(x0 + x1 + x2 + x4 + x5 + x6 + x7 + x8)
  -0.06758350008374249 * sigmoid(1.0 + x0 + x3 + x4)
  -0.24213702035383408 * sigmoid(1.0 + x4 + x5)
  -0.8011798876969051 * sigmoid(1.0 + x0 + x1 + x3 + x5 + x6 + x7)
  + 0.7506445968459932 * sigmoid(1.0 + x0 + x3 + x8)
  + 0.3049328737780207 * sigmoid(1.0 + x0 + x1 + x2 + x3 + x6 + x7 + x8);
   return decision;
}
 
Perché ci sono due tavoli?
Uno ha l'obiettivo 1 e l'altro 0? Perché allora ogni tabella ha già l'obiettivo 0 e 1?
È possibile combinarli in uno solo?
 
Ildottor Trader:
E perché due tavoli?
Uno ha obiettivo 1 e l'altro 0? Perché abbiamo già obiettivi 0 e 1 in ogni tabella?
Possono essere combinati in uno solo?

Uno per i segnali di acquisto e uno per i segnali di vendita.....

Per combinarli in uno, è necessario fare un'inversione per una delle tabelle. Quindi uno stesso modello può essere usato per i segnali di acquisto e di vendita.

Ma in questo caso abbiamo due modelli indipendenti, uno per comprare, l'altro per vendere....

 
Vizard_:

È una malattia))))
Ti rendi conto che cazzo, almeno per amore del rispetto dovrebbe prima correggere il cappello))))) che l'obiettivo non ha la proprietà di completezza e la gente usa non solo kv e così via ..,
ma anche stupidamente dividere a metà)))) Ti rendi conto che anche questo post non è solo una stele? No...quindi tra 13 anni scriverai la stessa spazzatura))))
Per ridere, vi ricordo per la decima volta che la macchina infernale di Reshetov ha due errori, uno dei quali può essere parzialmente livellato... ma questo aggeggio
perderà sempre almeno il 2%... sul set di dati di Doc, si può ottenere il 55,3% sull'oos... ma naturalmente questi sono solo pappagalli...


Sai quali sono questi errori???? Se lo dici con fiducia.....

 

Provato Buy15MALL, il modello ha trovato una sorta di correlazione tra ST9, AD5, Volum7, VVolum7, altri ingressi completamente ignorati. La precisione è del 55,6%. Non posso condividere il modello. Provate a riaddestrare la macchina di Reshetov solo su questi quattro.


Vizard_:

sull'OOS (test) si può ottenere il 55,3%... ma naturalmente questi sono solo pappagalli...

Fico, non sono nemmeno pappagalli, è una previsione dei guadagni di eurusd m5 bar nelle ultime 7 settimane circa. Ma considerando lo spread penso che lo scambio sarà in svantaggio.
Proverò un esperimento simile con diversi lag, come open0-open1, open0-open2, ecc.

 

Lo scopo di questo esercizio era di determinare quanto segue.

O i miei dati sono raccolti correttamente e funzioneranno con altri algoritmi e sistemi di ottimizzazione.

Oppure sono i miracoli dell'ottimizzatore Reshetov, che può fare un modello valido da qualsiasi dato.

 
Vizard_:

È meglio che ti eserciti su un'immagine, perché il punto non è elaborarla, ma...

Sono d'accordo, ho bisogno di una riduzione del rumore di qualità.
Ho più o meno imparato come addestrare un modello con crossvalidazione in modo che l'accuratezza non cali troppo su nuovi dati. Come in questo caso, se un paio di anni fa avrei ottenuto il 100% sul trainer e il 50% sul test, ora è solo il 50% di entrambi. Ma questo ovviamente non è sufficiente. Quando imparerò la riduzione del rumore, probabilmente riuscirò a spremere un paio di percentuali.

 
Yuriy Asaulenko:

Ho controllato sugli strumenti del mercato azionario. A differenza di qualche anno fa, tutto il movimento è di 15-20 minuti... e il silenzio.

Nel forex, sì, i minuti piuttosto non governano. A volte non so cosa farci, ma per migliorare l'entrata posso provare.


Ladistribuzione delle probabilità è la stessa in qualsiasi TF, cioè la probabilità di superare i 3 sigma e catturare un cigno nero, di cosa stiamo parlando?) TF è solo un'altra rappresentazione dello stesso grafico
 
Cara gente, prima di fare previsioni di mercato, dovreste aver studiato la problematica del compito. La previsione delle serie temporali non è la classificazione delle piante e dei cancri per chip.


Mihail Marchukajtes:

Michail, solo una domanda.

Perché i tuoi dati sono ordinati nel set di dati delle serie temporali?


Cosa c'è da prevedere?
Almeno come dividere il dataset in un training e un test?