Card | Table | RUSMARC | |
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 | |||||
Internet | Readers | |||||
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
- Getting Python
- 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
- Examples of nonlinear 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
- Nonlinearity modeling
- 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
- The Dow Jones industrial average and its 30 components
- 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
- Importing SPX options data
- Summary
- Volatility derivatives
- 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
- Introducing algorithmic trading
- 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
- Introducing backtesting
- 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
- Uses of machine learning in finance
- 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
- Introduction to machine learning
- 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
- A brief introduction to deep learning
- Other Books You May Enjoy
- Index
Usage statistics
Access count: 0
Last 30 days: 0 Detailed usage statistics |