Volumi, volatilità e indice Hearst - pagina 5

 
Yurixx:

Vedete, anche se metto un coefficiente non uguale a 1 e lo determino in qualche modo per l'euro su tf = H1, non significa che per la sterlina e sull'altro TF sarà lo stesso. E non è interessante. È come trattare la scala per ogni coppia separatamente. Se è così, possiamo lavorare con i volumi.

Bene, possiamo considerare Hurst alla vecchia maniera, come la pendenza della regressione, e allora questo coefficiente non avrà importanza. Infatti, non siete legati a TF standard, quindi non è un problema trovare punti per la regressione.


P.S. Non era una risata, era un sorriso. Nel senso di un certo scetticismo. Anche se forse mi sbaglio e gli utenti del forum possono risolvere facilmente questo problema.

 

Ho calcolato il rapporto (High-Low)/(Close-Open) utilizzando un semplice script per 1,5 milioni di barre di minuti.

Per AUDUSD sull'intervallo dal 2005.11.02 07:49 al 2010.08.20 22:59 la media (H-L)/(C-O) = 1.65539495
per USDJPY nell'intervallo dal 2006.04.11 20:21 al 2010.08.20 22:59 la media (H-L)/(C-O) = 1.72965927
per USDCHF sull'intervallo 2006.01.24 04:23 a 2010.08.20 22:59 media (H-L)/(C-O) = 1.69927897
per USDCAD sull'intervallo da 2005.05.19 13:31 a 2010.08.20 22:59 media (H-L)/(C-O) = 1.62680742
per GBPUSD sull'intervallo dal 2006.02.21 23:31 al 2010.08.20 22:59 Media (H-L)/(C-O) = 1.65294349
Per EURUSD sull'intervallo dal 2006.03.08 13:41 al 2010.08.20 22:59 la media (H-L)/(C-O) = 1,69371256

Non è un granché come spread. Anche se speravo che fosse ancora più piccolo.

A proposito, è interessante se il valore locale di questo rapporto può aiutare a distinguere una tendenza da un piatto. Almeno gli impulsi devono essere rilevati.

 

(High-Low)/(Close-Open) ?

scusa, il modulo è perso?

 
Svinozavr:

Lasciatemi spiegare il metodo. ...

È certamente un approccio interessante. E, presumibilmente, nelle mani dell'autore è efficace.

Ma tutti questi indicatori continuano a mantenere le loro impostazioni temporali. Che, a quanto ho capito, sono stabiliti dal gusto.

Cioè, se stiamo cercando degli indicatori oggettivi qui, dovrebbero essere i criteri di selezione dei valori di questi parametri ad essere oggetto di discussione.

Nel frattempo, questo è esattamente ciò che Peter non ha mai menzionato. O forse me lo sono perso.

E sarebbe interessante ascoltare.

 
NorthAlec:

(High-Low)/(Close-Open) ?

scusa, il modulo è perso?

il modulo non è perso

  for (i=Bars-1;i>0;i--) {
    double res = Close[i]-Open[i];
    if (res < 0) res = -res;
    SumCO += res;
    SumHL += High[i]-Low[i];
  }
  if (SumCO != 0) Alert("Для ",Symbol()," на интервале от ",TimeToStr(Time[Bars-1])," до ",TimeToStr(Time[0])," среднее (H-L)/(C-O) = ",DoubleToStr(SumHL/SumCO,8));
 
Candid:

Ho calcolato con un semplice script il rapporto (High-Low)/(Close-Open) su 1,5 milioni di barre di minuti.


E cosa può significare questo rapporto in termini di significato? Per definizione, questo rapporto deve essere maggiore di 1. Inoltre, non può essere troppo alto, perché il prezzo si muove (quasi sempre) ad una velocità terminale. Chiaramente, c'è un valore medio da qualche parte nel mezzo. E non dovrebbe differire molto per strumento - il meccanismo di mercato è lo stesso ovunque. Se si disegna la distribuzione (Close-Open) (senza modulo) all'interno di una barra, molto probabilmente otterremo una distribuzione uniforme. E questa sarà la migliore conferma che il valore è puramente casuale.

