Hi, I have built a large macro model (around 60 regressions, 200 variables).
Until now, users shock the outputs via uploading add-factor series in a control Excel file. I'm trying to introduce variable targetting as an alternative. I've been successful on a small dummy model (GDP as a function of exogenous potential + output gap AR(1) and unemployment as a function of exogenous NAIRU and Okun's law regression). But when trying to apply something similar via model.control to my main model the result is always precisely 0.01 for whichever variable I try and whatever time period/s and regardless of the target.
I have temporarily set all user-contorlled shocks =0 and there is no user control shock at all for the variable that I'm trying to target, just a blank Y_a series.
I can't share the entire code on here (both commercially sensative and ~1000 lines) but am happy to seperately email an administrator with the code and associated files if helpful. Nonetheless, the most relevent part of the code is here:
smpl @all
series y_og_a 'create blank shocks series
'Shocks
for %K [.............long list of regressions including y_og........]
Model.append @ADD(V) {%K} {%K}_a
next
'Section 6: Solving the model ----------------------------------------
Model.exclude(actexist=t)
model.solveopt(t=g)
smpl 2020 2040
model.solve 'originally this was the main solve with the user-defined shocks, currently all user-shocks set to zero to avoid clashes
smpl 2026q2 2028q4
model.control y_og_a Y Y_target 'use output gap shock to set Y=Y_target for relevant period
smpl 2020 2040
model.solve 'solve again using the above shocks.
smpl @all
-------------------------------------
N.B. also tried variations of doing model.control before the solve and only solving once. Idea of the two-stage solve was to try and solve first using user-shocks and then target, but for now I've abandoned that idea. I need actexist=t as the model won't solve with a jagged edge problem.
Regardless of what I set the target to, or if I try targetting a different equation, (say unemployment via an Okun's law eq) it always delivers exactly 0.01 for the targetting periods. This occurs whether I use code or do it via model > prod manually.
thanks for any help and happy to share full code offline.
Model targetting (via model.control) always delivers 0.01
Moderators: EViews Gareth, EViews Moderator
-
redversjones
- Posts: 9
- Joined: Thu Dec 07, 2017 10:11 am
-
EViews Matt
- EViews Developer
- Posts: 590
- Joined: Thu Apr 25, 2013 7:48 pm
Re: Model targetting (via model.control) always delivers 0.01
Hello,
The value 0.01 is one of the possible fixed starting values used during the control procedure, so it sounds like the procedures is silently failing without any feedback as to why. You appear to be using the control procedure to adjust just a single series, which means you can use the older (pre-EViews 12) version of the control procedure as an alternative. Try adding the "legacy" option to the control procedure, e.g. model.control(legacy), and please share if EViews generates meaningful results.
The value 0.01 is one of the possible fixed starting values used during the control procedure, so it sounds like the procedures is silently failing without any feedback as to why. You appear to be using the control procedure to adjust just a single series, which means you can use the older (pre-EViews 12) version of the control procedure as an alternative. Try adding the "legacy" option to the control procedure, e.g. model.control(legacy), and please share if EViews generates meaningful results.
Who is online
Users browsing this forum: No registered users and 2 guests
