Oggi è 18/07/2019, 2:57


La cassetta degli attrezzi

In questo spazio vengono discussi argomenti semplici che riguardano soprattutto chi è alle prime armi
  • Autore
  • Messaggio
Non connesso

serra1995

  • Messaggi: 7
  • Iscritto il: 26/08/2017, 13:25

Re: La cassetta degli attrezzi

Messaggio30/01/2018, 18:32

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
Non connesso

Pantarei

  • Messaggi: 56
  • Iscritto il: 05/03/2017, 18:56

Re: La cassetta degli attrezzi

Messaggio30/01/2018, 18:58

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


Si può fare a mano o in alternativa con una macro in ambiente VBA ma io non ne capisco niente di programmazione. Faccio tutto manualmente per calcolarmi la VI ponderata e non solo.
Non connesso

Strayk60

  • Messaggi: 56
  • Iscritto il: 09/07/2017, 18:01

Re: La cassetta degli attrezzi

Messaggio31/01/2018, 13:07

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
Non connesso

serra1995

  • Messaggi: 7
  • Iscritto il: 26/08/2017, 13:25

Re: La cassetta degli attrezzi

Messaggio01/02/2018, 0:20

Strayk60 ha scritto:
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



Ti ringrazio molto!!!!!
Su utilizzo delle macro e vba, me ne intendo il giusto, ho già realizzato da solo un foglio per analizzare la dinamica degli open interest, niente di troppo sofisticato o elegante, ma sicuramente funzionale!
Mi ero un po' perso con i file di prova riguardo scaricare questo open interest, perchè non ne capivo il funzionamento e quale fosse la dinamica di aggiornamento mese per mese
Vedendo i due fogli con elencati gli strike e gli isin mi chiedevo se con la macro presente e aggiornando con isin e strike correnti fosse possibile non andare ad aggiornare ogni singola query, ma con diversi tentativi non ci ero riuscito e non trovavo indicazioni chiare sul forum
Sarebbe servito anche a un mio amico che non ha accesso a un dde, e che dovrebbe collegare invece le opzioni su azioni e inserendo a mano ogni singola opzione sarebbe davvero un processo infinito
In ogni caso grazie mille per la risposta!!!
Non connesso

Strayk60

  • Messaggi: 56
  • Iscritto il: 09/07/2017, 18:01

Re: La cassetta degli attrezzi

Messaggio01/02/2018, 10:33

Per le poche conoscenze che ho io, conosco solo questo metodo. Ad ogni scadenza aggiorno tutte le query x il mese successivo. E' un lavoro di un paio d'ore ma poi per tutto il mese sono a posto. Poi ultimamente mi sono messo a preparare anche i file per le scadenze successive così ho sempre tre scadenze pronte, quella in corso e le due successive. Ci perdi un po di tempo all'inizio ma poi tutto scorre velocemente.
Nel File scarica dati c'è un'istruzione x l'aggiornamento di tutti gli OI, ma quando lo facevo partire con quella istruzione mi andava in blocco il file e dovevo riavviarlo, probabilmente il mio pc non è abbastanza potente, per eseguire gli aggiornamenti tutti in una volta, per questo ho diviso attraverso le macro il lavoro di aggiornamento in due blocchi, uno per le call ed uno per le put e da allora tutto funziona senza intoppi. Una volta aggiornate le query a inizio ciclo scadenza devo solo cliccare su tre pulsanti ed il gioco è fatto.
Non connesso

serra1995

  • Messaggi: 7
  • Iscritto il: 26/08/2017, 13:25

Re: La cassetta degli attrezzi

Messaggio01/02/2018, 23:10

Strayk60 ha scritto:Per le poche conoscenze che ho io, conosco solo questo metodo. Ad ogni scadenza aggiorno tutte le query x il mese successivo. E' un lavoro di un paio d'ore ma poi per tutto il mese sono a posto. Poi ultimamente mi sono messo a preparare anche i file per le scadenze successive così ho sempre tre scadenze pronte, quella in corso e le due successive. Ci perdi un po di tempo all'inizio ma poi tutto scorre velocemente.
Nel File scarica dati c'è un'istruzione x l'aggiornamento di tutti gli OI, ma quando lo facevo partire con quella istruzione mi andava in blocco il file e dovevo riavviarlo, probabilmente il mio pc non è abbastanza potente, per eseguire gli aggiornamenti tutti in una volta, per questo ho diviso attraverso le macro il lavoro di aggiornamento in due blocchi, uno per le call ed uno per le put e da allora tutto funziona senza intoppi. Una volta aggiornate le query a inizio ciclo scadenza devo solo cliccare su tre pulsanti ed il gioco è fatto.


Dai vari tentativi che ho fatto, mi sembra di vedere che sia impossibile agire sulla stringa della query a cui si collega, ma che si possa solo modificare posizione e aggiornamento query con le macro
per il fatto di premere aggiornamento, anche con me si blocca il foglio e excel va in crash
Precedente

Torna a Concetti di base

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron