- Jupyter for Data Science
- Dan Toomey
- 261字
- 2021-07-08 09:22:33
Finance, Python - Monte Carlo pricing
Another algorithm in popular use is Monte Carlo simulation. In Monte Carlo, as the name of the gambling resort implies, we simulate a number of chances taken in a scenario where we know the percentage outcomes of the different results, but do not know exactly what will happen in the next N chances. We can see this model being used at http://www.codeandfinance.com/pricing-options-monte-carlo.html. In this example, we are using Black-Scholes again, but in a different direct method where we see individual steps.
The coding is as follows. The Python coding style for Jupyter is slightly different than used directly in Python, as you can see by the changed imports near the top of the code. Rather than just pulling in the functions you want from a library, you pull in the entire library and the coding uses what is needed:
import datetime
import random # import gauss
import math #import exp, sqrt
random.seed(103)
def generate_asset_price(S,v,r,T):
return S * exp((r - 0.5 * v**2) * T + v * sqrt(T) * gauss(0,1.0))
def call_payoff(S_T,K):
return max(0.0,S_T-K)
S = 857.29 # underlying price
v = 0.2076 # vol of 20.76%
r = 0.0014 # rate of 0.14%
T = (datetime.date(2013,9,21) - datetime.date(2013,9,3)).days / 365.0
K = 860.
simulations = 90000
payoffs = []
discount_factor = math.exp(-r * T)
for i in xrange(simulations):
S_T = generate_asset_price(S,v,r,T)
payoffs.append(
call_payoff(S_T, K)
)
price = discount_factor * (sum(payoffs) / float(simulations))
print ('Price: %.4f' % price)
The results under Jupyter are shown as follows:

The result price of 14.4452 is close to the published value 14.5069.
- 控糖控脂健康餐
- Go語言高效編程:原理、可觀測性與優化
- C語言程序設計教程(第2版)
- Responsive Web Design with HTML5 and CSS3
- Building a Recommendation Engine with Scala
- Unity 5.x By Example
- 基于Swift語言的iOS App 商業實戰教程
- Symfony2 Essentials
- Express Web Application Development
- 一步一步跟我學Scratch3.0案例
- R的極客理想:量化投資篇
- Python 快速入門(第3版)
- Python應用與實戰
- 編程的原則:改善代碼質量的101個方法
- Learning D3.js 5 Mapping(Second Edition)