python-Mcmc

Python pandas的效率比较:

 1 from time import time
 2 from math import exp,sqrt,log
 3 from random import gauss,seed
 4 seed(20000)
 5 t0 = time()
 6
 7 S0 = 100
 8 K = 105
 9 T = 1.0
10 r = 0.05
11 sigma = 0.2
12 M = 50
13 dt = T / M
14 I = 250000
15
16 S = []
17 for i in range(I):
18     path = []
19     for t in range(M + 1):
20         if(t == 0):
21             path.append(S0)
22         else:
23             z = gauss(0.0,1.0)
24             St = path[t-1] * exp((r - 0.5 * sigma ** 2) * dt + sigma * sqrt(dt) * z)
25             path.append(St)
26     S.append(path)
27
28 C0 = exp(-r * T) * sum([max(path[-1]-K,0) for path in S]) / I
29
30 tpy = time() - t0
31 print "European Option Vlue %7.3f" % C0
32 print "Duration in Seconds %7.3f" % tpy

引用numpy

 1 import math
 2 import numpy as np
 3 from time import time
 4
 5 np.random.seed(20000)
 6 t0 = time()
 7
 8 S0 = 100
 9 K = 105
10 T = 1.0
11 r = 0.05
12 sigma = 0.2
13 M = 50
14 dt = T / M
15 I = 250000
16
17 S = np.zeros((M+1,I))
18 S[0] = S0
19 for t in range(1,M+1):
20     z = np.random.standard_normal(I)
21     S[t] = S[t-1] * np.exp((r - 0.5 * sigma ** 2) * dt + sigma * math.sqrt(dt) * z)
22
23 C0 = math.exp(-r * T) * np.sum(np.maximum(S[-1]-K,0)) / I
24
25 tpy = time() - t0
26 print "European Option Vlue %7.3f" % C0
27 print "Duration in Seconds %7.3f" % tpy
 1 import math
 2 from numpy import *
 3 from time import time
 4
 5 random.seed(20000)
 6 t0 = time()
 7
 8 S0 = 100
 9 K = 105
10 T = 1.0
11 r = 0.05
12 sigma = 0.2
13 M = 50
14 dt = T / M
15 I = 250000
16
17 S = S0 * exp(cumsum((r - 0.5 * sigma ** 2) * dt + sigma * math.sqrt(dt) * random.standard_normal((M+1,I)), axis=0))
18 S[0] = S0
19
20 print maximum(S[-1]-K,0)
21
22 C0 = math.exp(-r * T) * sum(maximum(S[-1]-K,0)) / I
23
24 tpy = time() - t0
25 print "European Option Vlue %7.3f" % C0
26 print "Duration in Seconds %7.3f" % tpy
时间: 2024-10-27 03:44:53

python-Mcmc的相关文章

11 Python Libraries You Might Not Know

11 Python Libraries You Might Not Know by Greg | January 20, 2015 There are tons of Python packages out there. So many that no one man or woman could possibly catch them all. PyPi alone has over 47,000 packages listed! Recently, with so many data sci

Machine and Deep Learning with Python

Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstitions cheat sheet Introduction to Deep Learning with Python How to implement a neural network How to build and run your first deep learning network Neur

你可能没听过的11个Python库

目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表.现在,越来越多的数据科学家 开始使用Python,虽然他们从pandas,scikit-learn,numpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的 Python库.在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者,也值得过来一看. 1.delorean Dolorean是一个非常酷的日期/时间库.类似JavaScript的moment,拥有非

python study - 正则表达式

第 7 章 正则表达式 7.1. 概览 7.2. 个案研究:街道地址 7.3. 个案研究:罗马字母 7.3.1. 校验千位数 7.3.2. 校验百位数 7.4. 使用 {n,m} 语法 7.4.1. 校验十位数和个位数 7.5. 松散正则表达式 7.6. 个案研究:解析电话号码 7.7. 小结 正则表达式是搜索.替换和解析复杂字符模式的一种强大而标准的方法.如果你曾经在其他语言 (如 Perl) 中使用过它,由于它们的语法非常相似,你仅仅阅读一下 re 模块的摘要,大致了解其中可用的函数和参数就

11个实用但你可能不知道的Python程序库

目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表. 现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit-learn,numpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的Python库.在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者,也值得过来一看. 1) delorean Dolorean是一个非常酷的日期/时间库.类似JavaScript的moment,拥有非

转:11个实用但你可能不知道的Python程序库

原文来自于:http://www.techug.com/11-python-libraries-you-might-not-know 目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表. 现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit-learn,numpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的Python库.在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者

MCMC(一)蒙特卡罗方法

MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链(待填坑) MCMC(三)M-H采样和Gibbs采样(待填坑) 作为一种随机采样方法,马尔科夫链蒙特卡罗(Markov Chain Monte Carlo,以下简称MCMC)在机器学习,深度学习以及自然语言处理等领域都有广泛的应用,是很多复杂算法求解的基础.比如我们前面讲到的分解机(Factorization Machines)推荐算法,还有前面讲到的受限玻尔兹曼机(RBM)原理总结,都用到了MCMC来做一些复杂运算的近似求解.下面我们就对MC

windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和linux中搭建python集成开发环境IDE——如何设置多个python环境 Install Python packages on Ubuntu 14.04 from chris' sandbox In this post I will document my setup of Python 2.7

11个并不广为人知,但值得了解的Python库

这是一篇译文,文中提及了一些不常见但是有用的Python库 原文地址:http://blog.yhathq.com/posts/11-python-libraries-you-might-not-know.html Python的库多如牛毛.再见多识广的人也无法知晓全部.光PyPi的网站上就列出了超过47000个Python库. 本文由博客园zer0black撰写/翻译,未经允许,禁止转载 近来,越来越多的数据科学家开始使用Python,我不由得想到,尽管他们从pandas.scikit-lea

推荐11个实用Python库

1.delorea 非常酷的日期/时间库 from delorean import Delorean EST = "US/Eastern"d = Delorean(timezone=EST) 2.prettytable 可以在浏览器或终端构建很不错的输出 from prettytable import PrettyTable table = PrettyTable(["animal", "ferocity"]) table.add_row([&q