Brownian Motion kehrt immer wieder NP.comPlex128 (0J) zurückPython

Python-Programme
Anonymous
 Brownian Motion kehrt immer wieder NP.comPlex128 (0J) zurück

Post by Anonymous »

Ich versuche, Code für eine geometrische Brownsche Bewegung mit Daten anstelle von zufällig generierten Zahlen basierend auf 0 zu schreiben. Die Daten werden entweder als Pandas -Serie oder als Numpy Array eingeleitet. Egal welchen Datensatz ich den Code füttere, ich bekomme immer wieder NP.comPlex128 (0J) als die letzten paar tausend Variablen im Array. Es soll randomisiert werden, also sollte es nicht weiter zu 0 zurückkehren. Wo ist der Fehler in meinem Code oder in Mathematik? < /P>

Code: Select all

def geometric_brownian_motion(data):
mu = data.mean()
sigma = data.std()
S0 = data[len(data) - 1]
T = 1
dt = T / len(data)
n = len(data)

t = np.linspace(0, T, n)
W = np.random.standard_normal(size=n)
S = []
S.append(S0)
for i in range(1, n):
S_temp = S[0] * np.exp((mu - 0.5 * sigma ** 2) * dt + sigma * np.sqrt(dt) * W[i - 1])
S.append(S_temp)
S = np.array(S)
return S

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post