Python for Finance - Second Edition

Learn and implement various Quantitative Finance concepts using the popular Python libraries

Python for Finance - Second Edition

Yuxing Yan

Learn and implement various Quantitative Finance concepts using the popular Python libraries
Mapt Subscription
FREE
$29.99/m after trial
eBook
$10.00
RRP $39.99
Save 74%
Print + eBook
$49.99
RRP $49.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$10.00
$49.99
$29.99p/m after trial
RRP $39.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Preview in Mapt

Book Details

ISBN 139781787125698
Paperback586 pages

Book Description

This book uses Python as its computational tool. Since Python is free, any school or organization can download and use it.

This book is organized according to various finance subjects. In other words, the first edition focuses more on Python, while the second edition is truly trying to apply Python to finance.

The book starts by explaining topics exclusively related to Python. Then we deal with critical parts of Python, explaining concepts such as time value of money stock and bond evaluations, capital asset pricing model, multi-factor models, time series analysis, portfolio theory, options and futures.

This book will help us to learn or review the basics of quantitative finance and apply Python to solve various problems, such as estimating IBM’s market risk, running a Fama-French 3-factor, 5-factor, or Fama-French-Carhart 4 factor model, estimating the VaR of a 5-stock portfolio, estimating the optimal portfolio, and constructing the efficient frontier for a 20-stock portfolio with real-world stock, and with Monte Carlo Simulation. Later, we will also learn how to replicate the famous Black-Scholes-Merton option model and how to price exotic options such as the average price call option.

Table of Contents

Chapter 1: Python Basics
Python installation
Variable assignment, empty space, and writing our own programs
Writing a Python function
Python loops
Data input
Data manipulation
Data output
Exercises
Summary
Chapter 2: Introduction to Python Modules
What is a Python module?
Introduction to NumPy
Introduction to SciPy
Introduction to matplotlib
Introduction to statsmodels
Introduction to pandas
Python modules related to finance
Introduction to the pandas_reader module
Two financial calculators
How to install a Python module
Module dependency
Exercises
Summary
Chapter 3: Time Value of Money
Introduction to time value of money
Writing a financial calculator in Python
Definition of NPV and NPV rule
Definition of IRR and IRR rule
Definition of payback period and payback period rule
Writing your own financial calculator in Python
Two general formulae for many functions
Exercises
Summary
Chapter 4: Sources of Data
Diving into deeper concepts
Chapter 5: Bond and Stock Valuation
Introduction to interest rates
Term structure of interest rates
Bond evaluation
Stock valuation
A new data type – dictionary
Summary
Chapter 6: Capital Asset Pricing Model
Introduction to CAPM
Moving beta
Adjusted beta
Extracting output data
Simple string manipulation
Python via Canopy
References
Exercises
Summary
Chapter 7: Multifactor Models and Performance Measures
Introduction to the Fama-French three-factor model
Fama-French three-factor model
Fama-French-Carhart four-factor model and Fama-French five-factor model
Implementation of Dimson (1979) adjustment for beta
Performance measures
How to merge different datasets
References
Exercises
Summary
Chapter 8: Time-Series Analysis
Introduction to time-series analysis
Merging datasets based on a date variable
Understanding the interpolation technique
Tests of normality
52-week high and low trading strategy
Estimating Roll's spread
Estimating Amihud's illiquidity
Estimating Pastor and Stambaugh (2003) liquidity measure
Fama-MacBeth regression
Durbin-Watson
Python for high-frequency data
Spread estimated based on high-frequency data
Introduction to CRSP
References
Exercises
Summary
Chapter 9: Portfolio Theory
Introduction to portfolio theory
A 2-stock portfolio
Optimization – minimization
Forming an n-stock portfolio
Constructing an optimal portfolio
Constructing an efficient frontier with n stocks
References
Exercises
Summary
Chapter 10: Options and Futures
Introducing futures
Payoff and profit/loss functions for call and put options
European versus American options
Black-Scholes-Merton option model on non-dividend paying stocks
Generating our own module p4f
European options with known dividends
Various trading strategies
Put-call parity and its graphic presentation
Binomial tree and its graphic presentation
Hedging strategies
Implied volatility
Binary-search
Retrieving option data from Yahoo! Finance
Volatility smile and skewness
References
Exercises
Summary
Chapter 11: Value at Risk
Introduction to VaR
Normality tests
Skewness and kurtosis
Modified VaR
VaR based on sorted historical returns
Simulation and VaR
VaR for portfolios
Backtesting and stress testing
Expected shortfall
References
Exercises
Summary
Chapter 12: Monte Carlo Simulation
Importance of Monte Carlo Simulation
Generating random numbers from a standard normal distribution
Generating random numbers with a seed
Generating random numbers from a uniform distribution
Using simulation to estimate the pi value
Generating random numbers from a Poisson distribution
Selecting m stocks randomly from n given stocks
With/without replacements
Distribution of annual returns
Simulation of stock price movements
Graphical presentation of stock prices at options' maturity dates
Replicating a Black-Scholes-Merton call using simulation
Liking two methods for VaR using simulation
Capital budgeting with Monte Carlo Simulation
Python SimPy module
Comparison between two social policies – basic income and basic job
Finding an efficient frontier based on two stocks by using simulation
Constructing an efficient frontier with n stocks
Long-term return forecasting
Efficiency, Quasi-Monte Carlo, and Sobol sequences
References
Exercises
Summary
Chapter 13: Credit Risk Analysis
Introduction to credit risk analysis
Credit rating
Credit spread
YIELD of AAA-rated bond, Altman Z-score
Using the KMV model to estimate the market value of total assets and its volatility
Term structure of interest rate
Distance to default
Credit default swap
References
Exercises
Summary
Chapter 14: Exotic Options
European, American, and Bermuda options
Chooser options
Shout options
Binary options
Rainbow options
Pricing average options
Pricing barrier options
Barrier in-and-out parity
Graph of up-and-out and up-and-in parity
Pricing lookback options with floating strikes
References
Exercises
Summary
Chapter 15: Volatility, Implied Volatility, ARCH, and GARCH
Conventional volatility measure – standard deviation
Tests of normality
Estimating fat tails
Lower partial standard deviation and Sortino ratio
Test of equivalency of volatility over two periods
Test of heteroskedasticity, Breusch, and Pagan
Volatility smile and skewness
Graphical presentation of volatility clustering
The ARCH model
Simulating an ARCH (1) process
The GARCH model
Simulating a GARCH process
Simulating a GARCH (p,q) process using modified garchSim()
GJR_GARCH by Glosten, Jagannanthan, and Runkle
References
Exercises
Summary

