Exam code 76424
Financial Trading and Algorithms
Docente: Dr. Paolo Coletti Paolo.Coletti@unibz.it .
Ufficio I303 - Orario ricevimento: www.paolocoletti.com/timetable
Sito web: www.paolocoletti.com/financialtrading
Corso
Prerequisiti
Per seguire correttamente questo corso, ogni studente deve conoscere questi argomenti:
- italiano: livello B1-B2
- programmazione: buone conoscenze di programmazione in almeno un linguaggio: tipi di variabili, condizioni, cicli, vettori, liste, tabelle hash/dizionari
- statistica: media, varianza, distribuzioni principali, modelli di regressione
Contenuto del corso
- Matematica finanziaria e microstruttura dei mercati finanziari
- Algoritmi di trading
- Criptovalute e tecnologia blockchain
- Smart contracts su blockchain Ethereum
- Finanza decentralizzata
Esame
L'esame è diviso in tre parti. Il peso sull'esame finale di ogni parte dipende dal numero di ore di lezione che vengono dedicate alla parte (nel A.A. 2023/24 erano 20%, 50%, 30%):
- La prima parte è teorica e consiste in un esame scritto sugli argomenti teorici illustrati a lezione (matematica finanziaria e microstruttura dei mercati finanziari, criptovalute e tecnlogia blockchain, finanza decentralizzata)
- La seconda parte è una prova pratica di programmazione su un algoritmo di trading nuovo o su uno già visto.
- La terza parte è una prova pratica di programmazione di smart contracts su blockchain Ethereum.
La seconda prova può essere sostituite da una prova in aula durante il corso. Qualora il risultato della prova non sia sufficiente o sia troppo basso per lo studente, lo studente potrà sostenere quella parte nelle sessioni d'esame.
Prima dell'esame:
- controlla di avere un computer funzionante;
- controlla che Anaconda sia installato con i pacchetti usati durante il corso e che tu riesca ad usare Jupyter per Python oppure che tu acceda correttamente a Google Colab;
- controlla che tu riesca ad accedere correttamente tramite API al tuo account Oanda oppure IBKR;
- controlla che Metamask sia installato e che tu abbia degli ether Sepolia sui tuoi account e che interagisca correttamente con Remix.
Files usati durante il corso
Video delle lezioni
Approfondimento su Python di base
FAQs
D: Che software mi serve per avere Python sul mio computer?
R: Anaconda è disponibile per Windows e per Mac. Presta attenzione ad installare Python 3. Guarda i video per i dettagli. Utilizzeremo poi Oanda e Interactive Brokers per i dati e l'inserimento ordini e quindi servirà un account demo su questi due broker.
D: Che software mi serve per gli smart contracts sul mio computer?
R: Useremo solo Metamask, che è un add-on per browser. Sfortunatamente soltanto Chrome, Firefox e Opera accettano add-on, quindi devi avere uno di questi tre browser. Guarda il video per i dettagli. Attenzione che serve avere dei Sepolia ether, chiedimeli!
D: Come posso scrivere la barra rovesciata, le parentesi quadre, la barra verticale e le parentesi graffe con una tastiera tedesca di un Mac?
R: Hai comprato un Mac con la tastiera tedesca? Per la programmazione le mancano alcuni tasti fondamentali. Qui le combinazioni di tasti:
- la barra rovesciata \ si ottiene con ALT+SHIFT+7
- le parentesi quadre [ e ] si ottengono con ALT+5 e ALT+6
- la barra verticale | si ottiene con ALT+7
- le parentesi graffe { e } si ottengono con ALT+8 e ALT+9
Q: Come posso scrivere la chiocciola, le parentesi quadre e le parentesi graffe con una tastiera italiana di un Mac usando VMware?
A: Hai comprato un Mac con la tastiera italiana? Non capisco perché il tasto Option-Alt destro funziona per il simbolo dell'euro ma non per il resto. Qui le combinazioni di tasti:
- le parentesi quadre [ e ] si ottengono con ALT DESTRO+8 e ALT DESTRO+9
- la chiocciola @ si ottiene con ALT DESTRO+Q
- le parentesi graffe { e } si ottengono con ALT DESTRO+7 e ALT DESTRO+0
D: Posso prendere appuntamento per parlare?
R: Certo, scrivimi una email e possiamo fissarlo online o dal vivo. Alternativamente, puoi chiedermi per email o su Teams e ti risponderò velocemente!
D: Quando sarà il prossimo esame? Può darmi un'indicazione sulla data del prossimo esame perché devo prendere un aereo? Può spostare la data d'esame? Può fissare l'esame in questa settimana?
R: Per favore non scrivermi email su questi argomenti. La data d'esame appare sul calendario online appena diventa ufficiale. Se hai qualche problema, contatta il rappresentante degli studenti che è l'unico che può proporre richieste a nome degli studenti.
D: Non riesco a registrarmi per problemi tecnici o amministrativi oppure ho dimenticato di registrarmi oppure è il mio terzo tentativo e quindi non posso registrarmi. Posso sostenere comunque l'esame?
R: No, non posso permettere agli studenti non registrati di partecipare all'esame. Non chiedermi di fare cose illegali! Chiedi alla segreteria se c'è qualcosa che possono fare.
D: L'esame sarà simile ai precedenti?
R: Ovvio.
D: Sono uno studente del corso XYZ. Quale esame devo sostenere?
R: Alcune situazioni sono molto complesse, per tanto l'unica fonte che devi guardare è il tuo cockpit unibz. Là trovi tutti gli esami con il loro codice e dovresti vedere lezioni ed esami anche nel tuo calendario online. Se hai dubbi, chiedi in segreteria. Scopri esattamente quale è il tuo esame per evitare di frequentare il corso sbagliato o, peggio, presentarti all'esame sbagliato.
D: Ho perso un file durante l'esame perché non lo ho salvato correttamente. Cosa posso fare?
R: Assolutamente nulla. Se investi tempo in esercizi apprenderai l'inaffidabilità dei tuoi programmi e quanto spesso devi salvare.
D: I miei files non sono stati copiati correttamente alla fine dell'esame. Cosa posso fare?
R: Controllare che la copia sia corretta e allenarsi a copiare i file è tuo compito e parte ufficiale della valutazione di questo esame.
Esami precedenti
ID
|
Session
|
Exam link
|
Solution link
|
Videosolution for smart contracts
|
---|---|---|---|---|
esempi di domande di teoria
|
||||
esame su smart contracts 19
|
||||
esame su smart contracts 18
|
||||
esame su smart contracts 17
|
||||
esame su algoritmi di trading
|
||||
esami su algoritmi di trading
|
||||
vecchio esame su smart contracts di altro corso
|
||||
vecchio esame su smart contracts di altro corso
|
||||
vecchio esame su smart contracts di altro corso
|
Modifiche causa epidemia Covid
Gli esami e le prove in itinere saranno, a meno che non arrivino ulteriori restrizioni, in presenza. Per eccezioni o nuove restrizioni, leggi le regole ufficiale dell'università.
Seguire il corso
Se segui il corso online, sarà molto difficile vedere quello che faccio e allo stesso tempo farlo tu. L'ideale è avere due schermi: su uno vedi il mio video e sull'altro ripeti quello che faccio. Puoi usare anche il televisore di casa come secondo schermo. Controlla quali porte hai in uscita sul tuo computer (probabilmente avrai HDMI, USB Type C, DisplayPort, VGA; cerca su Google come sono fatte) e quali porte ha in entrata il tuo televisore o secondo monitor. Un cavo di collegamento tra una presa e l'altra costa poco. In alternativa puoi guardare il mio video su un tablet o un vecchio computer o uno smartphone e usare il tuo computer principale per ripetere i miei esempi.
Parte 1
Questa parte è un esame orale su Teams. Attenzione che tutti gli esami orali sono pubblici, quindi potrebbero esserci altre persone connesse (che ovviamente devono tacere!). Non registrerò l'esame. Ti chiederò di mostrarmi la stanza dove ti trovi e non deve esserci nessuno accanto a te né materiale del corso né altri schermi. Puoi tenere un foglio A4 con una facciata scritta con quello che vuoi, incluso il materiale del corso. Sarai valutato su quello che dici, come lo dici e quanto tempo ci impieghi a rispondere (passare ogni volta 10 minuti a leggere il tuo foglio A4 ti penalizzerà).
Parte 2 e parte 3
Io ti mando i file e tu mi rimandi i files via email.
In questo breve video in italiano https://youtu.be/ZvKA_p3N57E (o in inglese https://youtu.be/nFV8Dz8SdhY) trovi le istruzioni su come installare e configurare OBS, un programma che puoi usare per registrare il tuo schermo e la tua faccia in contemporanea. E' tua responsabilità installare il programma, configurarlo, farlo funzionare adeguatamente e avere abbastanza spazio sul tuo disco (stima: 200 MB per il programma, 200 MB per ogni ora di esame), pertanto come minimo prova a registrare per 30 minuti. Tieni Teams spento quando usi OBS, devi iniziare a registrare PRIMA di ricevere i files d'esame e terminare DOPO aver mandato a me i files: devo poter vederti aprire l'email e rimandarmi l'email. Dopo aver fermato la registrazione, rinomina il file video con il tuo cognome e dopo mandamelo tramite WeTransfer o qualunque altro servizio simile che preferisci (che non mi obblighi a inserire miei dati, quindi NON Google Drive). Non cancellarlo finché non ho pubblicato i voti. La mia copia del video sarà cancellata appena ho corretto questa parte d'esame.
Se per caso durante l'esame hai bisogno della mia assistenza e vuoi chiamarmi su Teams, non fare la videochiamata dal computer perché la tua telecamera è occupata da OBS. Puoi usare la app Teams sul tuo telefono (unibz non vuole che usiamo Whatsapp o Telegram) usando la tua camera sul retro per mostrarmi il tuo schermo. Per favore fai qualche prova per tenerlo fermo e mettere lo schermo a fuoco, dato che se tremi o inquadri sfuocato non potrò aiutarti.
Truffa
Se ho il sospetto che tu stia imbrogliando o che abbia imbrogliato, interromperò l'esame e scriverò un verbale per il Preside. E' già successo in passato ad alcuni tuoi colleghi, quindi per favore non tentare di imbrogliare.