A walk through the frameworks of Python in Finance.
Welcome! Initally developed as an introductory tutorial repository for associates in ETC Capital, this repository has became a collection of algorithms, models and guides the author develops in his personal quantitative investment pursuit. the first three sections of this repository explore the basic foundation of python programming for finance. The subseqent sections are much more rigourous in nature as it surveys the state of the art quantitative finance practices and industry level applications, including machine learning algorithms and various statistical methods applied to stock selections, factor mining problems. The repository is currently in development phase. The finalized version will include a full-fledged integration and utilization of Quantopian, GS-Quant and WRDS API and their relevant datasets and analytics.
Content Outline
-
I. Basic Framework
A general introduction to python packages. Basic stock data initialization, dataframe maipulation and basic plotting. Some in-depth guide about the main package used, such as numpy and pandas, is included.
-
II. Market Data Manipulation
Scraping S&P500 data, Asset correlation, linear regression, beta hedging.
-
III. Techinical Refinement.
Redefining traditional technical indicators with quantitative finance approach.
-
IV. Fundamental Pricing Theory
Capital Asset Pricing Theory, Single and multi-factor models, Option-Pricing, Proprietary Adaptive DCF model
-
V. Statistical Arbitrage
Pair trading, Merger arbitrage, Mean reversion strategy.
-
VI. Online Portfolio Selection Algorithms
Takes the portfolio selection problems in an online(continously upated data) setting. Benchmark strategy, follow-the-winner, follow-the-loser, pattern-matching algorithms.
-
VII. Machine Learning
KNN, Gradient Descent, Decision Trees, Random forest, KMeans, Support-Vector Machine, AdaBoost, Convolutionary Neural Network.
-
VIII. Backtest Modules
Userful backtesting framework. Backbones for automated trading system.
-
IX. Kaggle & Leet.
Quant Competition Idea & Solution, Kaggle Problems Check-in. Updates to continue
Note: This repository assumes basic knowledge of python,including manipulations of basic data structures such as array-based lists and dictionaries, operations on files, etc. For the first three sections, an understanding of web data access, the Pandas library, and basic finance fundamentals is preferred but not necessary. However, in the subsequent sections, a deep understanding of financial economic models(various asset pricing model), calculus(including derivatives, multi-integration) time series(stationarity,cointegration, etc.), basic statistical and probability theory is needed.
Author: Victor Xiao