Werte aus 4 For-Schleifen abspeichern
Verfasst: Montag 14. November 2022, 23:03
Guten Abend,
ich habe einen Algorithmus zur Bepreisung von Optionen geschrieben und stoße auf ein Problem bzgl. meiner For-Schleifen. Da ich (s.u.) 4 For-Schleifen hintereinander ausführe, hängt der Wert v_neu(l1,l2,l3,l4) jeweils von 4 Parametern ab. Damit mein Algorithmus durchläuft muss ich v_neu(l1,l2,l3,l4) vorher definieren. Allerdings kann ich nicht wie gewohnt v_neu als Matrix setzen und die Werte v_neu(l1,l2,l3,l4) als Matrizeneinträge abspeichern, da v_neu ja jeweils von 4 Parametern abhängt. Hat jemand von euch eine Idee worin ich die Werte stattdessen abspeichern kann, damit mein Algorithmus funktioniert? Vielen Dank schonmal im vorraus!
#Rekursionsschritt
def v_final():
for n in range (1,N):
for l1 in range (0,N-n):
for l2 in range (0,N-(n-l1)):
for l3 in range (0,N-(n-l1-l2)):
l4 = N-(n-l1-l2-l3)
v_neu(l1,l2,l3,l4) == v_alt(l1+1,l2,l3,l4)*p11 + v_alt(l1,l2+1,l3,l4)*p10 + v_alt(l1,l2,l3+1,l4)*p01 + v_alt(l1,l2,l3,l4+1)*p00
v_alt(l1,l2,l3,l4) == v_neu(l1,l2,l3,l4)
return v_neu(l1,l2,l3,l4)
ich habe einen Algorithmus zur Bepreisung von Optionen geschrieben und stoße auf ein Problem bzgl. meiner For-Schleifen. Da ich (s.u.) 4 For-Schleifen hintereinander ausführe, hängt der Wert v_neu(l1,l2,l3,l4) jeweils von 4 Parametern ab. Damit mein Algorithmus durchläuft muss ich v_neu(l1,l2,l3,l4) vorher definieren. Allerdings kann ich nicht wie gewohnt v_neu als Matrix setzen und die Werte v_neu(l1,l2,l3,l4) als Matrizeneinträge abspeichern, da v_neu ja jeweils von 4 Parametern abhängt. Hat jemand von euch eine Idee worin ich die Werte stattdessen abspeichern kann, damit mein Algorithmus funktioniert? Vielen Dank schonmal im vorraus!

#Rekursionsschritt
def v_final():
for n in range (1,N):
for l1 in range (0,N-n):
for l2 in range (0,N-(n-l1)):
for l3 in range (0,N-(n-l1-l2)):
l4 = N-(n-l1-l2-l3)
v_neu(l1,l2,l3,l4) == v_alt(l1+1,l2,l3,l4)*p11 + v_alt(l1,l2+1,l3,l4)*p10 + v_alt(l1,l2,l3+1,l4)*p01 + v_alt(l1,l2,l3,l4+1)*p00
v_alt(l1,l2,l3,l4) == v_neu(l1,l2,l3,l4)
return v_neu(l1,l2,l3,l4)