PacktLib: NumPy 1.5 Beginner's Guide

NumPy 1.5

Credits

About the Author

About the Reviewers

www.PacktPub.com

Preface

NumPy Quick Start

Python

Time for action – installing Python on different operating systems

Windows

Time for action – installing NumPy on Windows

Linux

Time for action – installing NumPy on Linux

Mac OS X

Time for action – installing NumPy on Mac OS X with a GUI installer

Time for action – installing NumPy with MacPorts or Fink

Building from source

Vectors

Time for action – adding vectors

IPython—an interactive shell

Online resources and help

Summary

Beginning with NumPy Fundamentals

NumPy array object

Time for action – creating a multidimensional array

Time for action – creating a record data type

One-dimensional slicing and indexing

Time for action – slicing and indexing multidimensional arrays

Time for action – manipulating array shapes

Time for action – stacking arrays

Time for action – splitting arrays

Time for action – converting arrays

Summary

Get into Terms with Commonly Used Functions

File I/O

Time for action – reading and writing files

CSV files

Time for action – loading from CSV files

Volume weighted average price

Time for action – calculating volume weighted average price

Value range

Time for action – finding highest and lowest values

Statistics

Time for action – doing simple statistics

Stock returns

Time for action – analyzing stock returns

Dates

Time for action – dealing with dates

Weekly summary

Time for action – summarizing data

Average true range

Time for action – calculating the average true range

Simple moving average

Time for action – computing the simple moving average

Exponential moving average

Time for action – calculating the exponential moving average

Bollinger bands

Time for action – enveloping with Bollinger bands

Linear model

Time for action – predicting price with a linear model

Trend lines

Time for action – drawing trend lines

Methods of ndarray

Time for action – clipping and compressing arrays

Factorial

Time for action – calculating the factorial

Summary

Convenience Functions for Your Convenience

Correlation

Time for action – trading correlated pairs

Polynomials

Time for action – fitting to polynomials

On-balance volume

Time for action – balancing volume

The mode

Time for action – determining the mode of stock returns

Simulation

Time for action – avoiding loops with vectorize

Smoothing

Time for action – smoothing with the hanning function

Summary

Working with Matrices and ufuncs

Matrices

Time for action – creating matrices

Creating a matrix from other matrices

Time for action – creating a matrix from other matrices

Universal functions

Time for action – creating universal function

Universal function methods

Time for action – applying the ufunc methods on add

Arithmetic functions

Time for action – dividing arrays

Modulo operation

Time for action – computing the modulo

Fibonacci numbers

Time for action – computing Fibonacci numbers

Lissajous curves

Time for action – drawing Lissajous curves

Square waves

Time for action – drawing a square wave

Sawtooth and triangle waves

Time for action – drawing sawtooth and triangle waves

Bitwise and comparison functions

Time for action – twiddling bits

Summary

Move Further with NumPy Modules

Linear algebra

Time for action – inverting matrices

Solving linear systems

Time for action – solving a linear system

Finding eigenvalues and eigenvectors

Time for action – determining eigenvalues and eigenvectors

Singular value decomposition

Time for action – decomposing a matrix

Pseudo inverse

Time for action – computing the pseudo inverse of a matrix

Determinants

Time for action – calculating the determinant of a matrix

Fast Fourier transform

Time for action – calculating the Fourier transform

Shifting

Time for action – shifting frequencies

Random numbers

Time for action – gambling with the binomial

Hypergeometric distribution

Time for action – simulating a game show

Continuous distributions

Time for action – drawing a normal distribution

Lognormal distribution

Time for action – drawing the lognormal distribution

Summary

Peeking Into Special Routines

Sorting

Time for action – sorting lexically

Complex numbers

Time for action – sorting complex numbers

Searching

Time for action – using searchsorted

Array elements extraction

Time for action – extracting elements from an array

Financial functions

Time for action – determining future value

Present value

Time for action – getting the present value

Net present value

Time for action – calculating the net present value

Internal rate of return

Time for action – determining the internal rate of return

Periodic payments

Time for action – calculating the periodic payments

Number of payments

Time for action – determining the number of periodic payments

Interest rate

Time for action – figuring out the rate

Window functions

Time for action – plotting the Bartlett window

Blackman window

Time for action – smoothing stock prices with the Blackman window

Hamming window

Time for action – plotting the Hamming window

Kaiser window

Time for action – plotting the Kaiser window

Special mathematical functions

Time for action – plotting the modified Bessel function

Sinc

Time for action - plotting the sinc function

Summary

Assure Quality with Testing

Assert functions

Time for action – asserting almost equal

Approximately equal arrays

Time for action – asserting approximately equal

Almost equal arrays

Time for action – asserting arrays almost equal

Equal arrays

Time for action – comparing arrays

Ordering arrays

Time for action – checking the array order

Objects comparison

Time for action – comparing objects

String comparison

Time for action – comparing strings

Floating point comparisons

Time for action – comparing with assert_array_almost_equal_nulp

Comparison of floats with more ULPs

Time for action – comparing using maxulp of 2

Summary

Plotting with Matplotlib

Simple plots

Time for action – plotting a polynomial function

Plot format string

Time for action – plotting a polynomial and its derivative

Subplots

Time for action – plotting a polynomial and its derivatives

Finance

Time for action – plotting a year's worth of stock quotes

Histograms

Time for action – charting stock price distributions

Logarithmic plots

Time for action – plotting stock volume

Scatter plots

Time for action – plotting price and volume returns with scatter plot

Fill between

Time for action – shading plot regions based on a condition

Legend and annotations

Time for action – using legend and annotations

Summary

When NumPy is Not Enough: SciPy and Beyond

Matlab and Octave

Time for action – saving and loading a .mat file

Statistics

Time for action – analyzing random values

Samples comparison and SciKits

Time for action – comparing stock log returns

Signal processing

Time for action – detecting a trend in QQQ

Fourier analysis

Time for action – filtering a detrended signal

Optimization

Time for action – fitting to a sine

Numerical integration

Time for action – calculating the Gaussian integral

Interpolation

Time for action – interpolating in one dimension

Image processing

Time for action – manipulating Lena

Summary

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Index