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

 

E le varianti che sono vicine in ampiezza si generalizzeranno in questo modo. Per esempio, se si divide una fiche a metà per 3 volte, allora si otterranno pezzi da 0 a 0,25, da 0,25 a 0,5, da 0,5 a 0,75 e da 0,75 a 1.

Così un foglio conterrà tutte le varianti con questa caratteristica, per esempio da 0,5 a 0,75 - avrete 0,5 e 0,55 e 0,64 e 0,72. Questa è una buona generalizzazione in ampiezza. Le reti neurali probabilmente fanno lo stesso a causa delle f-stazioni di attivazione non lineari.

Ma non c'è una generalizzazione per tempo nell'albero.

Apparentemente dovremmo mettere in un modello di 20 caratteristiche e pezzi di 10 caratteristiche che li allungano e pezzi di 50 caratteristiche che li comprimono, e una dozzina di varianti intermedie pure.

 
mytarmailS:

no...

interpolare/estrapolare è lo stesso che avvitare con finestre di dimensioni diverse, stesse perdite.

Vi rendete conto di quanto sia dispendioso in termini di tempo? Per ogni iterazione.

è molto veloce. Avete un modello di 1000 caratteri. Dovete interpolare i campioni più piccoli alla dimensione del modello.

7 microsecondi andranno bene.

