[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

From |
"Thomas Jacobs" <thomasjacobs@gmail.com> |

To |
StataList <statalist@hsphsun2.harvard.edu> |

Subject |
st: Setting up optimize for 2 equations in 2 unknowns |

Date |
Mon, 28 Jul 2008 18:39:41 -0500 |

I have tried in vain to get a 2 equation in 2 unknowns problem to work with optimize. Would someone be kind enough to give me some advice? I have the following parameters which will be fixed during the optimization: T (time) sqrT (squareroot of time) Evol (equity volatility) EoX (firm equity normalized by firm debt) and the following parameters which I wish to solve for: Avol (asset volatility) AoX (firm assets normalized by firm debt The two equations are: F1 = AoX * normal(d1) - normal(d2) - EoX F2 = normal(d1) * AoX * Avol - EoX * Evol where d1 = (ln(AoX)+ T*0.5*Avol^2)/(Avol*sqrtT) d2 = d1 - Avol * sqrtT I am taking the square of each equation and trying to minimize the sum. Here is what I have most recently tried where the I[] matrix is input data that I will read for each firm on a given trading day and the calculated values for Avol and AoX are starting values for the optimization: T = 5 sqrtT = sqrt(T) for (j=1; j<=rows(I); j++) { X = (I[j,15] - I[j,16]) E = I[j,13] Evol = I[j,14] Avol = Evol/2 AoX = (E + X)/X EoX = E/X c = (sqrT, T, EoX, Evol) void Merton(todo, A, c, lnf, g, H) { lnf = (A[1]*normal((ln(A[1])+c[2]*0.5*A[2]^2)/(A[2]*c[1]))- normal((ln(A[1])-c[2]*0.5*A[2]^2)/(A[2]*c[1]))- c[3])^2 + (normal((ln(A[1])+c[2]*0.5*A[2]^2)/(A[2]*c[1])) * A[1] * A[2] - c[3] * c[4])^2 } S = optimize_init() optimize_init_evaluator(S, &Merton()) optimize_init_evaluatortype(S, "d0") optimize_init_params(S, (AoX,Avol)) optimize_init_which(S, "min") optimize_init_argument(S,1,c) A = optimize(S) printf("A:") A } Here is the reply I get: > c = (sqrT, T, EoX, Evol) > > void Merton(todo, A, c, lnf, g, H) expression invalid (16 lines skipped) I am unsure what I am doing wrong and have tried several variations based upon the manual always receiving the same error. Tom -- Thomas Jacobs * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: st: Setting up optimize for 2 equations in 2 unknowns***From:*"Austin Nichols" <austinnichols@gmail.com>

- Prev by Date:
**Re: st: incorporating zipped files into do-files** - Next by Date:
**Re: st: Setting up optimize for 2 equations in 2 unknowns** - Previous by thread:
**st: interactions and subsets** - Next by thread:
**Re: st: Setting up optimize for 2 equations in 2 unknowns** - Index(es):

© Copyright 1996–2017 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |