Ciao a tutti,
sono neofita in Python, e sto riscontrando questi problemi:
1. i cicli for annidati usati per riempire una matrice non mi girano correttamente, le righe della matrice sono sempre uguali ma i dati di imput cambiano. Il riempimento avviene prima per le colonne e poi per le righe (Codice in calce)
2. approfitto per chiedere anche se si possono usare contemporaneamente più cicli while, ho provato ma anche in questo caso non mi girano
Codice:
import numpy as np
from numpy import random
import math
variazione = 0.2
t=0
T=1
tk = np.arange(t,T+variazione,variazione)
NumeroTraiettorie = 5
S0 = 187.07
Media = 0.03745
DevStd = 11.80676443
Prezzi = np.zeros([NumeroTraiettorie,len(tk)])
Prezzi[:,0] = S0
traiettoria = np.zeros(len(tk))
x = np.arange(0,len(Prezzi.T),1)
y =np.arange(1,len(tk),1 )
for i in range(NumeroTraiettorie):
for j in range(len(tk)):
if j == 0:
traiettoria[j] = S0
else:
a = traiettoria[j-1]
b = tk[j] - tk[j-1]
c = DevStd*X[j]*math.sqrt(b)*traiettoria[j-1]
traiettoria[j] = a + b + c
Prezzi[i,1:] = traiettoria[1:]
print(Prezzi)
Output: (metto solo 3 righe ma in ogni caso si ripete la prima su ogni riga della matrice)
GRAZIE INFINITE
AG