Forse non capisco qualcosa, ma da tempo ho smesso di prestare attenzione a Close e Open come fonti di dati statistici. In primo luogo, i loro valori sono puramente casuali (in relazione al set di dati del minuto corrispondente), e in secondo luogo, dipendono interamente dall'inizio del tempo, il che non è buono. Spostate il punto di partenza di qualche secondo e questi valori cambieranno. Ma la coppia High and Low è un'altra cosa. Questa coppia definisce il corridoio in cui il prezzo si muove. È essenziale, naturalmente, se non giocare all'interno di un bar. Ma se lo facciamo, allora tutti i nostri approcci agli indicatori sono irrilevanti. Inoltre, questa coppia stabilisce lo spread e la volatilità. IMHO, caratteristiche molto importanti, che dobbiamo solo imparare ad usare.

 
Yurixx:

Cosa potrebbe significare questo atteggiamento in termini di significato?

Ho scritto in un altro thread
 

Quindi, ci sono molte domande senza risposta sull'indicatore Hirst. Non avevo pensato di farlo, ma le critiche, le domande e i commenti di Nikolay(Candid), per i quali gli sono molto grato, mi hanno convinto che bisognava affrontarlo in modo reale. Senza che la formula proposta sopra per calcolare l'indice Hurst sembra essere semplicemente presa dal soffitto.

Era anche necessario rispondere (me compreso) a tale osservazione:

Candid:

Ma finora non ci sono motivi sufficienti per confrontare i valori assoluti di questo valore con la "calibrazione" per Hearst. Cioè per considerare che a 0,5 la serie è casuale, sopra è tendenziale e sotto è ricorsiva.

Per questa caratteristica è necessario fare la propria calibrazione.



Non descriverò i dettagli del processo, vi dirò semplicemente a cosa sono arrivato.

Parlerò di una serie di numeri casuali (SR) che è un modello di flusso di tick: ogni tick dà +/- 1 punto di variazione del prezzo. Il modello è, ovviamente, molto approssimativo, ma non abbiamo a che fare con il mercato, ma con Hirst. E, prima di tutto, abbiamo bisogno di trattare un flusso di uguale probabilità, cioè SB puro, quando le probabilità di tick +1 e -1 sono uguali al 50% ciascuna. Questo fornirebbe anche la calibrazione menzionata da Nikolai.

Il calcolo dell'indice Hurst si basa sull'intervallo medio, cioè la differenza tra il prezzo massimo e quello minimo nell'intervallo. Oltre a questo valore, ce ne sono altri due molto rilevanti: il modulo medio degli incrementi e la dispersione degli incrementi. Tutti e tre sono stati coinvolti nello studio. Le denominazioni utilizzate di seguito sono le seguenti:

N è il numero di tick dell'intervallo. Il primo punto di un intervallo (valore iniziale del prezzo) è l'ultimo tick dell'intervallo precedente e non è incluso in quello attuale. Pertanto, il numero di variazioni di prezzo all'interno dell'intervallo è uguale al suo numero di tick.

K - numero di intervalli nella statistica.

R - spread di prezzo medio per intervalli K.

M - modulo di incremento medio per intervalli di K.

D - dispersione degli incrementi per intervalli di K.

L'incremento di prezzo in un intervallo è un comodo valore facilmente rappresentabile in forma analitica, pari alla differenza tra il prezzo finale e quello iniziale dell'intervallo. Quindi M e D possono essere calcolati senza problemi. Le cose sono molto più complicate con la diffusione di R. Poiché i prezzi min e max sull'intervallo possono essere raggiunti in qualsiasi punto, lo spread dipende dall'intero percorso del prezzo e non può essere espresso affatto in forma analitica. In altre parole, è impossibile ottenere una formula generale per esso (come Nicolai ha chiesto insidiosamente).

Tuttavia, il compito di studiare il comportamento dell'indice di Hurst per SB è fissato e quindi dobbiamo ottenere risultati accurati, non limitarci a esperimenti approssimativi.

In questa situazione, non c'è altro da fare che, in base alla definizione dello spread, calcolare i suoi valori "a capocchia".

 

