Mastering pandas for finance : master pandas, an open source Python data analysis library, for financial data analysis /
Michael Heydt
- Mumbai : Packt Publishing, 2015.
- ix, 275 pages : 28 cm.
Mastering pandas for Finance Table of Contents Mastering pandas for Finance Credits About the Author About the Reviewers www.PacktPub.com Support files, eBooks, discount offers, and more Why subscribe? Free access for Packt account holders Preface What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support Downloading the example code Errata Piracy Questions 1. Getting Started with pandas Using Wakari.io What is Wakari? Creating a Wakari cloud account Updating existing packages Installing new packages Installing the samples in Wakari Summary 2. Introducing the Series and DataFrame Notebook setup The main pandas data structures – Series and DataFrame The Series The DataFrame The basics of the Series and DataFrame objects Creating a Series and accessing elements Size, shape, uniqueness, and counts of values Alignment via index labels Creating a DataFrame Example data Selecting columns of a DataFrame Selecting rows of a DataFrame using the index Slicing using the [] operator Selecting rows by the index label and location – .loc[] and .iloc[] Selecting rows by the index label and/or location – .ix[] Scalar lookup by label or location using .at[] and .iat[] Selecting rows using the Boolean selection Arithmetic on a DataFrame Reindexing the Series and DataFrame objects Summary 3. Reshaping, Reorganizing, and Aggregating Notebook setup Loading historical stock data Organizing the data for the examples Reorganizing and reshaping data Concatenating multiple DataFrame objects Merging DataFrame objects Pivoting Stacking and unstacking Melting Grouping and aggregating Splitting Aggregating Summary 4. Time-series Notebook setup Time-series data and the DatetimeIndex Creating time-series with specific frequencies Representing intervals of time using periods Shifting and lagging time-series data Frequency conversion of time-series data Resampling of time-series Summary 5. Time-series Stock Data Notebook setup Obtaining historical stock and index data Fetching historical stock data from Yahoo! Fetching index data from Yahoo! Visualizing financial time-series data Plotting closing prices Plotting volume-series data Combined price and volumes Plotting candlesticks Fundamental financial calculations Calculating simple daily percentage change Calculating simple daily cumulative returns Analyzing the distribution of returns Histograms Q-Q plots Box-and-whisker plots Comparison of daily percentage change between stocks Moving windows Volatility calculation Rolling correlation of returns Least-squares regression of returns Comparing stocks to the S&P 500 Summary 6. Trading Using Google Trends Notebook setup A brief on Quantifying Trading Behavior in Financial Markets Using Google Trends Data collection The data from the paper Gathering our own DJIA data from Quandl Google Trends data Generating order signals Computing returns Cumulative returns and the result of the strategy Summary 7. Algorithmic Trading Notebook setup The process of algorithmic trading Momentum strategies Mean-reversion strategies Moving averages Simple moving average Exponentially weighted moving average Technical analysis techniques Crossovers Pairs trading Algo trading with Zipline Algorithm – buy apple Algorithm – dual moving average crossover Algorithm – pairs trade Summary 8. Working with Options Introducing options Notebook setup Options data from Yahoo! Finance Implied volatility Volatility smirks Calculating payoff on options The call option payoff calculation The put option payoff calculation Profit and loss calculation The call option profit and loss for a buyer The call option profit and loss for the seller Combined payoff charts The put option profit and loss for a buyer The put option profit and loss for the seller The pricing of options The pricing of options with Black-Scholes Deriving the model The value of the cash to buy The value of the stock received The formulas d1 and d2 Black-Scholes using Mibian Charting option price change over time The Greeks Calculation and visualization Summary 9. Portfolios and Risk Notebook setup An overview of modern portfolio theory Concept Mathematical modeling of a portfolio Risk and expected return Diversification The efficient frontier Modeling a portfolio with pandas Constructing an efficient portfolio Gathering historical returns for a portfolio Formulation of portfolio risks The Sharpe ratio Optimization and minimization Constructing an optimal portfolio Visualizing the efficient frontier Value at Risk Summary Index
This book will teach you to use Python and the Python Data Analysis Library (pandas) to solve real-world financial problems.
Starting with a focus on pandas data structures, you will learn to load and manipulate time-series financial data and then calculate common financial measures, leading into more advanced derivations using fixed- and moving-windows. This leads into correlating time-series data to both index and social data to build simple trading algorithms. From there, you will learn about more complex trading algorithms and implement them using open source back-testing tools. Then, you will examine the calculation of the value of options and Value at Risk. This then leads into the modeling of portfolios and calculation of optimal portfolios based upon risk. All concepts will be demonstrated continuously through progressive examples using interactive Python and IPython Notebook.
By the end of the book, you will be familiar with applying pandas to many financial problems, giving you the knowledge needed to leverage pandas in the real world of finance.
What You Will Learn
Modeling and manipulating financial data using the pandas DataFrame Indexing, grouping, and calculating statistical results on financial information Time-series modeling, frequency conversion, and deriving results on fixed and moving windows Calculating cumulative returns and performing correlations with index and social data Algorithmic trading and backtesting using momentum and mean reversion strategies Option pricing and calculation of Value at Risk Modeling and optimization of financial portfolios