Finanza24ore.com - Excel Trading C3.1 : estrazione dati settimanali
Finanza24ore.com
Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download | Cerca | FAQ

Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 Forum
 Excel Trading
 Excel Trading C3.1 : estrazione dati settimanali
 Nuova Discussione  Discussione Bloccata
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

Diego Vassallo
Amministratore



156 Messaggi

Inserito il - 03/10/2007 : 11:43:52  Mostra Profilo  Visita l'Homepage di Diego Vassallo Invia a Diego Vassallo un Messaggio Privato
Excel Trading

In questo breve capitolo vediamo come realizzare un programma che ci permette di estrarre i dati settimanali (apertura, massimo, minimo,chiusura,volumi) da un serie storica a cadenza giornaliera. Questo tipo di dati si rivela molto utile per cercare di "tagliare" la componente di rumore dai grafici e riuscire ad identificare con più esattezza i segnali di ingresso per operazioni di medio-lungo periodo.
Non mi sono mai preoccupato di capire come i programmi commerciali risolvano questo problema, per quanto mi riguarda la settimana borsistica è ovviamente quella che và da lunedì a venerdì.
Il problema è che i giorni di chiusura della borsa, per festività o per eventi straordinari, creano dei problemi nell'implementazione del codice ; quindi se la borsa è rimasta chiusa ad esempio il lunedì e giovedì, devo estrarre i dati salienti della settimana borsistica composta solo da 3 sedute.
Per fare questo si utilizzano con astuzia le funzioni di excel relative a dati di tipo data in particolare la funzione" weekday" che associa un numero al relativo giorno della settimana ( 2 = lunedì --- 6 = venerdì).
Ho allegato alla lezione un foglio contenente una lunga serie storica ed è possibile analizzare la semplice routine che permette di evidenziare il primo giorno di ogni settimana di contrattazioni.
Nella colonna 8 sono riportati i numeri associati ai giorni della settima e colorate in giallo le celle che corrispondono al primo giorno della settimana di borsa.
Per completezza riporto la routine :

Sub dati_settimanali()

nomeWB = ActiveWorkbook.Name
nomeWS = ActiveSheet.Name

' toglie i colori dalle celle colorate
Workbooks(nomeWB).Worksheets(nomeWS).Cells.Interior.ColorIndex = xlNone

' ultima cella dello storico
Set topcell = Workbooks(nomeWB).Worksheets(nomeWS).Cells(65534, 1)
If IsEmpty(topcell) Then Set topcell = topcell.End(xlUp)
fine = topcell.Row

' ciclo su tutto lo storico
For a = 2 To fine

' utilizza le funzioni di excel delle date per determinare il numero del giorno della settimana
primo = Weekday(Cells(a, 1).Value)
secondo = Weekday(Cells(a + 1, 1).Value)

' scrive nella colonna 8 il numero del giorno
Workbooks(nomeWB).Worksheets(nomeWS).Cells(a, 8).Value = primo

' condizione per determinare il primo giorno della settimana borsistica
If secondo < primo Then
Cells(a + 1, 8).Interior.ColorIndex = 6
End If

Next

End Sub

File allegato
Allegato
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Discussione Bloccata
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Questa pagina è stata generata in 0,31 secondi. TargatoNA.it | SuperDeeJay.Net | Snitz Forums 2000