binomial tree in python
2015-05-06 15:06
405 查看
import numpy as np def binomial(strike, optype, extype): # optype 'C' = call, 'P' = put # extype 'E' = european, 'A' = american # set model paramters S0 = 100 # initial stock level T = 1.0 # time to maturity r = 0.05 # risk free rate vol = 0.20 # volatility M = 1000 # time stpes dt = T/M # length of time interval df = np.exp(-r*dt) u = np.exp(vol*np.sqrt(dt)) d = 1/u q = (np.exp(r*dt) - d) / (u - d) # generate tree S = np.zeros((M+1,M+1), dtype=np.float64) S[0,0] = S0 for j in xrange(1, M+1, 1): for i in xrange(j+1): S[i,j] = S[0,0]*u**(j-2*i) # calculte intrinsic value iv = np.zeros((M+1,M+1), dtype=np.float64) for j in xrange(M+1): for i in xrange(j+1): if optype=='C': iv[i,j] = max(S[i,j]-strike, 0) else: iv[i,j] = max(strike-S[i,j], 0) # valuation pv = np.zeros((M+1,M+1), dtype=np.float64) pv[:,M] = iv[:,M] for j in xrange(M-1, -1, -1): for i in xrange(j+1): pv[i,j] = (q*pv[i,j+1]+(1-q)*pv[i+1,j+1])*df if extype=='E': pv[i,j] = pv[i,j] else: pv[i,j] = max(pv[i,j], iv[i,j]) return pv[0,0] print binomial(100, optype='P', extype='E')
相关文章推荐
- binomial tree in python
- A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python)
- Processing XML in Python with ElementTree
- pyTree(tree structure in python )
- A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python)
- [leetcode]Binary Tree Inorder Traversal @ Python
- How To Implement The Decision Tree Algorithm From Scratch In Python (从零开始在Python中实现决策树算法)
- [Leetcode]@python 105. Construct Binary Tree from Preorder and Inorder Traversal
- Simple Merkle Hash Tree implemented in Python
- LeetCode 94 Binary Tree Inorder Traversal(Python详解及实现)
- A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python)
- 【LeetCode】【Python】Binary Tree Inorder Traversal
- Insert Element In XML File by Python xml.etree.ElementTree Module
- [python]leetcode(105). Construct Binary Tree from Preorder and Inorder Traversal
- [leetcode]Construct Binary Tree from Inorder and Postorder Traversal @ Python
- 【LeetCode with Python】 Binary Tree Inorder Traversal
- [LeetCode]题解(python):106-Construct Binary Tree from Inorder and Postorder Traversal
- [Leetcode][python]Construct Binary Tree from Preorder and Inorder Traversal (Inorder and Postorder)
- [Leetcode]105. Construct Binary Tree from Preorder and Inorder Traversal@python
- [LeetCode]题解(python):094-Binary Tree Inorder Traversal