# pyBlaSch – An object-oriented Python code for option pricing with the Black-Scholes equation

pyBlaSch is an open-source Python code demonstrating option valuation via the solution of the Black-Scholes equation

$$\frac{\partial V}{\partial t} + \frac{1}{2}\sigma^2 S^2 \frac{\partial^2 V}{\partial S^2} + rS\frac{\partial V}{\partial S} – rV = 0.$$

It is a parabolic partial differential equation involving the option price $$V,$$ the price of the underlying stock $$S,$$ the volatility $$\sigma,$$ and the risk free rate $$r.$$ As it is simple to account for annualized dividend payments $$d$$, these are included in the code, too.

## Implementation

• Finite differences discretization of the spatial derivative operators
• Runge-Kutta schemes for the integration in time (currently first to 4th order low-storage schemes)
• Currently only simple Dirichlet type boundary conditions are implemented
• Types of options are European and Binary call/put
• Derived quantities: Greeks Delta and Gamma, Put-Call parity implied price

The code design follows an object-oriented programming paradigm and was done with extensibility in mind.

## Getting the code

pyBlaSch is open-source software licensed under the MIT license and available on Bitbucket at https://bitbucket.org/saschaschnepp/pyblasch.

Solution for a European Call with expiry in one year and a strike of 100.