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:
- leggere e comprendere l'italiano: devi essere un grado di leggere e capire l'italiano sopra il livello B1. Se, ad esempio, hai problemi a leggere questa pagina web, non riuscirai a seguire correttamente il corso.
- Microsoft Windows o Mac di base: devi saper usare Windows o il Mac nei suoi aspetti di base
- gestione dei files: devi avere una buona esperienza su spostare, cancellare, rinominare, copiare, comprimere e decomprimere files e directories
- Internet di base: devi essere in grado di navigare, mandare e leggere email, usare le funzioni basilari della rete UNIBZ e scaricare files
- programmazione: buone conoscenze di programmazione in almeno un linguaggio: tipi di variabili, condizioni, cicli, vettori, liste, tabelle hash/dizionari
- statistica: media, varianza, distribuzioni principali, test statistici, modelli di regressione
- basi di matematica finanziaria e strumenti di investimento
Contenuto del corso
- 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:
- La prima parte è teorica e consiste in un esame scritto sugli argomenti teorici illustrati a lezione (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.
Solo per gli studenti che regolarmente consegnano i compiti assegnati dopo ogni lezione, la seconda e la terza prova possono essere sostituite da prove in aula durante il corso. Il voto è calcolato come max(voto prova in aula, voto prova in aula*70%+media pesata dei compiti a casa*30%). E' possibile saltare un compito prendendo 0 nel compito stesso, ma al secondo compito mancante nella stessa part si viene esclusi da quella parte. 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:
- se non usi il tuo portatile, prendi in prestito un computer dalla biblioteca ben prima dell'esame e configuralo prima dell'esame;
- presta attenzione che Anaconda sia installato e che tu riesca ad usare Jupyter per Python;
- presta attenzione che Metamask sia installato e che tu abbia degli ether RInkeby sui tuoi account e che interagisca correttamente con Remix;
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.
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 per i dati e l'inserimento ordini.
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.
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, ma ogni anno aggiungo nuovi argomenti e non chiedo argomenti rimossi. Queste parti appaiono cancellate nel testo dell'esame e appaiono comunque nella videosoluzione del vecchio esame.
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.