Buongiorno,
senza dover fare il calcolo a mano, c’è la possibilità di creare un indicatore che calcoli tutta la serie storica su base mensile di un determinato strumento?
ovvero, vorrei sommare tutti i mesi di gennaio del dow jones per vedere nel mese di gennaio qual’è stata la media della sua performance, così come di febbraio e così via, per avere una panoramica dei mei che statisticamente siano i migliori o i peggio per un determinato strumento che vado ad analizzare, così da ricavarne un determinato vantaggio statistico quando decido di entrare a mercato.
ringrazio e auguro a tutti buon lavoro
Si, cosa vuoi sommare tutti i mesi?
Buongiorno Roberto,
intendo la performance in termini percentuali, e fare una media delle candele analizzate es: il dow jones ha fatto in media un +3.50% nel mese di gennaio su un campione di candele mensili analizzato negli ultimi 50 anni.
farlo a mano con la calcolatrice è un procedimento lungo, volevo sapere se fosse possibile fare prima creando un indicatore.
ceto se fosse possibile su tutti i mesi.
te ne sarei molto grato.
Si, è possibile. Dammi un pò di tempo e lo faccio.
Certamente,
gentilissimo come sempre.
Eccolo:
DEFPARAM DrawOnLastBarOnly = True
ONCE Apertura = 0
ONCE Chiusura = 0
//
IF BarIndex = 0 THEN
Inizio = OpenYear
FOR i = 1 TO 12
$Mese[i] = 0 //inizializzare i 12 elementi corrispondentio ai mesi (1, 2, 3, ....)
$Conto[i] = 0
NEXT
Apertura = open
Chiusura = close
ELSE
//
m = OpenMonth
y = m[1]
IF m <> y THEN
PerCent = Chiusura / Apertura
$Mese[y] = $Mese[y] + PerCent
$Conto[y] = $Conto[y] + 1
Apertura = open
ENDIF
Chiusura = close
Fine = OpenYear
//
Offset = average[200,0](range)// * 0.8
FOR i = 1 TO 12
PerCent = $Mese[i] / $Conto[i]
DrawText("% mese #i# = #PerCent#",BarIndex,high + (Offset * i))
NEXT
DrawText("dal #Inizio# al #Fine#",BarIndex,high + (Offset * 14))
ENDIF
RETURN
Buonasera Roberto,
il risultato non coincide con gli unici titoli dove mi sono cimentato nel fare da solo il calcolo manualmente con la calcolatrice, qualsiasi titolo vado a trattare il risultato è sempre vicino ad 1%,
io vorrei se fosse possibile fare la somma matematica della performance mensile di tutti i mesi e poi divederla per il campione analizzato.
es titolo Enel: gennaio 2000 +5%, gennaio 2001 -2%. gennaio 2002 +1.5% . somma = +4.5/3(mesi analizzati) = +1.5% ( la media mensile del mese di gennaio di Enel analizzata su 3 anni.
così riuscire a capire se c’è una sorta di stagionalità analizzando tutti le medie dei mesi per molti anni, facendolo a mano con calcolatrice foglio e penna e un procedimento lungo, se poteva farmelo il pc era molto veloce.
analizzare il dax dal 1970 al 2021 è molto lungo a mano.
spero di essere stato più chiamo possibile.
grazie ancora per il tuo prezioso aiuto
Buongiorno Roberto,
Non ho ricevuto risposta da parte tua.
Saluti
Scusa, mi è passato.
Domani lo farò, oggi non ci riesco.
Aggiungi questa riga tra la 10 e la 11 (subito sotto NEXT), in quanto modifica leggermente il mese in cui l’hai messo sul grafico (in questo caso Febbraio):
m = OpenMonth
Per il resto non ho fatto la prova del 9, per questioni di tempo, però la logica è quella che vuoi tu, una somma delle prestazioni di tutti i mesi divisa per il numeo di mesi esaminati.
L’ultimo mese (quello in corso), non è compreso.
La media non è fatta esattamente sun un anno di 12 mesi, per cui se inizia da aprile 1995, i mesi prima di Aprile avranno un mese in meno su cui fare il calcolo, ma non credo infici molto, su 30 anni sono 360 mesi, quindi manca 1/360esimo di accuratezza rispetto agli altri. Lo stesso vale per l’anno in corso, se lo esegui adesso per i mesi di Gennaio e Febbraio avrà 1/360esimo di accuratezza in più rispetto a Marzo, Aprile, ecc… Sono differenza dell’ordine magari di pochi centesimi.