Amazon cover image
Image from Amazon.com

Python for finance : apply powerful finance models and quantitative analysis with Python / Yuxing Yan

By: Material type: TextTextPublication details: Mumbai : Packet , 2017.Edition: 2nd edDescription: xvii, 558 pages ; illustration ; 28 cmISBN:
  • 9781787125698
Subject(s): DDC classification:
  • 005.133 YAN
Contents:
Python for Finance Second Edition Table of Contents Python for Finance Second Edition Credits About the Author About the Reviewers www.PacktPub.com eBooks, discount offers, and more Why subscribe? Customer Feedback Preface A few words for the second edition Why Python? A programming book written by a finance professor What this book covers Small-program oriented Using real-world data What you need for this book Who this book is for Conventions Reader feedback Customer support Downloading the example code Errata Piracy Questions 1. Python Basics Python installation Installation of Python via Anaconda Launching Python via Spyder Direct installation of Python Variable assignment, empty space, and writing our own programs Writing a Python function Python loops Python loops, if...else conditions Data input Data manipulation Data output Exercises Summary 2. Introduction to Python Modules What is a Python module? Introduction to NumPy Introduction to SciPy Introduction to matplotlib How to install matplotlib Several graphical presentations using 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 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 Appendix A – Installation of Python, NumPy, and SciPy Appendix B – visual presentation of time value of money Appendix C – Derivation of present value of annuity from present value of one future cash flow and present value of perpetuity Appendix D – How to download a free financial calculat Appendix E – The graphical presentation of the relationship between NPV and R Appendix F – graphical presentation of NPV profile with two IRRs Appendix G – Writing your own financial calculator in Python Exercises Summary 4. Sources of Data Diving into deeper concepts Retrieving data from Yahoo!Finance Retrieving data from Google Finance Retrieving data from FRED Retrieving data from Prof. French's data library Retrieving data from the Census Bureau, Treasury, and BLS Generating two dozen datasets Several datasets related to CRSP and Compustat Appendix A – Python program for return distribution versus a normal distribution Appendix B – Python program to a draw candle-stick picture Appendix C – Python program for price movement Appendix D – Python program to show a picture of a stock's intra-day movement Appendix E –properties for a pandas DataFrame Appendix F –how to generate a Python dataset with an extension of .pkl or .pickle Appendix G – data case #1 -generating several Python datasets Exercises Summary 5. Bond and Stock Valuation Introduction to interest rates Term structure of interest rates Bond evaluation Stock valuation A new data type – dictionary Appendix A – simple interest rate versus compounding interest rate Appendix B – several Python functions related to interest conversion Appendix C – Python program for rateYan.py Appendix D – Python program to estimate stock price based on an n-period model Appendix E – Python program to estimate the duration for a bond Appendix F – data case #2 – fund raised from a new bond issue Summary 6. Capital Asset Pricing Model Introduction to CAPM Moving beta Adjusted beta Scholes and William adjusted beta Extracting output data Outputting data to text files Saving our data to a .csv file Saving our data to an Excel file Saving our data to a pickle dataset Saving our data to a binary file Reading data from a binary file Simple string manipulation Python via Canopy References Exercises Summary 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 Appendix A – list of related Python datasets Appendix B – Python program to generate ffMonthly.pkl Appendix C – Python program for Sharpe ratio Appendix D – data case #4 – which model is the best, CAPM, FF3, FFC4, or FF5, or others? References Exercises Summary 8. Time-Series Analysis Introduction to time-series analysis Merging datasets based on a date variable Using pandas.date_range() to generate one dimensional time-series Return estimation Converting daily returns to monthly ones Merging datasets by date Understanding the interpolation technique Merging data with different frequencies Tests of normality Estimating fat tails T-test and F-test Tests of equal variances Testing the January effect 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 Appendix A – Python program to generate GDP dataset usGDPquarterly2.pkl Appendix B – critical values of F for the 0.05 significance level Appendix C – data case #4 - which political party manages the economy better? Exercises Summary 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 Appendix A – data case #5 - which industry portfolio do you prefer? Appendix B – data case #6 - replicate S&P500 monthly returns Exercises Summary 10. Options and Futures Introducing futures Payoff and profit/loss functions for call and put options European versus American options Understanding cash flows, types of options, rights and obligations Black-Scholes-Merton option model on non-dividend paying stocks Generating our own module p4f European options with known dividends Various trading strategies Covered-call – long a stock and short a call Straddle – buy a call and a put with the same exercise prices Butterfly with calls The relationship between input values and option values Greeks Put-call parity and its graphic presentation The put-call ratio for a short period with a trend Binomial tree and its graphic presentation Binomial tree (CRR) method for European options Binomial tree (CRR) method for American options Hedging strategies Implied volatility Binary-search Retrieving option data from Yahoo! Finance Volatility smile and skewness References Appendix A – data case 6: portfolio insurance Exercises Summary 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 Appendix A – data case 7 – VaR estimation for individual stocks and a portfolio References Exercises Summary 12. Monte Carlo Simulation Importance of Monte Carlo Simulation Generating random numbers from a standard normal distribution Drawing random samples from a normal distribution Generating random numbers with a seed Random numbers from a normal distribution Histogram for a normal distribution Graphical presentation of a lognormal distribution 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 Exotic option #1 – using the Monte Carlo Simulation to price average Exotic option #2 – pricing barrier options using the Monte Carlo 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 Appendix A – data case #8 - Monte Carlo Simulation and blackjack References Exercises Summary 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 Appendix A – data case #8 - predicting bankruptcy by using Z-score References Exercises Summary 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 Appendix A – data case 7 – hedging crude oil References Exercises Summary 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 Appendix A – data case 8 - portfolio hedging using VIX calls References Appendix B – data case 8 - volatility smile and its implications Exercises Summary Index
Summary: 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.
List(s) this item appears in: New Arrivals - August 1st to 31st 2023
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Status Date due Barcode
Books Institute of Public Enterprise, Library S Campus 005.133 YAN (Browse shelf(Opens below)) Available 47713
Books Institute of Public Enterprise, Library S Campus 005.133 YAN (Browse shelf(Opens below)) Available 47714

