##// END OF EJS Templates
Cleaned up release tools directory....
Cleaned up release tools directory. Converted almost all to python scripts and made toollib to collect common functions and avoid repetition. Properly commented and documented what each script does. The run_ipy_in_profiler one seems broken, I'm not sure what to do with it. We need to either fix it or remove it later, but it's not critical for 0.10.

File last commit:

r1395:1feaf0a3
r2118:ec9810f7
Show More
mcdriver.py
71 lines | 2.0 KiB | text/x-python | PythonLexer
Brian E Granger
Adding examples from ipython1-dev to docs/examples/kernel. These ...
r1337 #!/usr/bin/env python
# encoding: utf-8
"""Run a Monte-Carlo options pricer in parallel."""
Brian E Granger
Fixed most of the examples. A few still don't work, but this is a start.
r1338 from IPython.kernel import client
Brian E Granger
Adding examples from ipython1-dev to docs/examples/kernel. These ...
r1337 import numpy as N
from mcpricer import MCOptionPricer
tc = client.TaskClient()
rc = client.MultiEngineClient()
# Initialize the common code on the engines
rc.run('mcpricer.py')
Brian E Granger
Minor changes to the mcdriver.py example.
r1339 # Push the variables that won't change
#(stock print, interest rate, days and MC paths)
Brian E Granger
Adding examples from ipython1-dev to docs/examples/kernel. These ...
r1337 rc.push(dict(S=100.0, r=0.05, days=260, paths=10000))
task_string = """\
op = MCOptionPricer(S,K,sigma,r,days,paths)
op.run()
vp, ap, vc, ac = op.vanilla_put, op.asian_put, op.vanilla_call, op.asian_call
"""
# Create arrays of strike prices and volatilities
Brian E Granger
Minor changes to the mcdriver.py example.
r1339 K_vals = N.linspace(90.0,100.0,5)
sigma_vals = N.linspace(0.0, 0.2,5)
Brian E Granger
Adding examples from ipython1-dev to docs/examples/kernel. These ...
r1337
# Submit tasks
taskids = []
for K in K_vals:
for sigma in sigma_vals:
Brian E Granger
The refactoring of the Task system is nearly complete. Now there are...
r1395 t = client.StringTask(task_string,
Brian E Granger
Adding examples from ipython1-dev to docs/examples/kernel. These ...
r1337 push=dict(sigma=sigma,K=K),
pull=('vp','ap','vc','ac','sigma','K'))
taskids.append(tc.run(t))
print "Submitted tasks: ", taskids
# Block until tasks are completed
tc.barrier(taskids)
# Get the results
results = [tc.get_task_result(tid) for tid in taskids]
# Assemble the result
vc = N.empty(K_vals.shape[0]*sigma_vals.shape[0],dtype='float64')
vp = N.empty(K_vals.shape[0]*sigma_vals.shape[0],dtype='float64')
ac = N.empty(K_vals.shape[0]*sigma_vals.shape[0],dtype='float64')
ap = N.empty(K_vals.shape[0]*sigma_vals.shape[0],dtype='float64')
for i, tr in enumerate(results):
ns = tr.ns
vc[i] = ns.vc
vp[i] = ns.vp
ac[i] = ns.ac
ap[i] = ns.ap
vc.shape = (K_vals.shape[0],sigma_vals.shape[0])
vp.shape = (K_vals.shape[0],sigma_vals.shape[0])
ac.shape = (K_vals.shape[0],sigma_vals.shape[0])
ap.shape = (K_vals.shape[0],sigma_vals.shape[0])
def plot_options(K_vals, sigma_vals, prices):
"""Make a contour plot of the option prices."""
import pylab
pylab.contourf(sigma_vals, K_vals, prices)
pylab.colorbar()
pylab.title("Option Price")
pylab.xlabel("Volatility")
pylab.ylabel("Strike Price")