Book Image

Mastering Python for Finance - Second Edition

By : James Ma Weiming
Book Image

Mastering Python for Finance - Second Edition

By: James Ma Weiming

Overview of this book

The second edition of Mastering Python for Finance will guide you through carrying out complex financial calculations practiced in the industry of finance by using next-generation methodologies. You will master the Python ecosystem by leveraging publicly available tools to successfully perform research studies and modeling, and learn to manage risks with the help of advanced examples. You will start by setting up your Jupyter notebook to implement the tasks throughout the book. You will learn to make efficient and powerful data-driven financial decisions using popular libraries such as TensorFlow, Keras, Numpy, SciPy, and scikit-learn. You will also learn how to build financial applications by mastering concepts such as stocks, options, interest rates and their derivatives, and risk analytics using computational methods. With these foundations, you will learn to apply statistical analysis to time series data, and understand how time series data is useful for implementing an event-driven backtesting system and for working with high-frequency data in building an algorithmic trading platform. Finally, you will explore machine learning and deep learning techniques that are applied in finance. By the end of this book, you will be able to apply Python to different paradigms in the financial industry and perform efficient data analysis.
Table of Contents (16 chapters)
Free Chapter
1
Section 1: Getting Started with Python
3
Section 2: Financial Concepts
9
Section 3: A Hands-On Approach

What this book covers

Chapter 1, Overview of Financial Analysis with Python, goes briefly through setting up a Python environment, including a Jupyter Notebook, so that you can proceed with the rest of the chapters in this book. Within Jupyter, we will perform some time series analysis with pandas, using plots for analysis.

Chapter 2, The Importance of Linearity in Finance, uses Python to solve systems of linear equations, perform integer programming, and apply matrix algebra to the linear optimization of portfolio allocation.

Chapter 3, Nonlinearity in Finance, explores some methods that will help us extract information from nonlinear models. You will learn root-finding methods in nonlinear volatility modeling. The optimize module of SciPy contains the root and fsolve functions, which can also help us to perform root finding on non-linear models.

Chapter 4, Numerical Methods for Pricing Options, explores trees, lattices, and finite differencing schemes for the valuation of options.

Chapter 5, Modeling Interest Rates and Derivatives, discusses the bootstrapping process of the yield curve and covers some short-rate models for pricing interest rate derivatives with Python.

Chapter 6, Statistical Analysis of Time Series Data, introduces principal component analysis for identifying principal components. The Dicker-Fuller test is used for testing whether a time series is stationary.

Chapter 7, Interactive Financial Analytics with VIX, discusses volatility indexes. We will perform analytics on a US stock index and VIX data, and replicate the main index using the options prices of the sub-indexes.

Chapter 8, Building an Algorithmic Trading Platform, takes a step-by-step approach to developing a mean-reverting and trend-following live trading infrastructure using a broker API.

Chapter 9, Implementing a Backtesting System, discusses how to design and implement an event-driven backtesting system and helps you to visualize the performance of our simulated trading strategy.

Chapter 10, Machine Learning for Finance, introduces us to machine learning, allowing us to study its concepts and applications in finance. We will also look at some practical examples for applying machine learning to assist in trading decisions.

Chapter 11, Deep Learning for Finance, encourages us to take a hands-on approach to learning TensorFlow and Keras by building deep learning prediction models using neural networks.