A questo scopo ho dovuto scrivere uno script che, per un dato numero di tick N nell'intervallo, costruisce tutte le possibili traiettorie di prezzo. Poiché tutte queste traiettorie sono ugualmente probabili per SB, resta da determinare lo spread per ciascuna di esse e calcolare la sua media per tutte le traiettorie. Questo sarà il suo valore "teorico", o MO in breve. Ovviamente, il numero totale di tutte le possibili traiettorie di prezzo per l'intervallo di lunghezza N è 2^N. Secondo la stessa legge, il tempo di conteggio degli script e il consumo di memoria crescono. Quindi è possibile calcolare lo spread MO solo per una regione di piccoli valori di N. Il modulo medio e la varianza degli incrementi sono calcolati per la completezza del quadro e per il controllo indiretto della correttezza dei calcoli.

N R M D
1 1.0000 1.0000 1.0000
2 1.5000 1.0000 2.0000
3 2.0000 1.5000 3.0000
4 2.3750 1.5000 4.0000
5 2.7500 1.8750 5.0000
6 3.0625 1.8750 6.0000
7 3.3750 2.1875 7.0000
8 3.6484 2.1875 8.0000
9 3.9219 2.4609 9.0000
10 4.1680 2.4609 10.0000
11 4.4141 2.7070 11.0000
12 4.6396 2.7070 12.0000
13 4.8652 2.9326 13.0000
14 5.0747 2.9326 14.0000
15 5.2842 3.1421 15.0000
16 5.4806 3.1421 16.0000
17 5.6769 3.3385 17.0000
18 5.8624 3.3385 18.0000
19 6.0479 3.5239 19.0000
20 6.2241 3.5239 20.0000
21 6.4003 3.7001 21.0000
22 6.5685 3.7001 22.0000
23 6.7367 3.8683 23.0000
24 6.8978 3.8683 24.0000
25 7.0590 4.0295 25.0000

Per la SB in questione c'è una semplice formula che mette in relazione la varianza degli incrementi D con il numero di tick N:

D = N .

Sembra che Hurst, postulando la sua formula per la varianza media, si sia basato su questo risultato teorico.

La tabella mostra che i valori ottenuti di D sono in pieno accordo con questa formula. Significa che l'algoritmo per generare l'insieme delle traiettorie dei prezzi e l'aritmetica per il calcolo delle medie sono scritti correttamente. Il calcolo dei prezzi massimi e minimi sull'intervallo e le loro differenze è così semplice che la probabilità di errore è vicina allo zero.

 

Ora che abbiamo qualcosa con cui confrontarlo, possiamo vedere come si comporta l'esponente di Hearst per SB con diversi valori dell'intervallo N.

Lasciate che vi ricordi la formula usata per calcolare il rapporto Hearst come definito dal suo autore.

H = (Log(R2) - Log(R1))/ (Log(N2) - Log(N1))

Lo schema di calcolo a due punti è dovuto alla necessità di liberarsi dell'incognita presente nella formula di Hurst.

Per semplificare i calcoli, per essere più chiari e per massimizzare l'intervallo di ricerca, il numero di tick nell'intervallo N è stato anche cambiato in potenze di due. Cioè, è stato preso N = 2^n. La base del logaritmo nella formula di H non gioca un ruolo. Perciò si è assunto che sia 2, quindi Log(N ) =n.

L'algoritmo di calcolo era il seguente:

  1. Abbiamo impostato il numero n, il prezzo iniziale p=0 e la precisione di calcolo acc=0.001.
  2. Calcolare il numero di punti nell'intervallo N
  3. Usa la PRNG integrata per generare l' intervallo K-esimo- N incrementi di tick di unità
  4. Calcolare per questo intervallo l'intervallo e il modulo dell'incremento di prezzo
  5. Sommare cumulativamente l'ampiezza, il modulo e il quadrato alle variabili
  6. Calcolare la media e la varianza per K intervalli
  7. Determinare se la condizione di precisione è soddisfatta. Se no, aggiungetene uno a K e passate al punto 3. Se no, finite lo script.

I risultati sono nella tabella.

(Sfortunatamente, non sono riuscito a incollare l'intera tabella - l'editor non accetta testo di queste dimensioni. Ho dovuto dividerlo in 2 tabelle, salvando le prime due colonne per comodità. Il primo sarà indicato come 2a e il secondo come 2b).