Python for Finance Second Edition
Table of Contents
Python for Finance Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Customer Feedback
Preface
A few words for the second edition
Why Python?
A programming book written by a finance professor
What this book covers
Small-program oriented
Using real-world data
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Python Basics
Python installation
Installation of Python via Anaconda
Launching Python via Spyder
Direct installation of Python
Variable assignment, empty space, and writing our own programs
Writing a Python function
Python loops
Python loops, if...else conditions
Data input
Data manipulation
Data output
Exercises
Summary
2. Introduction to Python Modules
What is a Python module?
Introduction to NumPy
Introduction to SciPy
Introduction to matplotlib
How to install matplotlib
Several graphical presentations using 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
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
Appendix A – Installation of Python, NumPy, and SciPy
Appendix B – visual presentation of time value of money
Appendix C – Derivation of present value of annuity from present value of one future cash flow and present value of perpetuity
Appendix D – How to download a free financial calculat
Appendix E – The graphical presentation of the relationship between NPV and R
Appendix F – graphical presentation of NPV profile with two IRRs
Appendix G – Writing your own financial calculator in Python
Exercises
Summary
4. Sources of Data
Diving into deeper concepts
Retrieving data from Yahoo!Finance
Retrieving data from Google Finance
Retrieving data from FRED
Retrieving data from Prof. French's data library
Retrieving data from the Census Bureau, Treasury, and BLS
Generating two dozen datasets
Several datasets related to CRSP and Compustat
Appendix A – Python program for return distribution versus a normal distribution
Appendix B – Python program to a draw candle-stick picture
Appendix C – Python program for price movement
Appendix D – Python program to show a picture of a stock's intra-day movement
Appendix E –properties for a pandas DataFrame
Appendix F –how to generate a Python dataset with an extension of .pkl or .pickle
Appendix G – data case #1 -generating several Python datasets
Exercises
Summary
5. Bond and Stock Valuation
Introduction to interest rates
Term structure of interest rates
Bond evaluation
Stock valuation
A new data type – dictionary
Appendix A – simple interest rate versus compounding interest rate
Appendix B – several Python functions related to interest conversion
Appendix C – Python program for rateYan.py
Appendix D – Python program to estimate stock price based on an n-period model
Appendix E – Python program to estimate the duration for a bond
Appendix F – data case #2 – fund raised from a new bond issue
Summary
6. Capital Asset Pricing Model
Introduction to CAPM
Moving beta
Adjusted beta
Scholes and William adjusted beta
Extracting output data
Outputting data to text files
Saving our data to a .csv file
Saving our data to an Excel file
Saving our data to a pickle dataset
Saving our data to a binary file
Reading data from a binary file
Simple string manipulation
Python via Canopy
References
Exercises
Summary
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
Appendix A – list of related Python datasets
Appendix B – Python program to generate ffMonthly.pkl
Appendix C – Python program for Sharpe ratio
Appendix D – data case #4 – which model is the best, CAPM, FF3, FFC4, or FF5, or others?
References
Exercises
Summary
8. Time-Series Analysis
Introduction to time-series analysis
Merging datasets based on a date variable
Using pandas.date_range() to generate one dimensional time-series
Return estimation
Converting daily returns to monthly ones
Merging datasets by date
Understanding the interpolation technique
Merging data with different frequencies
Tests of normality
Estimating fat tails
T-test and F-test
Tests of equal variances
Testing the January effect
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
Appendix A – Python program to generate GDP dataset usGDPquarterly2.pkl
Appendix B – critical values of F for the 0.05 significance level
Appendix C – data case #4 - which political party manages the economy better?
Exercises
Summary
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
Appendix A – data case #5 - which industry portfolio do you prefer?
Appendix B – data case #6 - replicate S&P500 monthly returns
Exercises
Summary
10. Options and Futures
Introducing futures
Payoff and profit/loss functions for call and put options
European versus American options
Understanding cash flows, types of options, rights and obligations
Black-Scholes-Merton option model on non-dividend paying stocks
Generating our own module p4f
European options with known dividends
Various trading strategies
Covered-call – long a stock and short a call
Straddle – buy a call and a put with the same exercise prices
Butterfly with calls
The relationship between input values and option values
Greeks
Put-call parity and its graphic presentation
The put-call ratio for a short period with a trend
Binomial tree and its graphic presentation
Binomial tree (CRR) method for European options
Binomial tree (CRR) method for American options
Hedging strategies
Implied volatility
Binary-search
Retrieving option data from Yahoo! Finance
Volatility smile and skewness
References
Appendix A – data case 6: portfolio insurance
Exercises
Summary
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
Appendix A – data case 7 – VaR estimation for individual stocks and a portfolio
References
Exercises
Summary
12. Monte Carlo Simulation
Importance of Monte Carlo Simulation
Generating random numbers from a standard normal distribution
Drawing random samples from a normal distribution
Generating random numbers with a seed
Random numbers from a normal distribution
Histogram for a normal distribution
Graphical presentation of a lognormal distribution
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
Exotic option #1 – using the Monte Carlo Simulation to price average
Exotic option #2 – pricing barrier options using the Monte Carlo 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
Appendix A – data case #8 - Monte Carlo Simulation and blackjack
References
Exercises
Summary
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
Appendix A – data case #8 - predicting bankruptcy by using Z-score
References
Exercises
Summary
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
Appendix A – data case 7 – hedging crude oil
References
Exercises
Summary
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
Appendix A – data case 8 - portfolio hedging using VIX calls
References
Appendix B – data case 8 - volatility smile and its implications
Exercises
Summary
Index

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.

There are no comments on this title.

to post a comment.

Maintained and Designed by
2cqr automation private limited, Chennai. All Rights Reserved.

You are Visitor Number

PHP Hits Count