Ma forse è necessario correlare i modelli più piccoli tra loro (piccolo punto per punto sull'asse x), allora sarà più veloce. Allora è meglio comprimere i grandi e interpolare i piccoli.

ZS. Se, per esempio, il modello è 490 e il modello è 500, si possono aggiungere 10 Nan in fila in modo casuale (o meglio uniformemente distribuiti), e poi interpolare

e se avete bisogno di ridurlo ancora più facilmente, in approssimazione lineare piecewise impostate il numero di pezzi uguale a 500, se il modello > 500

E non c'è bisogno di una grande gamma di dimensioni di finestre. Da 200 a 800 lì... a passi di 20-50. Tutto volerà. O forse no, non so nemmeno perché sia necessario) ma in video è veloce, ma i modelli sono terribilmente brutti.

 

Cercavo i multifrattali, cioè il frattale attuale fa parte di uno più grande, simile ad esso. Poi prendo una continuazione da quella più grande e la prevedo. Beh, a volte funziona, a volte no, perché tendono a deformarsi molto, anche se sono generalmente simili.

Cioè basta prendere l'ultima fetta del grafico di n barre e prendere la grande ultima fetta di n+100500 barre. Trovate ciò che il piccolo è correlato al grande pezzo e vedete cosa viene dopo quel pezzo, poi portatelo nel futuro. Se c'è più di una partita, allora fai una media. Ma ho anche fatto le prebarre affini perché anche l'angolo di pendenza cambia.

 
Maxim Dmitrievsky:

è molto veloce. Avete un modello di 1.000 caratteri. È necessario interpolare i campioni più piccoli alla dimensione del modello

7 microsecondi andranno bene.

Ma forse è necessario correlare i modelli più piccoli tra loro (piccoli per punto sull'asse x), allora sarà più veloce. Allora è meglio comprimere i grandi e interpolare i piccoli.

ZS. Se, per esempio, il modello è 490 e il modello è 500, si possono aggiungere 10 Nan in fila in modo casuale (o meglio uniformemente distribuiti), e poi interpolare

e se avete bisogno di ridurlo ancora più facilmente, in approssimazione lineare piecewise impostate il numero di pezzi uguale a 500, se il modello > 500

E non c'è bisogno di una grande gamma di dimensioni di finestre. Da 200 a 800 lì... a passi di 20-50. Tutto volerà. O forse no, non so nemmeno perché sia necessario) ma i campioni video sono veloci, ma i modelli sono terribilmente brutti.

Hai qualcosa in alglib per comprimere e decomprimere i grafici?

Ne vedo alcuni sull'interpolazione. Quale è meglio per noi? Quale è più veloce?

 

Credo di averla trovata. Direttamente da una griglia se ne fa un'altra.

https://www.alglib.net/interpolation/spline3.php

Interpolazione rapida della griglia in batch

funzione spline1dconvcubic

Questa funzione risolve il seguente problema: data una tabella di valori di funzione y[]
nei vecchi nodi x[] e nei nuovi nodi x2[], calcola e restituisce una tabella di valori di funzione
y2[] (calcolata in x2[]).

Questa funzione dà lo stesso risultato di chiamare Spline1DBuildCubic () seguito da
una sequenza di chiamate Spline1DDiff (), ma può essere diverse volte più veloce quando
chiama X[] e X2[] ordinati.

PARAMETRI DI INGRESSO:
X-vecchi nodi della spline
Valori della funzione Y
X2-nuovi nodi della spline

PARAMETRI AGGIUNTIVI:
N-numero di punti:
* N>
=2
* se impostato, solo i primi N punti da X/Y sono usati
* se non impostato, determinato automaticamente dalle dimensioni X/Y
(len (X) deve essere uguale a len (Y))
BoundLType - tipo di condizione al limite sinistro
BoundL-sinistra (prima o seconda derivata,
a seconda di BoundLType)
BoundRType - tipo di condizione al limite destro
BoundR-destra (prima o seconda derivata,
a seconda del tipo Boundr) xml-ph-0009@de
* N2>=2
* se specificato, vengono utilizzati solo i primi N2 punti di X2
* se non specificato, determinato automaticamente dalla dimensione di X2

PARAMETRI DI USCITA:
F2-valori delle funzioni a X2[]

BUNDR

La subroutine ordina automaticamente i punti, quindi il chiamante può passare un array non ordinato.
I valori della funzione sono riordinati correttamente quando vengono restituiti, quindi F2[I] è sempre
uguale a S(X2[I]) indipendentemente dall'ordine dei punti.

SETTING Boundary Values:

I parametri BoundLType/BoundRType possono avere i seguenti valori:
* -1, che corrisponde a condizioni limite periodiche (cicliche).
In questo caso:
* sia BoundLType che BoundRType devono essere uguali a -1.
* BoundL/BoundR sono ignorati
* Y[last] è ignorato (assumendo che sia uguale a Y[first]).
* 0, che corrisponde a una spline parabolica-completa
(BoundL e/o BoundR sono ignorati).
* 1, che corrisponde alla condizione limite della prima derivata
* 2, che corrisponde alla condizione limite della seconda derivata
* L'impostazione predefinita è BoundType=0

TASKS WITH PERIODIC Boundary Conditions:

TASKS con condizioni limite periodiche hanno Y[first_point]=Y[last_point].
Tuttavia, questa subroutine non richiede di specificare valori uguali per
primo e ultimo punto - li forza automaticamente ad essere uguali copiando
Y[primo_punto] (corrispondente alla X più a sinistra, minima []) a
Y[ultimo_punto]. Tuttavia, si raccomanda di passare valori consecutivi di Y [],
cioè fare Y[primo_punto]=Y[ultimo_punto].

-- PROGETTO PROGETTO --
Copyright 03.09.2010 Bochkanov Sergey

Spline interpolation and fitting - ALGLIB, C++ and C# library
  • www.alglib.net
Cubic spline interpolation/fitting is a fast, efficient and stable method of function interpolation/approximation. ALGLIB package provides you with dual licensed (open source and commercial) implementation of spline-related functionality in several programming languages, including our flagship products: ALGLIB for C++, a high performance C++...
 
elibrarius:

C'è qualcosa nell'alglibo per comprimere e decomprimere i grafici?

Sull'interpolazione, ne vedo diverse. Quale funzionerà meglio per noi? E quale è più veloce?

Linear è il più veloce, gli altri possono essere più precisi
 

Filtraggio adattivo

Idea per ts. Assemblare il sistema su un "mashka", "mashka" cambiare in modo adattivo con ns.

 
Rorschach:

Filtraggio adattivo

Idea per ts. Assemblare il sistema su un "mashka", "mashka" cambiare in modo adattivo con ns.

cosa state aspettando?

 
mytarmailS:

cosa state aspettando?

cosa c'è nei nuovi dati?

 
Maxim Dmitrievsky:

Cosa sono i nuovi dati?

Per quanto mi ricordo il TS ha funzionato per un po' ed è morto...

La filtrazione nel senso usuale (strumenti, filtri, ecc.) è sempre un ritardo, un ritardo nel mercato è un drenaggio....

Dovresti creare un paradigma diverso (senza ritardi), livelli per esempio...