Introduction and Installation of Python

Python language is case sensitive

Using Python as an Ordinary Calculator

Using dir() to find variables and functions

Basic math operations – addition, subtraction, multiplication, and division

The power function, floor, and remainder

Choosing appropriate precision

Finding out more information about a specific built-in function

A few frequently used functions

Using Python as a Financial Calculator

Writing a Python function without saving it

Default input values for a function

Indentation is critical in Python

Checking the existence of our functions

Defining functions from our Python editor

Activating our function using the import function

Debugging a program from a Python editor

Two ways to call our pv_f() function

Continuously compounded interest rate

Net present value and the NPV rule

Defining the payback period and the payback period rule

Showing certain files in a specific subdirectory

Using Python as a financial calculator

Adding our project directory to the path

13 Lines of Python to Price a Call Option

Writing a program – the empty shell method

Writing a program – the comment-all-out method

Using and debugging other programs

Introduction to NumPy and SciPy

Installation of NumPy and SciPy

Launching Python from Anaconda

Showing all functions in NumPy and SciPy

More information about a specific function

Understanding the list data type

Working with arrays of ones, zeros, and the identity matrix

Performing array manipulations

Performing array operations with +, -, *, /

Using the help function related to modules

A list of subpackages for SciPy

Cumulative standard normal distribution

Logic relationships related to an array

Statistic submodule (stats) from SciPy

Solving linear equations using SciPy

Generating random numbers with a seed

Finding a function from an imported module

Linear regression and Capital Assets Pricing Model (CAPM)

Retrieving data from an external text file

Installing NumPy independently

Installing matplotlib via ActivePython

Alternative installation via Anaconda

Understanding how to use matplotlib

Understanding simple and compounded interest rates

Understanding the Net Present Value (NPV) profile

Graphical representation of the portfolio diversification effect

Retrieving historical price data from Yahoo! Finance

Understanding the time value of money

Candlesticks representation of IBM's daily price

IBM's intra-day graphical representations

Presenting both closing price and trading volume

Performance comparisons among stocks

Comparing return versus volatility for several stocks

Finding manuals, examples, and videos

Installing the matplotlib module independently

Statistical Analysis of Time Series

Installing Pandas and statsmodels

Retrieving data to our programs

Several important functionalities

Constructing an efficient frontier

Understanding the interpolation technique

Outputting data to external files

Python for high-frequency data

The Black-Scholes-Merton Option Model

Payoff and profit/loss functions for the call and put options

European versus American options

Cash flows, types of options, a right, and an obligation

Normal distribution, standard normal distribution, and cumulative standard normal distribution

The Black-Scholes-Merton option model on non-dividend paying stocks

European options with known dividends

Relationship between input values and option values

The put-call parity and its graphical representation

Binomial tree (the CRR method) and its graphical representation

Python Loops and Implied Volatility

Definition of an implied volatility

Estimation of IRR via a for loop

Using keyboard commands to stop an infinitive loop

Estimating implied volatility by using an American call

Measuring efficiency by time spent in finishing a program

The mechanism of a binary search

Sequential versus random access

Looping through an array/DataFrame

Retrieving option data from CBOE

Retrieving option data from Yahoo! Finance

Monte Carlo Simulation and Options

Generating random numbers from a standard normal distribution

Generating random numbers from a uniform distribution

Using simulation to estimate the pi value

Generating random numbers from a Poisson distribution

Bootstrapping with/without replacements

Distribution of annual returns

Simulation of stock price movements

Finding an efficient portfolio and frontier

Geometric versus arithmetic mean

Pricing a call using simulation

Pricing lookback options with floating strikes

Using the Sobol sequence to improve the efficiency

Conventional volatility measure – standard deviation

Lower partial standard deviation

Test of equivalency of volatility over two periods

Test of heteroskedasticity, Breusch, and Pagan (1979)

Retrieving option data from Yahoo! Finance