Take for a very simple supply and demand model:

(1) D = f(P, x)

(2) S = f(P, y)

(3) S = D

where P is the endogenous price, x and y are exogenous regressors, and the identity holds that supply equals demand. We should thus have three endogenous variables (S,D,P) and three equations. Seems simple, yet I can't figure out how to implement it in a EViews model object.

Here's the program I wrote to try and accomplish this:

Code: Select all

`WFCREATE SD.wf1 M 2002:01 2012:12`

MODEL _supplydemand

_supplydemand.append D = f*(P + x)

_supplydemand.append S = f*(P + y)

_supplydemand.append S = D

The first problem is that this simply doesn't work--there are plenty of errors when I open the model object. It fails in a couple of ways, as far as I can tell. First, S is defined twice, and for some reason it can't tell that eq (3) is an identity, so it complains. It seems to think eq (1) is "too complex" or has a syntax error, but I can't see how either one is true.

The second problem is I have no way of telling EViews that P is endogenous. From the manual, I see that variables are made endogenous by beginning an equation with that variable. But in this case, I don't see a way to begin any equation with P...

Maybe I'm just being slow, but this seems overly confusing. I'm coming from GRETL, where I would just create a system, call out equations (1)-(3), and then simply list which variables are endogenous. It doesn't seem quite so easy in EViews...

Any help is appreciated.