University of St.Gallen
The financial sector is experiencing a significant wave of innovation fostered by the unprecedented availability of data and the advent of new digital technologies. This course starts by providing a brief overview of these developments from a historical perspective. Next, it introduces the concept of blockchain from both a technical and a more high‑level perspective. A detailed description of the blockchain protocol is provided, discussing key concepts like proof‑of‑work and cryptographic hash function. We then discuss consolidated and potential applications of blockchain, the role of Bitcoin as a distributed payment system and its relationships with the current banking system. The second part of the course revolves around deep learning methods, with a particular emphasis on deep neural networks .An overview of the architecture of feed forward neural networks is provided, discussing fundamental concepts like artificial neurons, back‑propagation, activation functions and loss functions. After discussing the theory, live coding sessions based on Jupyter notebooks showcase simple implementations of neural networks with python. We then move to the discussion of the training process and of performance evaluation, focusing on cross‑validation and regularization techniques. A brief overview of more sophisticated neural network architectures is given (convolutional neural networks, auto‑encoders,generative adversarial networks). We then focus on recurrent neural networks and their application to forecasting financial time‑series, including a live coding session setting up a simple high‑frequency trading strategy. The last part combines the first two topics, with the objective to implement a simple trading strategy on crypto‑currencies based on a predictive signal generated by a neural network. Students will learn to obtain price and volume data from crypto‑exchanges exploiting their APIs, and to implement a basic back‑testing framework in python.