带平滑参数泰勒规则的Stata直接回归实现问询
带平滑参数泰勒规则的直接估计方案
问题本质
你要估计的目标泰勒规则方程是:
e(t) = p * e(t-1) + (1-p) * (a * π + b * y)
直接跑OLS或GMM得到的是简化形式:e(t) = p * e(t-1) + a' * π + b' * y,其中a' = (1-p)a、b' = (1-p)b,没法直接拿到你要的p、a、b。下面给两种Stata里直接实现的方法:
方法1:非线性最小二乘(NLS)直接拟合
NLS能直接指定原方程的非线性形式,不用手动转换参数,是最省心的方式:
OLS场景的NLS命令
nl (euribor = {p}*L1.euribor + (1-{p})*({a}*inflation + {b}*ygap))
- 说明:
{p}、{a}、{b}是待估参数,Stata会自动迭代求解,输出结果就是你要的p、a、b,完全对应原方程。
GMM场景的适配
如果要处理内生性用GMM,直接用gmm命令指定原方程的残差作为矩条件就行:
gmm (euribor - {p}*L1.euribor - (1-{p})*({a}*inflation + {b}*ygap)), instruments(这里填你的工具变量)
- 括号里是原方程的残差表达式,
instruments()替换成你实际用的工具变量集合。
方法2:约束回归失败的原因
你之前用constraint没成功,核心问题是目标方程的参数关系是非线性的——Stata的constraint工具只能处理线性约束,搞不定(1-p)a、(1-p)b这种和p绑定的非线性系数关系,所以线性约束这条路走不通,还是NLS更直接。
结果验证
不管用哪种方法,你可以手动核对:用估计出的p、a、b计算(1-p)*a和(1-p)*b,结果应该和直接线性回归得到的inflation、ygap系数一致,以此确认结果正确性。
内容的提问来源于stack exchange,提问作者nivet3426
相关产品推荐
相关产品推荐

