commands Error

For questions regarding programming in the EViews programming language.

Moderators: EViews Gareth, EViews Moderator, EViews Jason, EViews Matt

Scalper
Posts: 34
Joined: Wed Jun 30, 2010 11:43 am

commands Error

Postby Scalper » Wed Dec 07, 2011 7:43 am

Hello,

I am estimating a TVEC model and when i start to programming occurs errors. The beginning of routine is :

%dowjones="DJ"

%brentoil="BO"

%equation_cointeg="%dowjones c %brentoil"

smpl @all

scalar obstot=@obssmpl

scalar pi=@round(0.05*obstot)

%d="1"

!lag_0=1
!lag_k=8

%equation_dowjones="ddj ddj1 ddj2 ddj3 ddj4 ddj5 ddj6 ddj7 ddj8 dbo1 dbo2 dbo3 dbo4 dbo5 dbo6 dbo7 dbo8 c z"
%equation_brentoil="ddj ddj1 ddj2 ddj3 ddj4 ddj5 ddj6 ddj7 ddj8 dbo1 dbo2 dbo3 dbo4 dbo5 dbo6 dbo7 dbo8 c z"

'X X X X X XXXX first step X X X X X X X X X

series d{%dowjones}=d(%brentoil)
series d{%brentoil}=d(%dowjones)



after these commands when i run it shows up the following error message :" Can not assign string expression to numeric variable"

i don know why...Can you help me?

Best Regards

Scalper

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13583
Joined: Tue Sep 16, 2008 5:38 pm

Re: commands Error

Postby EViews Gareth » Wed Dec 07, 2011 8:46 am

You probably need:

Code: Select all

series d({%dowjones})=d({%brentoil})

Scalper
Posts: 34
Joined: Wed Jun 30, 2010 11:43 am

Re: commands Error

Postby Scalper » Wed Dec 07, 2011 9:03 am

sorry,

i wanted to say :

series d{%dowjones}=d(%brentoil)
series d{%brentoil}=d(%brentoil)

even so, it keep showing up

" Can not assign string expression to numeric variable"

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13583
Joined: Tue Sep 16, 2008 5:38 pm

Re: commands Error

Postby EViews Gareth » Wed Dec 07, 2011 9:13 am

For the same reason - you need braces around your string variables.

Scalper
Posts: 34
Joined: Wed Jun 30, 2010 11:43 am

Re: commands Error

Postby Scalper » Wed Dec 07, 2011 9:47 am

i added :

for !defasagens=1 to !lag_k
series d{%dowjones}{!defasagens}=d{%dowjones}(-{!defasagens})
series d{%brentoil}{!defasagens}=d{%brentoil}(-{!defasagens})
next

and now :"DDJ is not defined :? "

i need braces as well?

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13583
Joined: Tue Sep 16, 2008 5:38 pm

Re: commands Error

Postby EViews Gareth » Wed Dec 07, 2011 9:54 am

Now you're missing parenthesis.

The D function requires parenthesis around the thing you're taking the difference of.

Scalper
Posts: 34
Joined: Wed Jun 30, 2010 11:43 am

Re: commands Error

Postby Scalper » Wed Dec 07, 2011 10:00 am

tahnk you very much Gareth.

