FinUniversity Electronic Library

     

Details

Weiming, James Ma. Mastering Python for finance: implement advanced state-of-the-art financial statistical applications using Python / James Ma Weiming. — Second edition. — 1 online resource (1 volume) : illustrations. — Previous edition published: 2015. — <URL:http://elib.fa.ru/ebsco/2116431.pdf>.

Record create date: 8/1/2019

Subject: Python (Computer program language); Application software — Development.; Computers — Finance.; Finance — Mathematical models.

Collections: EBSCO

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Document access rights

Network User group Action
Finuniversity Local Network All Read Print Download
Internet Readers Read Print
-> Internet Anonymous

Table of Contents

  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • Contributors
  • About Packt
  • Table of Contents
  • Preface
  • Section 1: Getting Started with Python
  • Chapter 1: Overview of Financial Analysis with Python
    • Getting Python
      • Preparing a virtual environment
      • Running Jupyter Notebook
      • The Python Enhancement Proposal
        • What is a PEP?
        • The Zen of Python
    • Introduction to Quandl
      • Setting up Quandl for your environment
    • Plotting a time series chart
      • Retrieving datasets from Quandl
      • Plotting a price and volume chart
      • Plotting a candlestick chart
    • Performing financial analytics on time series data
      • Plotting returns
      • Plotting cumulative returns
      • Plotting a histogram
      • Plotting volatility
      • A quantile-quantile plot
      • Downloading multiple time series data
      • Displaying the correlation matrix
      • Plotting correlations
      • Simple moving averages
      • Exponential moving averages
    • Summary
  • Section 2: Financial Concepts
  • Chapter 2: The Importance of Linearity in Finance
    • The Capital Asset Pricing Model and the security market line
    • The Arbitrage Pricing Theory model
    • Multivariate linear regression of factor models
    • Linear optimization
      • Getting Pulp
      • A maximization example with linear programming
      • Outcomes of linear programs
      • Integer programming
        • A minimization example with integer programming
        • Integer programming with binary conditions
    • Solving linear equations using matrices
    • The LU decomposition
    • The Cholesky decomposition
    • The QR decomposition
    • Solving with other matrix algebra methods
      • The Jacobi method
      • The Gauss-Seidel method
    • Summary
  • Chapter 3: Nonlinearity in Finance
    • Nonlinearity modeling
      • Examples of nonlinear models
        • The implied volatility model
        • The Markov regime-switching model
        • The threshold autoregressive model
        • Smooth transition models
    • Root-finding algorithms
      • Incremental search
      • The bisection method
      • Newton's method
      • The secant method
      • Combing root-finding methods
    • SciPy implementations in root-finding
      • Root-finding scalar functions
      • General nonlinear solvers
    • Summary
  • Chapter 4: Numerical Methods for Pricing Options
    • Introduction to options
    • Binomial trees in option pricing
    • Pricing European options
    • Writing the StockOption base class
      • A class for European options using a binomial tree
      • A class for American options using a binomial tree
      • The Cox–Ross–Rubinstein model
        • A class for the CRR binomial tree option pricing model
      • Using a Leisen-Reimer tree
        • A class for the LR binomial tree option pricing model
    • The Greeks for free
      • A class for Greeks with the LR binomial tree
    • Trinomial trees in option pricing
      • A class for the trinomial tree option pricing model
    • Lattices in option pricing
      • Using a binomial lattice
      • A class for the CRR binomial lattice option pricing model
      • Using the trinomial lattice
        • A class for the trinomial lattice option pricing model
    • Finite differences in option pricing
      • The explicit method
      • Writing the finite difference base class
        • A class for pricing European options using the explicit method of finite differences
      • The implicit method
        • A class for pricing European options using the implicit method of finite differences
      • The Crank-Nicolson method
        • A class for pricing European options using the Crank-Nicolson method of finite differences
      • Pricing exotic barrier options
        • A down-and-out option
        • A class for pricing down-and-out-options using the Crank-Nicolson method of finite differences
      • Pricing American options with finite differences
        • A class for pricing American options using the Crank-Nicolson method of finite differences
    • Putting it all together – implied volatility modeling
      • Implied volatilities of the AAPL American put option
    • Summary
  • Chapter 5: Modeling Interest Rates and Derivatives
    • Fixed-income securities
    • Yield curves
    • Valuing a zero-coupon bond
      • Spot and zero rates
    • Bootstrapping a yield curve
      • An example of bootstrapping the yield curve
      • Writing the yield curve bootstrapping class
    • Forward rates
    • Calculating the yield to maturity
    • Calculating the price of a bond
    • Bond duration
    • Bond convexity
    • Short–rate modeling
      • The Vasicek model
      • The Cox-Ingersoll-Ross model
      • The Rendleman and Bartter model
      • The Brennan and Schwartz model
    • Bond options
      • Callable bonds
      • Puttable bonds
      • Convertible bonds
      • Preferred stocks
    • Pricing a callable bond option
      • Pricing a zero-coupon bond by the Vasicek model
      • The value of early exercise
      • Policy iteration by finite differences
      • Other considerations in callable bond pricing
    • Summary
  • Chapter 6: Statistical Analysis of Time Series Data
    • The Dow Jones industrial average and its 30 components
      • Downloading Dow component datasets from Quandl
      • About Alpha Vantage
      • Obtaining an Alpha Vantage API key
      • Installing the Alpha Vantage Python wrapper
      • Downloading the DJIA dataset from Alpha Vantage
    • Applying a kernel PCA
      • Finding eigenvectors and eigenvalues
      • Reconstructing the Dow index with PCA
    • Stationary and non-stationary time series
      • Stationarity and non-stationarity
      • Checking for stationarity
      • Types of non-stationary processes
      • Types of stationary processes
    • The Augmented Dickey-Fuller Test
    • Analyzing a time series with trends
    • Making a time series stationary
      • Detrending
      • Removing trend by differencing
      • Seasonal decomposing
      • Drawbacks of ADF testing
    • Forecasting and predicting a time series
      • About the Autoregressive Integrated Moving Average 
      • Finding model parameters by grid search
      • Fitting the SARIMAX model
      • Predicting and forecasting the SARIMAX model
    • Summary
  • Section 3: A Hands-On Approach
  • Chapter 7: Interactive Financial Analytics with the VIX
    • Volatility derivatives
      • STOXX and the Eurex
      • The EURO STOXX 50 Index
      • The VSTOXX
      • The S&P 500 Index
      • SPX options
      • The VIX
    • Financial analytics of the S&P 500 and the VIX
      • Gathering the data
      • Performing analytics
      • The correlation between the SPX and the VIX
    • Calculating the VIX Index
      • Importing SPX options data
        • Parsing SPX options data
      • Finding near-term and next-term options
      • Calculating the required minutes
      • Calculating the forward SPX Index level
      • Finding the required forward strike prices
      • Determining strike price boundaries
      • Tabulating contributions by strike prices
      • Calculating the volatilities
      • Calculating the next-term options
      • Calculating the VIX Index
      • Calculating multiple VIX indexes
      • Comparing the results
    • Summary
  • Chapter 8: Building an Algorithmic Trading Platform
    • Introducing algorithmic trading
      • Trading platforms with a public API
      • Choosing a programming language
      • System functionalities
    • Building an algorithmic trading platform
      • Designing a broker interface
      • Python library requirements
        • Installing v20
      • Writing an event-driven broker class
      • Storing the price event handler
      • Storing the order event handler
      • Storing the position event handler
      • Declaring an abstract method for getting prices
      • Declaring an abstract method for streaming prices
      • Declaring an abstract method for sending orders
      • Implementing the broker class
        • Initializing the broker class
        • Implementing the method for getting prices
        • Implementing the method for streaming prices
        • Implementing the method for sending market orders
        • Implementing the method for fetching positions
        • Getting the prices
        • Sending a simple market order
        • Getting position updates
    • Building a mean-reverting algorithmic trading system
      • Designing the mean-reversion algorithm
      • Implementing the mean-reversion trader class
      • Adding event listeners
      • Writing the mean-reversion signal generators
      • Running our trading system
    • Building a trend-following trading platform
      • Designing the trend-following algorithm
      • Writing the trend-following trader class
      • Writing the trend-following signal generators
      • Running the trend-following trading system
    • VaR for risk management
    • Summary
  • Chapter 9: Implementing a Backtesting System
    • Introducing backtesting
      • Concerns in backtesting
      • Concept of an event-driven backtesting system
    • Designing and implementing a backtesting system
      • Writing a class to store tick data
      • Writing a class to store market data
      • Writing a class to generate sources of market data
      • Writing the order class
      • Writing a class to keep track of positions
      • Writing an abstract strategy class
      • Writing a mean-reverting strategy class
      • Binding our modules with a backtesting engine
      • Running our backtesting engine
      • Multiple runs of the backtest engine
      • Improving your backtesting system
    • Ten considerations for a backtesting model
      • Resources restricting your model
      • Criteria of evaluation of the model
      • Estimating the quality of backtest parameters
      • Be prepared to face model risk
      • Performance of a backtest with in–sample data
      • Addressing common pitfalls in backtesting
      • Have a common-sense idea of your model
      • Understanding the context for the model
      • Make sure you have the right data
      • Data mine your results
    • Discussion of algorithms in backtesting
      • K-means clustering
      • K-nearest neighbors machine learning algorithm
      • Classification and regression tree analysis
      • The 2k factorial design
      • The genetic algorithm
    • Summary
  • Chapter 10: Machine Learning for Finance
    • Introduction to machine learning
      • Uses of machine learning in finance
        • Algorithmic trading
        • Portfolio management
        • Supervisory and regulatory functions
        • Insurance and loan underwriting
        • News sentiment analysis
        • Machine learning beyond finance
      • Supervised and unsupervised learning
        • Supervised learning
        • Unsupervised learning
      • Classification and regression in supervised machine learning
      • Overfitting and underfitting models
      • Feature engineering
      • Scikit-learn for machine learning
    • Predicting prices with a single-asset regression model
      • Linear regression by OLS
      • Preparing the independent and target variables
      • Writing the linear regression model
      • Risk metrics for measuring prediction performance
        • Mean absolute error as a risk metric
        • Mean squared error as a risk metric
        • Explained variance score as a risk metric
        • R2 as a risk metric
      • Ridge regression
      • Other regression models
        • Lasso regression
        • Elastic net
      • Conclusion
    • Predicting returns with a cross-asset momentum model
      • Preparing the independent variables
      • Preparing the target variables
      • A multi-asset linear regression model
      • An ensemble of decision trees
        • Bagging regressor
        • Gradient tree boosting regression model
        • Random forests regression
        • More ensemble models
    • Predicting trends with classification-based machine learning
      • Preparing the target variables
      • Preparing the dataset of multiple assets as input variables
      • Logistic regression
      • Risk metrics for measuring classification-based predictions
        • Confusion matrix
        • Accuracy score
        • Precision score
        • Recall score
        • F1 score
      • Support vector classifier
      • Other types of classifiers
        • Stochastic gradient descent
        • Linear discriminant analysis
        • Quadratic discriminant analysis
        • KNN classifier
    • Conclusion on the use of machine learning algorithms
    • Summary
  • Chapter 11: Deep Learning for Finance
    • A brief introduction to deep learning
      • What is deep learning ?
      • The artificial neuron
      • Activation function
      • Loss functions
      • Optimizers
      • Network architecture
      • TensorFlow and other deep learning frameworks
      • What is a tensor ?
    • A deep learning price prediction model with TensorFlow
      • Feature engineering our model
      • Requirements
        • Intrinio as our data provider
        • Compatible Python environment for TensorFlow
        • The requests library
        • The TensorFlow library
      • Downloading the dataset
      • Scaling and splitting the data
      • Building an artificial neural network with TensorFlow
        • Phase 1 – assembling the graph
        • Phase 2 – training our model
      • Plotting predicted and actual values
    • Credit card payment default prediction with Keras
      • Introduction to Keras
      • Installing Keras
      • Obtaining the dataset
      • Splitting and scaling the data
      • Designing a deep neural network with five hidden layers using Keras
      • Measuring the performance of our model
        • Running risk metrics
      • Displaying recorded events in Keras history
    • Summary
  • Other Books You May Enjoy
  • Index

Usage statistics

stat Access count: 0
Last 30 days: 0
Detailed usage statistics