Index
A
- algorithmic trading
- about / Introduction to algorithmic trading
- trading platforms, with public API / List of trading platforms with public API
- programming languages, selecting / Which is the best programming language to use?
- system functionalities / System functionalities
- algorithmic trading, with Interactive Brokers' and IbPy
- Interactive Brokers Trader Workstation, obtaining / Getting Interactive Brokers' Trader WorkStation
- algorithmic trading, with Interactive Brokers and IbPy
- about / Algorithmic trading with Interactive Brokers and IbPy
- IB API wrapper, obtaining / Getting IbPy – the IB API wrapper
- simple order routing mechanism / A simple order routing mechanism
- algorithms, using in backtesting
- about / Discussion of algorithms in backtesting
- k-means clustering algorithm / K-means clustering
- k-nearest neighbor (KNN) / K-nearest neighbor machine learning algorithm
- classification and regression tree (CART) analysis / Classification and regression tree analysis
- 2k factorial design / The 2k factorial design
- genetic algorithm / The genetic algorithm
- American options
- about / Introduction to options
- American options pricing, with finite differences
- about / American options pricing with finite differences
- FDCnAm class, writing / Writing the FDCnAm class
- Anaconda by Continuum Analytics
- Arbitrage Pricing Theory (APT) model
- at-the-money options (ATM)
- about / The implied volatility model
B
- backtest
- about / An introduction to backtesting
- Backtester class
- about / The Backtester class
- start_backtest method / The Backtester class
- match_order_book method / The Backtester class
- is_order_unmatched method / The Backtester class
- backtesting
- about / An introduction to backtesting
- concerns / Concerns in backtesting
- event-driven backtesting system / Concept of an event-driven backtesting system
- algorithms / Discussion of algorithms in backtesting
- backtesting model
- considerations / Ten considerations for a backtesting model
- backtesting system
- designing / Designing and implementing a backtesting system
- implementing / Designing and implementing a backtesting system
- TickData class / The TickData class
- MarketData class / The MarketData class
- MarketDataSource class / The MarketDataSource class
- Order class / The Order class
- Position class / The Position class
- Strategy class / The Strategy class
- MeanRevertingStrategy class / The MeanRevertingStrategy class
- Backtester class / The Backtester class
- running / Running our backtesting system
- improving / Improving your backtesting system
- beta
- big data
- about / Introducing big data
- users / Is big data for me?
- Binary JSON (BSON) / Getting a collection
- BinomialEuropeanOption class
- writing / Writing the BinomialEuropeanOption class
- binomial options pricing model
- about / Binomial trees in options pricing
- pricing European options / Pricing European options, Are these formulas relevant to stocks? What about futures?
- StockOption class, writing / Writing the StockOption class
- BinomialEuropeanOption class, writing / Writing the BinomialEuropeanOption class
- pricing American options, with BinomialTreeOption class / Pricing American options with the BinomialTreeOption class
- bisection method
- about / The bisection method
- Black-Scholes model COM server
- building / Building the Black-Scholes model COM server
- Black-Scholes Partial Differential Equation (PDE) / Finite differences in options pricing
- bond convexity
- about / Bond convexity
- implementing / Bond convexity
- bond duration
- about / Bond duration
- calculating / Bond duration
- bond options
- about / Bond options
- callable bonds / Callable bonds
- puttable bonds / Puttable bonds
- convertible bonds / Convertible bonds
- preferred stocks / Preferred stocks
- bond price
- calculating / Calculating the price of a bond
- Brennan and Schwartz model
- about / The Brennan and Schwartz model
- Brent's method / Combining root-finding methods
C
- callable bond pricing
- about / Pricing a callable bond option
- early exercise values / Value of early-exercise
- policy iteration, by finite differences / Policy iteration by finite differences
- considerations / Other considerations in callable bond pricing
- callable bonds
- about / Callable bonds
- call option
- about / Introduction to options
- Canopy by Enthought
- capital market line (CML)
- CAPM
- about / The capital asset pricing model and the security market line
- risk premium / The capital asset pricing model and the security market line
- visual representation / The capital asset pricing model and the security market line
- efficient frontier / The capital asset pricing model and the security market line
- market portfolio / The capital asset pricing model and the security market line
- capital market line (CML) / The capital asset pricing model and the security market line
- security market line (SML) / The capital asset pricing model and the security market line
- cells, IPython Notebook
- about / Notebook cells
- code cell / Code cell
- Markdown cells / Markdown cell
- raw NBConvert cell / Raw NBConvert cell
- heading cell / Heading cells
- check_exercise() method / Policy iteration by finite differences
- Chicago Board of Trade (CBOT) / Introduction to algorithmic trading
- Cholesky decomposition
- about / The Cholesky decomposition
- verifying / The Cholesky decomposition
- classification and regression tree (CART) analysis
- Cloudera
- URL, for downloading QuickStart VMs / Getting a QuickStart VM from Cloudera
- QuickStart VM, obtaining from / Getting a QuickStart VM from Cloudera
- Cloudera VM
- running, on VirtualBox / Running Cloudera VM on VirtualBox
- collection
- obtaining / Getting a collection
- document, inserting in / Inserting a document
- single document, fetching in / Fetching a single document
- documents, deleting in / Deleting documents
- documents, counting in / Counting documents in the collection
- documents, finding in / Finding documents
- documents, sorting in / Sorting documents
- COM
- overview / Overview of COM
- working with / What else can I do with COM?
- COM client, in Excel
- building / Building the COM client in Excel
- VBA code, setting up / Setting up the VBA code
- cells, setting up / Setting up the cells
- COM server
- building / Building a COM server
- prerequisites / Prerequisites
- pythoncom module, obtaining / Getting the pythoncom module
- Black-Scholes model COM server, building / Building the Black-Scholes model COM server
- registering / Registering and unregistering the COM server
- unregistering / Registering and unregistering the COM server
- Cox-Ross-Rubinstein binomial tree model COM server, building / Building the Cox-Ross-Rubinstein binomial tree model COM server
- trinomial lattice model COM server, building / Building the trinomial lattice model COM server
- considerations, backtesting model
- resources restricting / Resources restricting your model
- criteria of evaluation / Criteria of evaluation of the model
- backtest parameters quality, estimating / Estimating the quality of backtest parameters
- model risk / Be prepared to face model risk
- backtest performance, with in-sample data / Performance of a backtest with in-sample data
- common pitfalls, addressing / Addressing common pitfalls in backtesting
- common sense idea / Have a common sense idea of your model
- context / Understanding the context for the model
- data, ensuring / Make sure you have the right data
- results / Data mine your results
- convertible bonds
- about / Convertible bonds
- correlation, between SX5E and V2TX
- Cox-Ingersoll-Ross (CIR) model
- about / The Cox-Ingersoll-Ross model
- Cox-Ross-Rubinstein (CRR) model
- about / The Cox-Ross-Rubinstein model
- BinomialCRROption class, writing / Writing the BinomialCRROption class
- Cox-Ross-Rubinstein binomial tree model COM server
- Crank-Nicolson method
- about / The Crank-Nicolson method
- FDCnEu class, writing / Writing the FDCnEu class
- cumulative
- about / Preferred stocks
D
- data
- merging / Merging the data
- database
- obtaining / Getting a database
- DataFrame object / Gathering the EUROX STOXX 50 Index and VSTOXX data
- direct market access (DMA) / Introduction to algorithmic trading
- document
- inserting, in collection / Inserting a document
- deleting, in collection / Deleting documents
- batch inserting, in collection / Batch-inserting documents
- counting, in collection / Counting documents in the collection
- finding, in collection / Finding documents
- sorting, in collection / Sorting documents
- Document Component Object Model (DCOM) / Overview of COM
- Dow Jones Industrial Average / STOXX and the Eurex
E
- efficient frontier
- Eurex Exchange
- about / STOXX and the Eurex
- European options
- about / Introduction to options
- EURO STOXX 50 Index
- about / The EURO STOXX 50 Index
- EUROX STOXX 50 Index and VSTOXX data
- event-driven backtesting system
- Excel
- for finance / Excel for finance
- exercise_call_price() method / Policy iteration by finite differences
- exotic barrier options
- pricing / Pricing exotic barrier options
- down-and-out option / A down-and-out option
- FDCnDo class, writing / Writing the FDCnDo class
- explicit method
- about / The explicit method
- FiniteDifferences class, writing / Writing the FiniteDifferences class
- FDExplicitEu class, writing / Writing the FDExplicitEu class
F
- financial analytics, of SX5E and V2TX
- Financial Information Exchange (FIX) protocol / Introduction to algorithmic trading
- finite differences, in options pricing
- about / Finite differences in options pricing
- explicit method / The explicit method
- implicit method / The implicit method
- Crank-Nicolson method / The Crank-Nicolson method
- exotic barrier options, pricing / Pricing exotic barrier options
- American options pricing / American options pricing with finite differences
- fixed income securities
- about / Fixed-income securities
- forex trading, with OANDA API
- about / Forex trading with OANDA API
- REST / What is REST?
- OANDA account, setting up / Setting up an OANDA account
- API, exploring / Exploring the API
- oandapy, obtaining / Getting oandapy – the OANDA REST API wrapper
- rates data, obtaining / Getting and parsing rates data
- rates data, parsing / Getting and parsing rates data
- order, sending / Sending an order
- forward rates
- about / Forward rates
- functional approach
- about / The functional approach
G
- Gauss-Seidel method
- about / The Gauss-Seidel method
- general nonlinear solvers, SciPy
- about / General nonlinear solvers
- genetic algorithm (GA)
- about / The genetic algorithm
- get_implied_volatilities public function
- get_zero_rates function
- about / Bootstrapping a yield curve
- global optimal solution
- about / Outcomes of linear programs
- gnuplot package
- about / A wealth of standard libraries
- Greeks, for options
- about / The Greeks for free
- BinomialLRWithGreeks class, writing / Writing the BinomialLRWithGreeks class
H
- Hadoop
- URL, for official page / Getting Apache Hadoop
- obtaining / Getting Apache Hadoop
- word count program / A word count program in Hadoop
- MapReduce, running on / Running MapReduce on Hadoop
- Hadoop, for big data
- about / Hadoop for big data
- HDFS / HDFS
- YARN / YARN
- MapReduce / MapReduce
- Hadoop, for finance
- about / Going deeper – Hadoop for finance
- IBM stock prices, obtaining from Yahoo! Finance / Obtaining IBM stock prices from Yahoo! Finance
- map program, modifying / Modifying the map program
- map program, testing with IBM stock prices / Testing our map program with IBM stock prices
- MapReduce, running for counting intraday price changes / Running MapReduce to count intraday price changes
- analysis, performing on MapReduce results / Performing analysis on our MapReduce results
- HDFS
- about / HDFS
- browsing, Hue used / Hue for browsing HDFS
- high-frequency trading (HFT) / Introduction to algorithmic trading
- historical daily data, STOXX Europe 600
- historical daily end-of-day index prices, STOXX
- historical daily prices, stock counter
- reference link / Obtaining IBM stock prices from Yahoo! Finance
- Hue
- used, for browsing HDFS / Hue for browsing HDFS
I
- IB API wrapper
- IbPy
- implicit method
- about / The implicit method
- FDImplicitEu class, writing / Writing the FDImplicitEu class
- implied volatilities, of AAPL American put option
- implied volatility model
- about / The implied volatility model
- deep in-the-money (ITM) / The implied volatility model
- out-of-the-money (OTM) options / The implied volatility model
- at-the-money (ATM) options / The implied volatility model
- implied volatility modeling
- in-the-money options (ITM)
- about / The implied volatility model
- incremental search
- about / Incremental search
- performing / Incremental search
- infeasible
- about / Outcomes of linear programs
- integer programming
- about / Integer programming
- IP model example, with binary conditions / An example of an integer programming model with binary conditions
- different approach, with binary conditions / A different approach with binary conditions
- Interactive Brokers (IB) / Algorithmic trading with Interactive Brokers and IbPy
- IPython
- about / Introducing IPython
- obtaining / Getting IPython
- URL / Getting IPython
- download link / Getting IPython
- pip tool, using / Using pip
- IPython Notebook
- about / The IPython Notebook
- documents / Notebook documents
- running / Running the IPython Notebook
- dashboard / Running the IPython Notebook
- notebook, creating / Creating a new notebook
- cells / Notebook cells
- exercises / Simple exercises with IPython Notebook
- for finance / Notebook for finance
- iterate() method / Policy iteration by finite differences
J
- Jacobi method
- about / The Jacobi method
- JavaScript Object Notation (JSON) parser
- about / What is REST?
K
- 2k factorial design
- about / The 2k factorial design
- k-means clustering algorithm
- about / K-means clustering
- k-nearest neighbor (KNN)
L
- LaTeX
- about / Inserting equations
- lattices, in options pricing
- about / Lattices in options pricing
- binomial lattice, using / Using a binomial lattice
- BinomialCRROption class, writing / Writing the BinomialCRROption class
- trinomial lattice, using / Using the trinomial lattice
- Leisen-Reimer (LR) tree
- using / Using a Leisen-Reimer tree
- about / Using a Leisen-Reimer tree
- BinomialLROption class, writing / Writing the BinomialLROption class
- lib.display module
- about / Inserting YouTube videos
- linear equations
- solving, matrices used / Solving linear equations using matrices
- linear integer programming (IP)
- about / Integer programming
- linear optimization
- about / Linear optimization
- simple linear optimization problem / A simple linear optimization problem
- outcomes / Outcomes of linear programs
- integer programming / Integer programming
- London International Financial Futures and Options Exchange (LIFFE) / Introduction to algorithmic trading
- longer-term spot rates
- about / Bootstrapping a yield curve
- LpVariable function
- LU decomposition
- about / The LU decomposition
- advantage / The LU decomposition
- lxml Python module
M
- Mac OS X
- MongoDB, running from / Running MongoDB from Mac OS X
- map function
- about / MapReduce
- MapReduce
- about / MapReduce
- running, on Hadoop / Running MapReduce on Hadoop
- MarketData class
- about / The MarketData class
- MarketDataSource class
- about / The MarketDataSource class
- market portfolio
- Markov regime-switching model
- about / The Markov regime-switching model
- example / The Markov regime-switching model
- MathJax
- about / Inserting equations
- mean-reverting algorithmic trading system
- building / Building a mean-reverting algorithmic trading system
- main program, setting up / Setting up the main program
- events, handling / Handling events
- mean-reverting algorithm, implementing / Implementing the mean-reverting algorithm
- positions, tracking / Tracking our positions
- MeanRevertingStrategy class
- about / The MeanRevertingStrategy class
- event_position method / The MeanRevertingStrategy class
- event_tick method / The MeanRevertingStrategy class
- calculate_z_score method / The MeanRevertingStrategy class
- MongoDB
- about / Getting MongoDB
- URL, for official site / Getting MongoDB
- URL, for downloading / Getting MongoDB
- data directory, creating / Creating the data directory and running MongoDB
- running / Creating the data directory and running MongoDB
- running, from Windows / Running MongoDB from Windows
- running, from Mac OS X / Running MongoDB from Mac OS X
- URL, for documentation / Running MongoDB from Mac OS X
- multivariate linear regression
- performing, on APT model / The Arbitrage Pricing Theory model
- multivariate linear regression, of factor models
N
- Newton's method
- about / Newton's method
- Newton-Raphson method / Newton's method
- Newtons method
- implementing / Newton's method
- nonlinearity modeling
- about / Nonlinearity modeling
- nonlinear models
- about / Examples of nonlinear models
- implied volatility model / The implied volatility model
- Markov regime-switching model / The Markov regime-switching model
- threshold autoregressive model / The threshold autoregressive model
- smooth transition models / Smooth transition models
- NoSQL
- about / Introducing NoSQL
- notebook
- creating, with heading and Markdown cells / Creating a notebook with heading and Markdown cells
- saving / Saving notebooks
- mathematical calculation, performing / Mathematical operations in cells
- graphs, displaying / Displaying graphs
- equations, inserting / Inserting equations
- images, displaying / Displaying images
- YouTube videos, inserting / Inserting YouTube videos
- HTML, working with / Working with HTML
- pandas DataFrame object, as HTML table / The pandas DataFrame object as an HTML table
O
- OANDA
- about / Setting up an OANDA account
- URL / Setting up an OANDA account
- sign-up link / Setting up an OANDA account
- OANDA account
- setting up / Setting up an OANDA account
- oandapy
- OANDA REST API wrapper
- objected-oriented approach
- about / The object-oriented approach
- objected-oriented programming
- versus functional programming / Objected-oriented versus functional programming
- OESX data
- URL / Getting the OESX data
- omega
- about / Writing the FDCnAm class
- option
- about / Introduction to options
- OptionUtility classes
- VSTOXXCalculator / Implementation of the VSTOXX sub-index value
- EurexWebPage / Implementation of the VSTOXX sub-index value
- VSTOXXSubIndex / Implementation of the VSTOXX sub-index value
- source code / Implementation of the VSTOXX sub-index value
- Order class
- about / The Order class
- out-of-the-money options (OTM)
- about / The implied volatility model
P
- pandas
- about / Is Python for me?
- pip tool
- plain text UTF-8 file
- reference link / Downloading sample data
- Position class
- about / The Position class
- preferred stocks
- about / Preferred stocks
- PuLP
- obtaining / Getting PuLP
- URL / Getting PuLP
- put option
- about / Introduction to options
- puttable bonds
- about / Puttable bonds
- PyMongo
- obtaining / Getting PyMongo
- URL, for official page / Getting PyMongo
- Python
- uses / Is Python for me?
- open source / Free and open source
- features / Free and open source, High-level, powerful, and flexible
- standard libraries / A wealth of standard libraries
- versions / Which Python version should I use?
- URL / Which Python version should I use?
- pywin32
Q
- QR decomposition
- about / The QR decomposition
- orthogonal matrix / The QR decomposition
- solving, with other matrix algebra methods / Solving with other matrix algebra methods
- Jacobi method, implementing / The Jacobi method
- Gauss-Seidel method, implementing / The Gauss-Seidel method
- QuickStart VM
- obtaining, from Cloudera / Getting a QuickStart VM from Cloudera
R
- reduce function
- about / MapReduce
- Rendleman and Bartter model
- about / The Rendleman and Bartter model
- Representational State Transfer
- REST / What is REST?
- REST
- about / What is REST?
- root-finding
- about / An introduction to root-finding
- example / An introduction to root-finding
- using / An introduction to root-finding
- root-finding methods
- combining / Combining root-finding methods
- Root-finding scalar functions, SciPy
- about / Root-finding scalar functions
S
- scipy.optimize methods
- about / SciPy implementations
- scipy.optimize modules
- about / Root-finding scalar functions
- SciPy implementations
- about / SciPy implementations
- root-finding scalar functions / Root-finding scalar functions
- general nonlinear solvers / General nonlinear solvers
- secant method
- about / The secant method
- security market line (SML)
- SETAR model
- short-rate modeling
- about / Short-rate modeling
- Vasicek model / The Vasicek model
- Cox-Ingersoll-Ross (CIR) model / The Cox-Ingersoll-Ross model
- Rendleman and Bartter model / The Rendleman and Bartter model
- Brennan and Schwartz model / The Brennan and Schwartz model
- short-term spot rates
- about / Bootstrapping a yield curve
- simple linear optimization problem
- simple order routing mechanism
- about / A simple order routing mechanism
- single document
- fetching, in collection / Fetching a single document
- smooth transition models
- about / Smooth transition models
- spot rates
- about / Spot and zero rates
- statsmodels
- StockOption class
- writing / Writing the StockOption class
- STOXX Europe 600 data file
- definitions / Gathering the EUROX STOXX 50 Index and VSTOXX data
- STOXX website
- Strategy class
- about / The Strategy class
- SX5E and V2TX / Financial analytics of SX5E and V2TX
- financial analytics / Financial analytics of SX5E and V2TX
- correlation / Correlation between SX5E and V2TX
- system functionalities, algorithmic trading
- about / System functionalities
T
- test connection
- running / Running a test connection
- TeX
- about / Inserting equations
- threshold autoregressive (TAR) model
- TickData class
- about / The TickData class
- Tkinter
- about / A wealth of standard libraries
- Trader WorkStation X (TWS)
- trend-following forex trading platform
- building / Building a trend-following forex trading platform
- main program, setting up / Setting up the main program
- events, handling / Handling events
- trend-following algorithm, implementing / Implementing the trend-following algorithm
- positions, tracking / Tracking our positions
- tridiagonal_solve() method / Policy iteration by finite differences
- trinomial lattice
- about / Using the trinomial lattice
- using / Using the trinomial lattice
- TrinomialLattice class, writing / Writing the TrinomialLattice class
- trinomial lattice model COM server
- trinomial trees, in options pricing
- about / Trinomial trees in options pricing
- TrinomialTreeOption class, writing / Writing the TrinomialTreeOption class
U
- unbounded
- about / Outcomes of linear programs
V
- VaR, for risk management
- about / VaR for risk management
- Vasicek model
- about / The Vasicek model
- vasicek_czcb_values() method / Policy iteration by finite differences
- vasicek_diagonals() method / Policy iteration by finite differences
- vasicek_limits() method / Policy iteration by finite differences
- vasicek_params() method / Policy iteration by finite differences
- vasicek_policy_diagonals() method / Policy iteration by finite differences
- VirtualBox
- about / Getting VirtualBox
- URL, for downloading / Getting VirtualBox
- Cloudera VM, running on / Running Cloudera VM on VirtualBox
- VIX
- about / The VIX
- volatility derivatives
- about / Volatility derivatives
- STOXX / STOXX and the Eurex
- Eurex Exchange / STOXX and the Eurex
- EURO STOXX 50 Index / The EURO STOXX 50 Index
- VSTOXX / The VSTOXX
- VIX / The VIX
- VSTOXX
- about / The VSTOXX
- VSTOXX data file
- definitions / Gathering the EUROX STOXX 50 Index and VSTOXX data
- VSTOXX historical daily data
- VSTOXX main index
- calculating / Calculating the VSTOXX main index
- VSTOXX sub-indices
- calculating / Calculating the VSTOXX sub-indices
- OESX data, obtaining / Getting the OESX data
- formulas, for calculating / Formulas to calculate the VSTOXX sub-index
- value, implementing / Implementation of the VSTOXX sub-index value
- results, analyzing / Analyzing the results
W
- Wijngaarden-Dekker-Brent method / Combining root-finding methods
- Windows
- MongoDB, running from / Running MongoDB from Windows
- word count program, Hadoop
- about / A word count program in Hadoop
- sample data, downloading / Downloading sample data
- map program, running in Python / The map program
- reduce program, creating / The reduce program
- scripts, testing / Testing our scripts
Y
- YARN
- about / YARN
- yield curve
- about / Yield curves
- bootstrapping / Bootstrapping a yield curve
- yield to maturity (YTM)
- about / Calculating the yield to maturity
- calculating / Calculating the yield to maturity
Z
- zero-coupon bond
- about / Valuing a zero-coupon bond
- valuing / Valuing a zero-coupon bond
- spot rates / Spot and zero rates
- zero rates / Spot and zero rates
- pricing, by Vasicek model / Pricing a zero-coupon bond by the Vasicek model
- zero rates
- about / Spot and zero rates