Date |
Summary |
2020.4.22 |
- Syllabus
- Recent financial news
- Coding platform
- (FYR) Preliminary knowledge about CS
- Programming basics
- Lecture slides: lecture1.pdf
- Lecture notebook: pyf_1_python_programming_1.ipynb
- Variables and naming
- Simple data types (float, str, bool)
- Arithmetic operators (+,-, *, /, //, %, **), assignment operator (=), rational operators (<, <=, ==, >, >=, !=), logical operators (and, or, not)
- Built-in data structures: list, dictionary, tuple
- Branching (if-elif-else)
- Iteration (for, while)
- Applications: Monte Carlo simulation with random number generator, bisection method for root-finding
|
2020.4.25 |
- Programming basics (cont'd)
- Lecture notebook: pyf_1_python_programming_2.ipynb
- Flow controls
- Jump statements (break, continue, pass)
- Looping techniques: enumerate, zip, reverse, sorted
- Comprehensions
- Functions
- User-defined function
- Variable scope
- Default arguments
- Positional & keyword arguments
- Lambda expressions
- Functional programming (map, filter)
- Advanced usage: iterator (next) & generator (yield)
- Object-oriented programming
- Class & object
- Applications: string, file i/o (with-as), date & time, exceptions (try-except-else-finally)
|
2020.4.29 |
- Data acquisition, visualization & backtesting
- Lecture notebook: pyf_data_acquisition_visualization_backtesting.ipynb
- Customized data crawlers (or you can buy financial data from those famous information suppliers)
- High-level data structure: Dataframe of Pandas
- Another package based on Pandas: financial functions for Python (ffn)
- Plotting: matplotlib, seaborn, mpl_finance, pygal, bokeh
- Signal generation: technical analysis using ta
- Backtesting
|
2020.5.2 |
|
2020.5.6 |
(no class due to personal excuse)
|
2020.5.9 |
|
2020.5.13 |
- Modern portfolio theory
- Financial time series analysis
|
2020.5.16 |
- (FYR) Kronos Research, Kronos Webinar Trilogy #1 - Quant Trading 101, 2020.5.16
- Financial time series analysis (cont'd)
- Generalized autoregressive conditional heteroskedasticity (GARCH) model
- Vector autoregression (VAR) model
- Cointegrated VAR using vector error correction (VEC) model
- Granger causality
|
2020.5.20 |
- Pricing theory
- Lecture slides: pricing_theory.pdf
- Lecture notebook: pyf_pricing_theory.ipynb
- Arbitrage-free principle
- Complete market
- Valuation framework: fundamental theorem of asset pricing
- Binomial option pricing model (BOPM)
- Stochastic calculus: Wiener process & Ito's formula
- Random walk: Brownian motion
- Black-Scholes formula
- Case study: option pricing with negative strikes by using Bachelier model (Chadv20-152)
- Monte Carlo simulation
- European options
- American options using least-square Monte Carlo (LSM)
- More stochastic processes with simulation
- Mean-reverting process: Ornstein-Uhlenbeck (OU) model, Vasicek model
- Mean-reverting square-root process: Cox-Ingersoll-Ross (CIR) model
- Stochastic volatility model: Heston model
- Jump-diffusion process: Merton's model
- Term-structure of interest rates: Hull-White (HW) model, Heath-Jarrow-Morton (HJM) framework, LIBOR market model
- QuantLib tutorial
- Model calibration
|
2020.5.23 |
- Risk management
- Lecture notebook: pyf_7_risk_management.ipynb
- Value at risk (VaR) and Expected shortfall (ES)
- Sensitivity analysis: Greeks
- Dynamic hedging
- Case study: VIX
|
2020.5.27 |
- Machine learning tutorial
- Lecture notebook: pyf_machine_learning_tutorial_1.ipynb
- Regression with regularization: ridge regression & LASSO regression
- Logistic regression
- Support vector machine (SVM)
- Decision tree, random forest, and AdaBoost
- Principal component analysis (PCA)
- K-means clustering
- Reinforcement learning: Q-learning
- Lecture notebook: pyf_machine_learning_tutorial_2.ipynb
- Recurrent neural network (RNN)
- Long-short term memory (LSTM) model
- Performance issues
- Lecture notebook: pyf_misc.ipynb
- Row major vs. column major
- Performance profiling
- Multiprocessing/multithreading and Amdahl's law
- Dynamic compiling
|