- 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.
- INSTANT Mock Testing with PowerMock
- The Complete Rust Programming Reference Guide
- Java應用開發與實踐
- JIRA 7 Administration Cookbook(Second Edition)
- 21天學通C++(第6版)
- 單片機應用技術
- Python Network Programming Cookbook(Second Edition)
- Flux Architecture
- Kali Linux Wireless Penetration Testing Beginner's Guide(Third Edition)
- Java程序設計:原理與范例
- Visual FoxPro程序設計
- Creating Mobile Apps with jQuery Mobile(Second Edition)
- Scala for Machine Learning(Second Edition)
- Learning AWS
- 深入實踐Kotlin元編程