通过之前几天的学习,Q Quant们应该已经熟悉了Python的基本语法,也了解了Python中常用数值库的算法。到这里为止,小Q们也许早就对之前简单的例子不满意,希望能在Python里面玩票大的!Ok,我们这里引入一个不怎么像玩具的模型——二叉树算法。我们仍然以期权为例子,教会大家:
- 如何利用Python的控制语句与基本内置计算方法,构造一个二叉树模型;
- 如何使用类封装的方式,抽象二叉树算法,并进行扩展;
- 利用继承的方法为已有二叉树算法增加美式期权算法。
import numpy as np
import math
import seaborn as sns
from matplotlib import pylab
from CAL.PyCAL import *
font.set_size(15)
1. 小Q的第一棵“树”——二叉树算法Python描述
我们这边只会简单的描述二叉树的算法,不会深究其原理,感兴趣的读者可以很方便的从公开的文献中获取细节。
我们这里仍然考虑基础的 Black - Scholes 模型:
dS=(r−d)Sdt+σSdWt
这里各个字母的含义如之前介绍,多出来的 r 代表股息率。
之所以该算法被称为 二叉树,因为这个算法的基础结构是一个逐层递增的树杈式结构: