Seite 1 von 1

Simultane Lösung von 2 Gleichungen

BeitragVerfasst: Mo 4. Nov 2013, 22:12
von crichter
Hallo,

ich habe folgenden SAS Code vorliegen, den ich dringend in einen Stata code umwandeln muss.

proc model data = indata MAXERRORS = 1 noprint;
by gvkey year;
bounds 0<va siga;
eq.call = va * exp( -divrate * time )*probnorm(((log( va / x )
+time * ( r - divrateþsiga * siga / 2 ))) / ( siga * sqrt(time)))
- x * exp( -r * time ) * probnorm((( log( va / x )
+time*( r - divrate - siga * siga / 2))) / ( siga * sqrt(time)))
- (1 - exp( -divrate * time )) * va - ve;
eq.hedge = ( siga * va * exp( -divrate * time ) / ve ) * probnorm((( log(va / x)
-time * ( r - divrateþsiga * siga / 2 ))) / ( siga * sqrt(time))) - sige;
solve va siga
/ out = bsmdata maxiter = 50 maxsubit = 20;
id gvkey year r data19 data21 divrate x ve sige va siga;
run;

Es geht also im Kern darum die folgenden beiden Gleichungen call und hedge in Stata simultan, mit Hilfe des Newton Verfahren zu lösen, um die unbekannten va und siga zu bestimmen.
Ich hab die Werte für divrate, time, x, r und die Startwerte für va und siga.
call ist gleichzusetzen mit einer Variable ve die ich für jeden Beobachtungszeitpunkt habe und hedge mit eine Variable sige die ich ebenfalls für jeden Beobachtungszeitpunkt habe. Die Daten sind Paneldaten. Markt- und Jahresabschlussgrößen für Unternehmen in einem gewissen Zeitraum.

call = va * exp( -divrate * time )*normprob(((log( va / x )
+time * ( r - divrate+siga * siga / 2 ))) / ( siga * sqrt(time)))
- x * exp( -r * time ) * normprob((( log( va / x )
+time*( r - divrate - siga * siga / 2))) / ( siga * sqrt(time)))
- (1 - exp( -divrate * time )) * va

hedge = ( siga * va * exp( -divrate * time ) / ve ) * normprob((( log(va / x)
-time * ( r - divrateþsiga * siga / 2 ))) / ( siga * sqrt(time)))

Ich freue mich über jegliche Unterstützung.