Grand Complication by ALVIN - solo un pour parler - (1 Viewer)

ender85

Forumer attivo
:no: troppo semplice... :D
a mio avviso ai fini della statistica bisogna addizionarli tutti...
indipercui ci tocca modificare qualcosina in+...
forse...
Prendendo buono questa considerazione basta aggiungere al codice le seguenti righe prima dell'aggiornamento dei massimi e minimi
Codice:
if massimo=h then orariomassimi[contabarre]=orariomassimi[contabarre]+1;
if minimo=l then orariominimi[contabarre]=orariominimi[contabarre]+1;
 
Ultima modifica:

pprllo

Nuovo forumer
La finestra rolling si può fare, ma come sceglieresti la finestra?
L'open raccordata al close del giorno precedente non l'ho capita neanche io...
Cerco di spiegarmi (era tardi, chiedo perdono :D).
La finestra la farei lunga esattamente un giorno. Invece cioè di prendere la giornata "naturale" si prende la giornata "rolling".

La ragione è che prendendo la giornata "naturale" alcune ore vengono sempre a trovarsi all'inizio della finestra ed altre sempre alla fine, e questo genera un effetto distorsivo sui risultati (arctangent rule).

Al contrario se fai una finestra rolling questo effetto dovrebbe scomparire.

Per quanto riguarda il "raccordo" open-close, non saprei nemmeno se è necessario, ma comunque parlavo di traslare (verso l'alto o verso il basso) i prezzi di una delle due giornate a cavallo della finestra rolling, in modo che la close del primo giorno sia uguale alla open del secondo, insomma eliminare il "salto" notte-giorno.
 

ender85

Forumer attivo
Cerco di spiegarmi (era tardi, chiedo perdono :D).
La finestra la farei lunga esattamente un giorno. Invece cioè di prendere la giornata "naturale" si prende la giornata "rolling".
Ma allora vuoi campionare il mercato con sessione traslata.
Ho giusto delle funzioni che mi permettono di fare questo :D
La finestra rolling per me era tutt'altra cosa, cmq l'importante è che ci siamo capiti.
Per quanto riguarda il "raccordo" open-close, non saprei nemmeno se è necessario, ma comunque parlavo di traslare (verso l'alto o verso il basso) i prezzi di una delle due giornate a cavallo della finestra rolling, in modo che la close del primo giorno sia uguale alla open del secondo, insomma eliminare il "salto" notte-giorno.
Ma ragionando sui massimi e minimi di giornata, che senso ha traslare le open e le close? Al massimo potresti rettificare il massimo ed il minimo con il gap, ma non riesco a vedere il motivo necessario per fare questa cosa.
 

pprllo

Nuovo forumer
Ma ragionando sui massimi e minimi di giornata, che senso ha traslare le open e le close? Al massimo potresti rettificare il massimo ed il minimo con il gap, ma non riesco a vedere il motivo necessario per fare questa cosa.
Sì esatto (di nuovo mi sono spiegato male). Dico di rettificare il min/max con il gap, cioè se ad esempio se la "finestra" che sto considerando invece di 9.00-17.40 è 16.48-16.48(+1), mi troverò in mezzo il gap notturno in mezzo.

Allora quando vado a valutare il min ed il max per le barre (+1) rettifico/traslo il minimo/massimo di una misura pari al gap notturno, in modo tale che è come se avessi di fatto rettificato tutta la serie rendendola priva di gap.
 
Ultima modifica:

ender85

Forumer attivo
Sì esatto (di nuovo mi sono spiegato male). Dico di rettificare il min/max con il gap, cioè se ad esempio se la "finestra" che sto considerando invece di 9.20-17.40 è 16.30-16.29(+1), mi troverò in mezzo il gap notturno.

Allora quando vado a valutare il min ed il max per le barre (+1) rettifico/traslo il minimo/massimo di una misura pari al gap notturno, in modo tale che è come se avessi di fatto rettificato tutta la serie rendendola priva di gap.

Ok però non capisco a cosa ti possa servire fare questa rettifica, il nostro fine è fare trading e nel live non potremmo mai chiudere le posizioni il giorno dopo eliminando il gap dal saldo.
Che informazione in più dovrebbe darti la rettifica?
E anche se ti desse qualche informazione in più, potresti poi usarla a mercato?
 

pprllo

Nuovo forumer
Ok però non capisco a cosa ti possa servire fare questa rettifica, il nostro fine è fare trading e nel live non potremmo mai chiudere le posizioni il giorno dopo eliminando il gap dal saldo.
Che informazione in più dovrebbe darti la rettifica?
E anche se ti desse qualche informazione in più, potresti poi usarla a mercato?
La mia idea sarebbe che se l'obiettivo è misurare le differenze attraverso le ore del giorno è meglio considerare i rendimenti che avvengono proprio in quelle ore.
Al contrario se non si fa questa operazione i rendimenti delle ore del "gionro dopo" si trovano sempre in qualche modo "accorpati" ai rendimenti notturni rispetto alle ore del giorno prima.
In realtà sarebbe molto interessante farlo sia senza raccordo che con raccordo.
Nel live un sistema che sfrutta differenze orarie penso sarebbe tendenzialmente intraday, quindi i rendimenti notturni comunque non li potrebbe comprare/vendere.
 

alvin_angel

K-LOVER
La mia idea sarebbe che se l'obiettivo è misurare le differenze attraverso le ore del giorno è meglio considerare i rendimenti che avvengono proprio in quelle ore.
Al contrario se non si fa questa operazione i rendimenti delle ore del "gionro dopo" si trovano sempre in qualche modo "accorpati" ai rendimenti notturni rispetto alle ore del giorno prima.
In realtà sarebbe molto interessante farlo sia senza raccordo che con raccordo.
Nel live un sistema che sfrutta differenze orarie penso sarebbe tendenzialmente intraday, quindi i rendimenti notturni comunque non li potrebbe comprare/vendere.


si'... come dice Ender... qui si voleva valutare una strategia intraday...
di GN e NG c'era gia' un thread...
cmq sia valutare i rendimenti mi sembra una buona indicazione... :up::up::up:
pero' prima dobbiamo arrivare ancora ad una statistica "certa" dei dati...
dopodiche' potremo analizzare se c'e' anche trippa x gatti... :D

perintanto... un'idea da visualizzare...
ad un daytrader-scalper che sta davanti al monitor si potrebbe accendere in alto a destra un bel cruscotto con dati e % a favore e sfavore...

altre idee?!?! cia'!!! :ciao:

dati con correzioni...
li devo ancora verificare...

Codice:
Giorni Totali: 1354  52min
Barra   Massimi   Minimi
Barra0   449   423
Barra1   126   143
Barra2   92   79
Barra3   79   77
Barra4   48   57
Barra5   54   54
Barra6   112   90
Barra7   104   109
Barra8   162   191
Barra9   336   299

Giorni Totali: 1354 26min
Barra   Massimi   Minimi
Barra0   350   357
Barra1   143   87
Barra2   89   105
Barra3   58   68
Barra4   71   47
Barra5   53   49
Barra6   59   54
Barra7   47   50
Barra8   27   33
Barra9   43   42
Barra10   33   44
Barra11   36   29
Barra12   75   56
Barra13   60   51
Barra14   50   57
Barra15   83   68
Barra16   79   111
Barra17   99   98
Barra18   111   111
Barra19   253   206

Giorni Totali: 1354 60min
Barra   Massimi   Minimi
Barra0   468   446
Barra1   129   133
Barra2   101   86
Barra3   53   81
Barra4   47   62
Barra5   120   88
Barra6   116   130
Barra7   186   216
Barra8   301   266
 
Ultima modifica:

ender85

Forumer attivo
Nel live un sistema che sfrutta differenze orarie penso sarebbe tendenzialmente intraday, quindi i rendimenti notturni comunque non li potrebbe comprare/vendere.
Credo che possedere informazioni inutili sia più dannoso rispetto al non averle.

Cmq fib in passato ha cambiato orari di contrattazione, questo cambia sensibilmente le statistiche perchè non essendo fissata l'inizio giornata il fenomeno nei primi anni era alla barra X e negli anni successivi alla barra X+1.
Taglio la serie storica e rilancio le statistiche, il campione sarà minore ma almeno non soffrirà di questo problema...
 

alvin_angel

K-LOVER
Prendendo buono questa considerazione basta aggiungere al codice le seguenti righe prima dell'aggiornamento dei massimi e minimi
Codice:
if massimo=h then orariomassimi[contabarre]=orariomassimi[contabarre]+1;
if minimo=l then orariominimi[contabarre]=orariominimi[contabarre]+1;

mi son dimenticato di ringraziare... THX... :D

oggi ho mal di testa e il mio codice non l'ho ancora cambiato...
anche perke' mi pare + complicato... :wall:

cmq avevo gia preparato un po' di overfitting sul vekkio...
estraggo solo i LUNEDI' e vedo se cambiano i valori su ProbStayHL...

Codice:
ANALISI Giornaliera per barre di 52 minuti
  
Giorno della Settimana -> 1 LUNEDI'
  
Il test verifica in quale barra il mercato tende
a fare il minimo o il massimo prezzo della giornata
  
datainizio test  = 20041000.00
  
datafine   test  = 20100204.00
  
totale giorni  test ----->    1354.00  DayWeek (1) ctr dayW ->  266
  
    TIME       #HIGH     #LOW      %HIGH     %LOW      %TOT   #PassHILO %PassHILO ProbStayHL 
    952.00     88.00    107.00     33.08     40.23     73.31    532.00    100.00  1 su   2.7
   1044.00     27.00     22.00     10.15      8.27     18.42    192.00     36.09  1 su   3.9
   1136.00     13.00     11.00      4.89      4.14      9.02    125.00     23.50  1 su   5.2
   1228.00     12.00      8.00      4.51      3.01      7.52     97.00     18.23  1 su   4.8
   1320.00      1.00      7.00      0.38      2.63      3.01     73.00     13.72  1 su   9.1
   1412.00      4.00      7.00      1.50      2.63      4.14     71.00     13.35  1 su   6.5
   1504.00     13.00      8.00      4.89      3.01      7.89     84.00     15.79  1 su   4.0
   1556.00     17.00     13.00      6.39      4.89     11.28    101.00     18.98  1 su   3.4
   1648.00     25.00     27.00      9.40     10.15     19.55    134.00     25.19  1 su   2.6
   1740.00     66.00     56.00     24.81     21.05     45.86    122.00     22.93  1 su   1.0

tutti i giorni

totale giorni  test ----->    1354.00  DayWeek (0) ctr dayW ->    0
  
    TIME       #HIGH     #LOW      %HIGH     %LOW      %TOT   #PassHILO %PassHILO ProbStayHL 
    952.00    450.00    421.00     33.26     31.12     64.38   2706.00    100.00  1 su   3.1
   1044.00    103.00    115.00      7.61      8.50     16.11   1009.00     37.29  1 su   4.6
   1136.00     64.00     62.00      4.73      4.58      9.31    721.00     26.64  1 su   5.7
   1228.00     55.00     53.00      4.07      3.92      7.98    562.00     20.77  1 su   5.2
   1320.00     23.00     43.00      1.70      3.18      4.88    435.00     16.08  1 su   6.6
   1412.00     33.00     34.00      2.44      2.51      4.95    391.00     14.45  1 su   5.8
   1504.00     91.00     75.00      6.73      5.54     12.27    586.00     21.66  1 su   3.5
   1556.00     84.00     97.00      6.21      7.17     13.38    559.00     20.66  1 su   3.1
   1648.00    138.00    170.00     10.20     12.56     22.76    674.00     24.91  1 su   2.2
   1740.00    313.00    284.00     23.13     20.99     44.12    598.00     22.10  1 su   1.0
l'intento non e' certo quello di overfittare ma di verificare con raziocino...
se poi si scopre che e' da rottamare nessun problema...
 
Ultima modifica:

pprllo

Nuovo forumer
Altra ipotesi di lavoro: la finestra sessione rimane quella fissa/naturale, cioè il "trading day", però insieme ai livelli ottenuti empiricamente calcoliamo anche i corrispondenti valori dell'arctangent rule.
Poichè poi l'esistenza di un minimo o di un massimo è un valore sì/no, possiamo modellarla come una binomiale, per cui noto (dall'arctangent rule) il valore atteso conosciamo anche la distribuzione, da cui possiamo calcolarci i livelli di significatività a piacere e così valutare l'effettiva rilevanza statistica del fenomeno.

Es:
Giornata divisa in 10 barre.
Probabilità di min/max nella prima/ultima barra =~ 0,205
Giornate analizzate: 1000
Risultato atteso: 205 min/max
Soglia significatività 1%: 185 - 235 min/max
E così per tutte le barre

Faccio l'esempio completo con i numeri originali di Alvin:
Codice:
ANALISI Giornaliera per barre di 52 minuti
  
Il test verifica in quale barra il mercato tende
a fare il minimo o il massimo prezzo della giornata
  
datainizio test  = 20041001
  
datafine   test  = 20100204
  
totale giorni  test ----->    1354.00
  
    TIME       #HIGH     #LOW      %HIGH     %LOW      %EXP      %3STDEV       PASS 
    952.00    450.00    421.00     33.26     31.12    20.48   17.19 - 23.77    BOTH
   1044.00    103.00    115.00      7.61      8.50     9.03    6.69 - 11.37    NONE
   1136.00     64.00     62.00      4.73      4.58     7.38    5.25 -  9.51    BOTH
   1228.00     55.00     53.00      4.07      3.92     6.69    4.65 -  8.73    BOTH
   1320.00     23.00     43.00      1.70      3.18     6.41    4.41 -  8.41    BOTH
   1412.00     33.00     34.00      2.44      2.51     6.41    4.41 -  8.41    BOTH
   1504.00     91.00     75.00      6.73      5.54     6.69    4.65 -  8.73    NONE
   1556.00     84.00     97.00      6.21      7.17     7.38    5.25 -  9.51    NONE
   1648.00    138.00    170.00     10.20     12.56     9.03    6.69 - 11.37     LOW
   1740.00    313.00    284.00     23.13     20.99    20.48   17.19 - 23.77    NONE

EDIT: In questo caso non ho preso l'1% ma 3 deviazioni standard come soglia di significatività.
 
Ultima modifica:

Users who are viewing this thread

Alto