2
我正在尋找完全向量化的模型,我有一個平均回覆波動過程 - 又名Ornstein-Uhlenbeck過程。向量化方程
我跟着代碼在這裏:http://nakamuraseminars.org/nsblog/2014/06/21/monte-carlo-in-python-an-example/它有一個相似但不同的方程。
import pandas as pd
import numpy as np
def OU_estimation(M=100000, N=25, T=25, sigma=.1, mu=1, lambda_est=1, S0=1):
dt = T/N # simulation time step
S = np.zeros((M,N+1))
S[:,0] = S0
for n in range(N):
#Partially vectorized
eps = np.random.normal(0, 1, (M))
S[:,n+1] = S[:,n] + lambda_est*(mu - S[:,n])*dt + sigma*eps
df = pd.DataFrame(S)
return df
由於代碼當前是部分向量化的,因此它會迭代所採取的步驟數,它已經非常快。我期待,看看它是否可以完全矢量更多的學習經驗
BTW(M)== M,構建一個元組,你需要昏迷(M,) –
我不關注。你能更好地解釋你正在指出什麼嗎?你認爲逗號需要放在哪裏? – DataSwede
@RikPoggi是(我認爲)指的是以'eps = ...'開始的行中的'(M)'。函數'.normal'需要一個元組。爲了創建一個長度爲1的元組,你需要輸入一個逗號,如下所示:'(M,)' – Dan