But I wonder why n=10 is not treated as something we need to guarantee/satisfy?
Also, it seems that if I don't write satisfy=x in your sample code, the code still works and is able to find the solution. But interestingly, there's an error in th log: The following solve variables do not appear in any of the equations to be solve (although it doesn't prevent me from reaching the the solution of the equation).
Additionaly, I tried a more complicated example which has several known variables,
data goal; p=90;yield=0.08;coupon=0.07;T=5;par=100; run; proc model; sum = 0; do i = 1 to T; sum = sum + par*coupon/(1+yield)**i; end; sum=sum+par/(1+yield)**5; p = sum; solve yield / data=goal out=bondprice; run; proc print data=bondprice; run;
The variable I'd like to compute is the true yield of bond, I used solve yield but this time I didn't get correct solution for yield, instead I got the appropriate p to make this equation hold.
So my question is, in general, to solve for a single unknown in an equation with several known varibles, what's the correct code?
... View more