serra1995 ha scritto:Salve a tutti, sperando di trovare qualcuno che mi possa aiutare, vorrei modificare il file di Scarica OI per aggiornarlo, soprattutto per inserire anche le opzioni su azioni, c'è qualche guida da dove partire? Si fa utilizzando una macro?
Vorrei non modificare ogni singola connessione a mano
Ciao, devi utilizzare le Web Query per collegarti ai dati di borsa italiana e scaricare per ogni singola opzione put o call i relativi valori, naturalmente dal sito scaricherai anche un insieme di dati che non utilizzerai, ma non dovrai cancellarli perchè ogni giorno quando aggiornerai i dati, disponibili solo dopo le 19, li reinserirà automaticamente oltre a quelli che ti servono.
Poi nelle colonne degli OI andrai a fare i collegamenti con riferimento al foglio e cella dove si trova il valore che ti interessa, volumi, OI, volatilità ecc..ecc
Questo per quanto riguarda lo scaricamento giornaliero dei dati.
Ogni giorno devi, per ogni singolo foglio fare l'aggiornamento andando su Dati..Aggiorna tutti...Aggiorna ( non cliccare su aggiorna tutti ma solo su aggiorna )
Questo se lo vuoi fare manualmente x ogni singolo foglio.
Il metodo automatico richiede la capacità di lavorare con le Macro in ambiente VBA. Non è difficile ma un minimo di conoscenza devi averla.
Questo è un esempio di Macro che utilizzo.
Sub AggiornaWebQueryCall() QUESTO è IL NOME DELLA MACRO CHE CREI, IN QUESTO CASO DELLE CALL
'
' AggiornaWebQuery Macro QUESTO è UN COMMENTO
'
'Aggiorna le Call QUESTO è UN COMMENTO
ES:QUESTA SOTTO è LA MACRO CHE MI FA L'AGGIORNAMENTO DEL FUTURE
Sheets("FUTUREmar.").Select
Range("A1").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
ES: QUESTA è LA MACRO CHE AGGIORNA UNA CALL 23000
Sheets("C23000").Select
Range("A1").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
Sono 2 esempi di macro funzionanti, dove nella riga Sheets, che in linguaggio VBA identifica il foglio, al posto di C23000 andrai a mettere il foglio a cui vuoi fare riferimento.
La parola Range identifica un riferimento di cella, quindi colonna A riga 1, dove lui posiziona il mause e da li parte l'aggiornamento del foglio.
L'ultima riga è l'istruzione che permette di fare l'aggiornamento in automatico della webquery per quel foglio soltanto.
Questo è un metodo un po lungo per creare automatismi ma non conoscendo il linguaggio VBA è stata l'unica trovata per velocizzare gli aggiornamenti.
Io utilizzo 2 macro, una per tutte le call ed una per tutte le put del sottostante che mi interessa.
Ho assegnato le macro a 2 pulsanti differenti, una per le call ed una per le put e d in pochi secondi mi aggiorna tutto.
Ogni volta che dovrai passare alla catena di opzioni per la scadenza successiva dovrai riaggiornare per ogni singolo straik
i riferimenti al sito di borsa attraverso la modifica delle webquery.
Di più non posso aiutarti perchè è tutto quello che so di questa materia, oltre all'uso delle macro non so molto altro.
Con il linuaggio VBA puoi ridurre tutta la sequenza di codice ma non so farlo