15

我正在寻找一个 python 库,它可以让我计算随机微积分的东西,比如我定义扩散的随机过程的(条件)期望。我看了一下 simpy (simpy.sourceforge.net),但它似乎不能满足我的需求。

这是为了快速原型设计和实验。在 java 中,我成功地使用了(现在不活动的)http://martingale.berlios.de/Martingale.html库。

这个问题本身并不难,但是有很多不平凡的样板工作要做(有效的内存使用,变量减少技术等)。

理想情况下,我可以写出这样的东西(只是说明性的):

def my_diffusion(t, dt, past_values, world, **kwargs):
    W1, W2 = world.correlated_brownians_pair(correlation=kwargs['rho'])
    X = 过去值[-1]
    sigma_1 = kwargs['sigma1']
    sigma_2 = kwargs['sigma2']
    dX = kwargs['mu'] * X * dt + sigma_1 * W1 * X * math.sqrt(dt) + sigma_2 * W2 * X * X * math.sqrt(dt)
    返回 X + dX

X = RandomProcess(diffusion=my_diffusion, x0 = 1.0)
打印 X.expectancy(T=252, dt = 1./252., N_simul= 50000, world=World(random_generator='sobol'), sigma1 = 0.3, sigma2 = 0.01, rho=-0.1)

例如,除了在 numpy 中重新实现它之外,还有其他人知道吗?

4

5 回答 5

1

你看过圣人吗?

于 2009-10-18T11:21:57.153 回答
1

我在 Python 中看到的最接近这一点的是PyMC——各种马尔可夫链蒙特卡罗算法的实现。

于 2010-03-30T21:09:43.150 回答
0

我知道有人使用日晷来解决随机 ODE/PDE 问题,但我对库的了解不够,无法确定它是否适合您的情况。这里有 python绑定

于 2009-10-18T11:14:19.653 回答
0

我正在研究一个随机过程(包括扩散过程和一些调节)python 库。查看这个指向google-project 主页的链接。干杯!

于 2011-09-29T04:24:30.073 回答
0

您可以使用 StochPy(Python 中的随机建模)

https://pypi.python.org/pypi/StochPy

于 2017-10-27T04:15:53.400 回答