However, always i write a command always show me up a message :(

Now, i wrote :

equation cointeg.ls(h) %equation_cointeg

and said " Alpha series in specification - %dowjones c %brentoil - @EXPAND can convert to catagorical dummies"

i have to create dummies??!!

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13583
Joined: Tue Sep 16, 2008 5:38 pm

Re: commands Error

Postby EViews Gareth » Wed Dec 07, 2011 10:14 am

Again, you need braces around your string variable.

Scalper
Posts: 34
Joined: Wed Jun 30, 2010 11:43 am

Re: commands Error

Postby Scalper » Wed Dec 07, 2011 10:32 am

Can you specify where?

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13583
Joined: Tue Sep 16, 2008 5:38 pm

Re: commands Error

Postby EViews Gareth » Wed Dec 07, 2011 10:38 am

You only have one string variable in that line...

Code: Select all

equation cointeg.ls(h) {%equation_cointeg}

Scalper
Posts: 34
Joined: Wed Jun 30, 2010 11:43 am

Re: commands Error

Postby Scalper » Wed Dec 07, 2011 10:45 am

i really did that but keep showing me up :

" Alpha series in specification -DJ- @EXPAND can convert to catagorical dummies"

The routine that i have is :


Estimation a Threshold VEC with 2 Regimes



%dowjones="DJ"

%brentoil="BO"

%equation_cointeg="%dowjones c %brentoil"

smpl @all

scalar obstot=@obssmpl

scalar pi=@round(0.05*obstot)

%d="1"

!lag_0=1
!lag_k=8

%equation_dowjones="ddj ddj1 ddj2 ddj3 ddj4 ddj5 ddj6 ddj7 ddj8 dbo1 dbo2 dbo3 dbo4 dbo5 dbo6 dbo7 dbo8 c z"
%equation_brentoil="dbo ddj1 ddj2 ddj3 ddj4 ddj5 ddj6 ddj7 ddj8 dbo1 dbo2 dbo3 dbo4 dbo5 dbo6 dbo7 dbo8 c z"

'X X X X X XXXX first step X X X X X X X X X


series d({%dowjones})=d({%dowjones})
series d({%brentoil})=d({%brentoil})

for !defasagens=1 to !lag_k
series d({%dowjones}{!defasagens})=d({%dowjones}(-{!defasagens}))
series d({%brentoil}{!defasagens})=d({%brentoil}(-{!defasagens}))
next

equation cointeg.ls(h) %equation_cointeg

cointeg.makeresids residcointeg

series z=residcointeg(-{%d})

sort z


'X X X X X XXXX STEP 2 X X X X X X X X X

for !meses=pi to (obstot-pi)

series vec1res1empil_{!meses}
series vec1res2empil_{!meses}

mpl 1 1+!meses-1
equation vec1A{%dowjones}_{!meses}.ls(h) %equation_dowjones
vec1A{%dowjones}_{!meses}.makeresids res1_vec1A_{!meses}

equation vec1A{%brentoill}_{!meses}.ls(h) %equation_brentoil
vec1A{%brentoill}_{!meses}.makeresids res2_vec1A_{!brentoil



smpl 1+!meses-1+1 1+obstot-1

equation vec1B{%dowjones}_{!meses}.ls(h) %equation_dowjones
vec1B{%dowjones}_{!meses}.makeresids res1_vec1B_{!meses} }

equation vec1B{%brentoil}_{!meses}.ls(h) %equation_brentoil
vec1B{%brentoil}_{!meses}.makeresids res2_vec1B_{!meses}

for !empilvec1A= 1 to !meses
vec1res1empil_{!meses}(!empilvec1A)=@elem(res1_vec1A_{!meses}, @otod(!empilvec1A))
vec1res2empil_{!meses}(!empilvec1A)=@elem(res2_vec1A_{!meses}, @otod(!empilvec1A))

next
'
for !empilvec1B=!meses+1 to obstot
vec1res1empil_{!meses}(!empilvec1B)=@elem(res1_vec1B_{!meses}, @otod(!empilvec1B))
vec1res2empil_{!meses}(!empilvec1B)=@elem(res2_vec1B_{!meses}, @otod(!empilvec1B))

next


smpl @all
group resvec1_{!meses} vec1res1empil_{!meses} vec1res2empil_{!meses}
matrix varcovvec1_{!meses}=@cov(resvec1_{!meses})

for !meses=pi to obstot-pi
table(obstot+1, 2) grid1
grid1(1, 1) = "threshold"
grid1(1, 2) = "traçovarcov"
grid1(!meses, 1)=@elem(z, @otod(!meses))
grid1(!meses, 2)=@trace(varcovvec1_{!meses})

matrix(obstot-pi-pi+1, 2) result1
result1(!meses-pi+1, 1)=@elem(z, @otod(!meses))
result1(!meses-pi+1, 2)=@trace(varcovvec1_{!meses})
next

!mintraco1=@min(@columnextract(result1, 2))
scalar mintraco1=!mintraco1

for !meses=pi to (obstot-pi)
if result1(!meses-pi+1, 2)=!mintraco1 then rowvector solucao1=@rowextract(result1, !meses-pi+1) endif

next

!gama1=solucao1(1)
scalar gama1=!gama1

sample s1 if z <= !gama1
sample s2 if z > !gama1

smpl s1
scalar obs1=@obssmpl
equation regime1{%dowjones}.ls(h) %equation_dowjones
equation regime1{%brentoil}.ls(h) %equation_brentoil
regime1{%dowjones}.makeresids resid1_regime1
regime1{%brentoil}.makeresids resid2_regime1
'
smpl s2
scalar obs2=@obssmpl
equation regime2{%dowjones}.ls(h) %equation_dowjones
equation regime2{%brentoil}.ls(h) %equation_brentoil
regime2{%dowjones}.makeresids resid1_regime2
regime2{%brentoil}.makeresids resid2_regime2


'XXXXXXXX STEP 3 XXXXXXXXX
'



'REGIME1
smpl s1
stom(resid1_regime1, vetor_resid1_regime1)
stom(resid2_regime1, vetor_resid2_regime1)
scalar obsv1=@rows(vetor_resid1_regime1)
'
'REGIME2
smpl s2
stom(resid1_regime2, vetor_resid1_regime2)
stom(resid2_regime2, vetor_resid2_regime2)
scalar obsv2=@rows(vetor_resid1_regime2)

smpl @all

smpl s1

'REGIME 1
for !empilregime1=1 to obsv1
residuos_tvec2(!empilregime1, 1)=vetor_resid1_regime1(@otod(!empilregime1))
residuos_tvec2(!empilregime1, 2)=vetor_resid2_regime1(@otod(!empilregime1))
next
'
smpl s2
'REGIME 2
for !empilregime2=1 to obsv2
residuos_tvec2((!empilregime2+obsv1), 1)=vetor_resid1_regime2(@otod(!empilregime2))
residuos_tvec2((!empilregime2+obsv1), 2)=vetor_resid2_regime2(@otod(!empilregime2))
next
'
smpl @all


matrix sigma2=@cov(residuos_tvec2)

scalar tracosigma2_d{%d}=@trace(sigma2)

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13583
Joined: Tue Sep 16, 2008 5:38 pm

Re: commands Error

Postby EViews Gareth » Wed Dec 07, 2011 10:55 am

You're missing lots of braces around string variables.

Scalper
Posts: 34
Joined: Wed Jun 30, 2010 11:43 am

Re: commands Error

Postby Scalper » Wed Dec 07, 2011 11:03 am

equation cointeg.ls(h) {%equation_cointeg}

i really did that but keep showing me up :

" Alpha series in specification -DJ- @EXPAND can convert to catagorical dummies"

why?

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13583
Joined: Tue Sep 16, 2008 5:38 pm

Re: commands Error

Postby EViews Gareth » Wed Dec 07, 2011 11:04 am

Code: Select all

equation vec1A{%dowjones}_{!meses}.ls(h) %equation_dowjones

Scalper
Posts: 34
Joined: Wed Jun 30, 2010 11:43 am

Re: commands Error

Postby Scalper » Wed Dec 07, 2011 11:23 am

when i write : equation cointeg.ls(h) {%equation_cointeg}

as you wrote

the Eviews show me up " Alpha series in specification -DJ- @EXPAND can convert to catagorical dummies" and i dont know why


Return to “Programming”

Who is online

Users browsing this forum: No registered users and 1 guest