What You Will Learn

  • Become acquainted with Python in the first two chapters
  • Run CAPM, Fama-French 3-factor, and Fama-French-Carhart 4-factor models
  • Learn how to price a call, put, and several exotic options
  • Understand Monte Carlo simulation, how to write a Python program to replicate the Black-Scholes-Merton options model, and how to price a few exotic options
  • Understand the concept of volatility and how to test the hypothesis that volatility changes over the years
  • Understand the ARCH and GARCH processes and how to write related Python programs

Authors

Table of Contents

Chapter 1: Python Basics
Python installation
Variable assignment, empty space, and writing our own programs
Writing a Python function
Python loops
Data input
Data manipulation
Data output
Exercises
Summary
Chapter 2: Introduction to Python Modules
What is a Python module?
Introduction to NumPy
Introduction to SciPy
Introduction to matplotlib
Introduction to statsmodels
Introduction to pandas
Python modules related to finance
Introduction to the pandas_reader module
Two financial calculators
How to install a Python module
Module dependency
Exercises
Summary
Chapter 3: Time Value of Money
Introduction to time value of money
Writing a financial calculator in Python
Definition of NPV and NPV rule
Definition of IRR and IRR rule
Definition of payback period and payback period rule
Writing your own financial calculator in Python
Two general formulae for many functions
Exercises
Summary
Chapter 4: Sources of Data
Diving into deeper concepts
Chapter 5: Bond and Stock Valuation
Introduction to interest rates
Term structure of interest rates
Bond evaluation
Stock valuation
A new data type – dictionary
Summary
Chapter 6: Capital Asset Pricing Model
Introduction to CAPM
Moving beta
Adjusted beta
Extracting output data
Simple string manipulation
Python via Canopy
References
Exercises
Summary
Chapter 7: Multifactor Models and Performance Measures
Introduction to the Fama-French three-factor model
Fama-French three-factor model
Fama-French-Carhart four-factor model and Fama-French five-factor model
Implementation of Dimson (1979) adjustment for beta
Performance measures
How to merge different datasets
References
Exercises
Summary
Chapter 8: Time-Series Analysis
Introduction to time-series analysis
Merging datasets based on a date variable
Understanding the interpolation technique
Tests of normality
52-week high and low trading strategy
Estimating Roll's spread
Estimating Amihud's illiquidity
Estimating Pastor and Stambaugh (2003) liquidity measure
Fama-MacBeth regression
Durbin-Watson
Python for high-frequency data
Spread estimated based on high-frequency data
Introduction to CRSP
References
Exercises
Summary
Chapter 9: Portfolio Theory
Introduction to portfolio theory
A 2-stock portfolio
Optimization – minimization
Forming an n-stock portfolio
Constructing an optimal portfolio
Constructing an efficient frontier with n stocks
References
Exercises
Summary
Chapter 10: Options and Futures
Introducing futures
Payoff and profit/loss functions for call and put options
European versus American options
Black-Scholes-Merton option model on non-dividend paying stocks
Generating our own module p4f
European options with known dividends
Various trading strategies
Put-call parity and its graphic presentation
Binomial tree and its graphic presentation
Hedging strategies
Implied volatility
Binary-search
Retrieving option data from Yahoo! Finance
Volatility smile and skewness
References
Exercises
Summary
Chapter 11: Value at Risk
Introduction to VaR
Normality tests
Skewness and kurtosis
Modified VaR
VaR based on sorted historical returns
Simulation and VaR
VaR for portfolios
Backtesting and stress testing
Expected shortfall
References
Exercises
Summary
Chapter 12: Monte Carlo Simulation
Importance of Monte Carlo Simulation
Generating random numbers from a standard normal distribution
Generating random numbers with a seed
Generating random numbers from a uniform distribution
Using simulation to estimate the pi value
Generating random numbers from a Poisson distribution
Selecting m stocks randomly from n given stocks
With/without replacements
Distribution of annual returns
Simulation of stock price movements
Graphical presentation of stock prices at options' maturity dates
Replicating a Black-Scholes-Merton call using simulation
Liking two methods for VaR using simulation
Capital budgeting with Monte Carlo Simulation
Python SimPy module
Comparison between two social policies – basic income and basic job
Finding an efficient frontier based on two stocks by using simulation
Constructing an efficient frontier with n stocks
Long-term return forecasting
Efficiency, Quasi-Monte Carlo, and Sobol sequences
References
Exercises
Summary
Chapter 13: Credit Risk Analysis
Introduction to credit risk analysis
Credit rating
Credit spread
YIELD of AAA-rated bond, Altman Z-score
Using the KMV model to estimate the market value of total assets and its volatility
Term structure of interest rate
Distance to default
Credit default swap
References
Exercises
Summary
Chapter 14: Exotic Options
European, American, and Bermuda options
Chooser options
Shout options
Binary options
Rainbow options
Pricing average options
Pricing barrier options
Barrier in-and-out parity
Graph of up-and-out and up-and-in parity
Pricing lookback options with floating strikes
References
Exercises
Summary
Chapter 15: Volatility, Implied Volatility, ARCH, and GARCH
Conventional volatility measure – standard deviation
Tests of normality
Estimating fat tails
Lower partial standard deviation and Sortino ratio
Test of equivalency of volatility over two periods
Test of heteroskedasticity, Breusch, and Pagan
Volatility smile and skewness
Graphical presentation of volatility clustering
The ARCH model
Simulating an ARCH (1) process
The GARCH model
Simulating a GARCH process
Simulating a GARCH (p,q) process using modified garchSim()
GJR_GARCH by Glosten, Jagannanthan, and Runkle
References
Exercises
Summary

Book Details

ISBN 139781787125698
Paperback586 pages
Read More

Read More Reviews

Recommended for You

Raspberry Pi for Python Programmers Cookbook - Second Edition Book Cover
Raspberry Pi for Python Programmers Cookbook - Second Edition
$ 35.99
$ 10.00
Learning IPython for Interactive Computing and Data Visualization - Second Edition Book Cover
Learning IPython for Interactive Computing and Data Visualization - Second Edition
$ 31.99
$ 10.00
Python Data Visualization Cookbook - Second Edition Book Cover
Python Data Visualization Cookbook - Second Edition
$ 35.99
$ 10.00
Dynamics 365 for Finance and Operations Development Cookbook - Fourth Edition Book Cover
Dynamics 365 for Finance and Operations Development Cookbook - Fourth Edition
$ 47.99
$ 10.00
Learning OpenCV 3 Computer Vision with Python - Second Edition Book Cover
Learning OpenCV 3 Computer Vision with Python - Second Edition
$ 35.99
$ 10.00
Python Machine Learning - Second Edition Book Cover
Python Machine Learning - Second Edition
$ 31.99
$ 10.00