Python Programming in Finance

Location: Room 108, 德田館
Time: 1345-1730

Objectives

Prerequisites

Text

Overview

Python crash course

[IP ch.2-6]

Data preprocessing

[PFF ch. 6-7; PDA ch. 5-7]

Data visualization and technical analysis

[PFF ch. 5; PDA ch. 8 and 10]

Mathematical tools and time series analysis

[PFF ch. 9-11; DSS ch. 5 and 7]

Financial models

[PFF ch. 15-17; DAP ch. 4-5, 7-10, 12]

Model calibration

[PFF ch.19; DAP ch. 11 and 13]

Performance issues

[PFF ch .8]

Machine learning

[DSS ch. 11-19]

References

Python programming

Financial markets and trading systems

Quantitative methods in finance and economics

Machine learning

Optimization

Misc

Installation & Wi-Fi

Schedule [ 298, 300 ]

Date Summary
2018.7.16 syllabus, installation of Anaconda, Stanford Python, computation model (CPU-memory), variables, simple data types (int, float, string), list, slicing, selection (if-elif-else), iteration (for-in, while), jump statements (break, continue)
2018.7.17 iterator (range, zip, enumerate), with-as, list/dictionary/tuple/set comprehension, function, variable scope, positional/keyword arguments, functional programming (map, filter), lambda expressions (anonymous functions), generator (yield), decorator
2018.7.18 recursion, analysis of algorithms (read 1, 2), class and object
2018.7.19 encapsulation, inheritance, try-except-else-finally, raise, exceptions, module, package, numpy, scipy, data visualization (05_Visualization.ipynb and seaborn)
2018.7.23 data acquisition (Crawling and Scraping, dj_daily_close.csv; you may learn regular expressions from regexpone.com), pandas (pandas cookbook), data cleaning (Pythonic Data Cleaning With NumPy and Pandas), technical analysis (Technical Analysis Library in Python), time series analysis (statsmodels), backtest framework (download from backtrader at github with full document, example: quick starter, data feed, strategy, using indicators, more indicators, automatic backtesting)
2018.7.24 financial models (Option Basics starting from p. 178, and Option Pricing Models; offered by Prof. Lyuu), Monte Carlo simulations (10_Stochastics.ipynb, 15_DX_Library_ipynb.ipynb, dxa.zip), real options and its valuation (1 and 2)
2017.7.25 model calibration (codes; another example: 19_Volatility_Options.ipynb) and dynamic delta hedging (also see Sensitivity Analysis of Options starting from p. 327; offered by Prof. Lyuu), performance issues (08_Performance_Python.ipynb, multiprocessing and multithreading: why not multithreading, and Amdahl's law)
2018.7.26 Hands-on Tutorial of Machine Learning in Python (also read introduction to machine learning; scikit-learn, Illustration for PCA (could be done by SVD), logistic regression: example, Flappy Bird Bot using Reinforcement Learning in Python, TensorFlow Tutorials, TensorFlow Examples); Essence of linear algebra for self-study

Sample code

Gradebook