我正在寻找一个可以让我计算随机微积分的
Python库,就像我将定义扩散的随机过程的(条件)期望一样.我看了一下simpy(simpy.sourceforge.net),但似乎并不能满足我的需求.
这个问题本身并不困难,但是有很多非常简单的样板要做的事情(高效的内存使用,可变缩减技术等).
理想情况下,我可以写这样的东西(只是说明性的):
def my_diffusion(t, dt, past_values, world, **kwargs):
W1, W2 = world.correlated_brownians_pair(correlation=kwargs['rho'])
X = past_values[-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)
return X + dX
X = RandomProcess(diffusion=my_diffusion, x0 = 1.0)
print X.expectancy(T=252, dt = 1./252., N_simul= 50000, world=World(random_generator='sobol'), sigma1 = 0.3, sigma2 = 0.01, rho=-0.1)
有人知道别的东西,比如重新实现它吗?