Python Programming in Finance

Location: Room 108, 德田館
Time: 1900-2200

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 nad 7]

Financial models

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

Model calibration and dynamic hedging

[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.18 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.21 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)
2018.7.25 generator (yield), decorator (also see Advanced Functions and OOP), recursion, analysis of algorithms (read 1, 2; also see 20180706.pdf from Java Programming), class and object, encapsulation, inheritance, try-except-else-finally, raise, exceptions, module, package
2018.7.28 numpy and scipy, data visualization by matplotlib (05_Visualization.ipynb and seaborn; also read Matplotlib tutorial), data acquisition (Crawling and Scraping; regular expressions (re), also check regexpone.com; you may use Taiwan Stock Exchange Crawler and Taiwan Stock Exchange Real Time Crawler, Taiwan Options Exchange Crawler, taifex qoute python wrapper, calculate implied volatility and visualization), pandas (pandas cookbook; you may try this data set: dj_daily_close.csv; also see Pythonic Data Cleaning With NumPy and Pandas)
2018.8.1
2018.8.4 (no class)
2018.8.8
2017.8.11
2018.8.15 (class suspended due to personal excuse)
2017.8.18
2018.8.23
2018.9.2 (no class) take-home exam is due at 23:59.

Sample code

Gradebook