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

 
Vladimir Perervenko:

Ho avuto una discussione con Renat in un thread vicino sul destino del linguaggio R in MKL4/5. La soluzione e la direzione di sviluppo di MKL è ora chiara.

Buona fortuna

L'ho letto, non voglio nemmeno scrivere niente, se una persona non è disposta ad ascoltare non c'è niente da convincere, se vuole scrivere 100 - 1000 righe di codice che è stato scritto da tempo è un suo diritto, mentre io preferirei fare la stessa cosa con una riga in R.

A proposito, è possibile fare una sfida, fare un compito non banale con alcuni metodi statistici e poi insegnare e convalidare qualche modello, e implementarlo in R e mql5+alglib e solo confrontare le dimensioni del codice ...

 
Vladimir Perervenko:

Ho avuto una discussione con Renat in un thread vicino sul destino del linguaggio R in MKL4/5. La soluzione e la direzione di sviluppo di MKL è ora chiara.

Buona fortuna

Per coloro che non hanno letto quel thread, non è prevista un'interfaccia diretta da mql a R. Ma ci sarà l'accesso alla libreria Alglib portato a mql, così il codice mql stesso può costruire alberi o neuroni, ottimizzare qualcosa con la genetica, cercare parametri per funzioni minimo/massimo. Tutte le possibilità -http://www.alglib.net

 
Vladimir Perervenko:

Ho avuto una discussione con Renat in un thread vicino sul destino del linguaggio R in MKL4/5. La soluzione e la direzione di sviluppo di MKL è ora chiara.

Buona fortuna



Capisco la tendenza. Rendere MT4 amichevole con R è possibile. E MT4 è ancora molto comune in questo momento. Se si cattura una buona dipendenza in P si può facilmente insegnare il modello nella libreria MT5 con gli stessi parametri.

 

Ho una matrice `"P"` con osservazioni (riga per riga), per ogni riga conto la distribuzione attraverso `hist()`


pause - set 50


A <- hist(P[n,],breaks = 50,plot = F)


ma si è scoperto che su ogni linea della matrice `A$breaks` ha una lunghezza diversa, nonostante il fatto che la lunghezza di tutte le linee in `P` sia la stessa, come fare in modo che `A$breaks` siano sempre della stessa dimensione

 

Se si inserisce un numero nelle pause, il risultato sarà vicino ad esso, ma non necessariamente.

Per una corrispondenza esatta, è meglio calcolare in anticipo i valori minimi e massimi, e inserire il vettore nel parametro
A <- hist(P[n,],breaks = c(10:60),plot = F)

 
Dr.Trader:

Se si inserisce un numero nelle pause, il risultato sarà vicino ad esso, ma non necessariamente.

Per una corrispondenza esatta, è meglio calcolare in anticipo i valori minimi e massimi e inserire il vettore nel parametro
A <- hist(P[n,],breaks = with(10:60),plot = F)


provato, ma per qualche motivo non riesce

> A <- hist(P[1,],breaks = с(10:60),plot = F)
Error in hist.default(P[1, ], breaks = с(10:60), plot = F) : 
  could not find function "с"
> A <- hist(P[1,],breaks = 10:60,plot = F)
Error in hist.default(P[1, ], breaks = 10:60, plot = F) : 
  some 'x' not counted; maybe 'breaks' do not span range of 'x'
 

Riguardo al primo errore - sembra che io abbia scritto c russo invece di c inglese :) Ora ho corretto il mio post sopra.

Secondo errore - P[1,] contiene valori inferiori a 10 o superiori a 60. Dobbiamo scegliere le pause in modo da includere tutti i valori di P[1,]

 
Dr.Trader:

Riguardo al primo errore - sembra che io abbia scritto c russo invece di c inglese :) Ora ho corretto il mio post sopra.

Secondo errore - P[1,] contiene valori inferiori a 10 o superiori a 60. Dovete scegliere delle interruzioni per includere tutti i valori di P[1,].


Sfortunatamente, non lo capisco (

Ecco un semplice esempio

rn <- rnorm(100)
H <- hist(rn, breaks = 50, plot = F)
length(H$breaks)

Ho bisogno che lalunghezza (H$breaks) sia sempre 50?

 

Prima dobbiamo determinare il numero minimo in rn. Diciamo -4. Allora il massimo numero possibile: +4.

Il modo più semplice per chiamare questa funzione è di far andare l'istogramma da -4 a +4:
H <- hist(rn, pause = c(-4:4))

Esempio con errore:
H <- hist(rn, breaks = c
(-1:1))
breaks è limitato da -1 a 1, quindi se rnorm() produce un numero minore di -1 o maggiore di +1, hist() genera un errore.

Poi, dobbiamo creare un vettore con numeri da -4 a +4, in modo che la lunghezza totale del vettore sia uguale a 50. Questo viene fatto con la funzione seq():
seq(-4, 4, length.out=50).

Il risultato di seq() dovrebbe essere usato nell'istogramma.
H <- hist(rn, pause = seq(-4, 4, length.out=50))

 
Dr.Trader:

Prima dobbiamo determinare il numero minimo in rn. Diciamo -4. Allora il numero massimo possibile: +4.

Il modo più semplice per chiamare questa funzione è di far andare l'istogramma da -4 a +4:
H <- hist(rn, pause = c(-4:4))

Esempio con errore:
H <- hist(rn, breaks = c
(-1:1))
breaks è limitato da -1 a 1, quindi se rnorm() produce un numero minore di -1 o maggiore di +1, allora hist() genererà un errore.

Poi, dobbiamo creare un vettore con numeri da -4 a +4, in modo che la lunghezza totale del vettore sia 50. Questo viene fatto con la funzione seq():
seq(-4, 4, length.out=50).

Il risultato di seq() dovrebbe essere usato nell'istogramma.
H <- hist(rn, pause = seq(-4, 4, length.out=50))

Grazie mille, non ho la minima idea di queste cose di econometria,

Penso che abbiamo capito.

rn <- rnorm(100)
Max <- max(rn)
Min <- min(rn)
range.vector <- seq(Min, Max, length.out=50)
H <- hist(rn, breaks = range.vector)
length(H$breaks)

[1] 50

Motivazione: