基础工作文件和对象操作命令
这些是启动 EViews 后最先会用到的命令,用于创建和管理工作文件以及其中的对象。

创建工作文件
这是所有分析的第一步。
| 命令 | 功能 | 示例 |
|---|---|---|
wfcreate |
创建一个新的工作文件 | wfcreate w1 a 1990 2025 创建一个名为 w1 的年度工作文件,时间范围从1990年到2025年。 |
wfcreate w2 u 1 100 创建一个名为 w2 的未限定结构工作文件,包含100个观测值。 |
||
wfcreate w3 m 1 2025 12 创建一个名为 w3 的月度工作文件,从2025年1月开始,共12个观测值。 |
常用频率代码:
a: 年度s: 半年度q: 季度m: 月度w: 周度d: 日度u: 未限定结构
创建对象
工作文件创建后,需要创建各种对象来存放数据和结果。
| 命令 | 功能 | 示例 |
|---|---|---|
series |
创建一个新序列(变量) | series gdp 创建一个名为 gdp 的空序列。 |
group |
创建一个新组(多个序列的集合) | group mygrp gdp cpi inv 创建一个名为 mygrp 的组,包含 gdp, cpi, inv 三个序列。 |
equation |
创建一个新方程(用于回归等) | eq1.ls gdp c cpi inv 创建一个名为 eq1 的方程,并直接执行最小二乘回归。 |
graph |
创建一个新图形 | graph line1.line gdp 创建一个名为 line1 的线图对象,展示 gdp 序列。 |
scalar |
创建一个标量(存储单个数值) | scalar r2 = eq1.@r2 创建一个标量 r2,存储方程 eq1 的R平方值。 |
导入和导出数据
在现实研究中,数据通常来自外部文件。

| 命令 | 功能 | 示例 |
|---|---|---|
import / read |
从外部文件导入数据 | import "C:\data\mydata.xlsx" range=sheet1!a1:d100 @smooth 从Excel文件的sheet1工作表中读取A1到D100范围的数据。 |
export / write |
将对象或数据导出到外部文件 | export gdp "C:\output\gdp_series.xlsx" @smooth 将 gdp 序列导出到Excel文件。 |
fetch |
从数据库(如FRED)下载数据 | fetch fred/sp500 从FRED数据库下载标普500指数序列。 |
管理、删除和重命名对象
| 命令 | 功能 | 示例 |
|---|---|---|
copy |
复制对象 | copy gdp gdp_log 将 gdp 序列复制一份,命名为 gdp_log。 |
rename |
重命名对象 | rename gdp_log lgdp 将 gdp_log 重命名为 lgdp。 |
delete |
删除对象 | delete gdp_old 删除名为 gdp_old 的对象。 |
show |
显示对象窗口 | show eq1 打开并显示 eq1 方程的结果窗口。 |
freeze |
将对象的视图冻结为一个新的表格或图形 | freeze(eq1_result) eq1.results 将方程 eq1 的回归结果冻结为一个名为 eq1_result 的表格对象。 |
数据处理和生成序列命令
这是数据分析的核心环节,用于对现有序列进行变换和计算。
| 命令/符号 | 功能 | 示例 |
|---|---|---|
genr / series |
生成新序列(genr 是旧版命令,series 更推荐) |
series lgdp = log(gdp) 生成 gdp 的自然对数序列,并命名为 lgdp。 |
d(x) |
一阶差分 | series dgdp = d(gdp) 生成 gdp 的一阶差分序列。 |
d(x, n) |
n阶差分 | series d2gdp = d(gdp, 2) 生成 gdp 的二阶差分序列。 |
dlog(x) |
对数差分(近似于增长率) | series g_growth = dlog(gdp) 生成 gdp 的对数差分序列,即近似增长率。 |
@pct(x) |
百分比变化 | series g_pct = @pct(gdp) 生成 gdp 的百分比变化序列。 |
log(x) |
自然对数 | series l_cpi = log(cpi) |
exp(x) |
指数函数 | series price_level = exp(log_price) |
abs(x) |
绝对值 | series abs_resid = abs(resid) |
sqrt(x) |
平方根 | series sqrt_inv = sqrt(investment) |
movavg(x, n) |
移动平均 | series ma3 = movavg(sales, 3) 生成 sales 的3期移动平均序列。 |
@lag(x, n) |
滞后 | series lag_y = @lag(y, 1) 生成 y 的1期滞后序列。 |
@trend |
趋势项(从1开始) | series trend = @trend 生成一个线性趋势序列。 |
统量和检验命令
用于描述性统计、平稳性检验、协整检验等。
| 命令 | 功能 | 示例 |
|---|---|---|
stats / descriptives |
描述性统计 | stats lgdp cpi 显示 lgdp 和 cpi 的均值、标准差、最大/小值等。 |
correl / groupname.correl |
相关系数矩阵 | group mygrp.lgdp cpi inv.correl 计算组 mygrp 中各序列的相关系数矩阵。 |
unitroot |
单位根检验(ADF, PP, KPSS等) | unitroot(, lag=4) lgdp 对 lgdp 进行ADF检验,滞后阶数为4。 |
coint |
Johansen协整检验 | coint(2, 1) lgdp lcpi lmoney 对三个序列进行Johansen协整检验,设定趋势和截距项。 |
hosking / ljungbox |
Ljung-Box Q检验(序列相关检验) | lgdp.ljungbox(4) 对 lgdp 进行4阶LjungBox检验。 |
arch / garch |
ARCH/GARCH效应检验和建模 | eq_arch.arch(1, 1) 对残差进行ARCH(1,1)检验和建模。 |
white |
White异方差检验 | eq1.white 对方程 eq1 的残差进行White异方差检验。 |
ramsey |
Ramsey RESET检验(模型设定检验) | eq1.ramsey 对方程 eq1 进行Ramsey RESET检验。 |
方程估计和模型设定命令
这是计量分析的核心,用于估计各种计量模型。
普通最小二乘法
| 命令 | 功能 | 示例 |
|---|---|---|
ls |
最小二乘法估计 | eq.ls lgdp c @trend lcpi 以 lgdp 为因变量,常数项、趋势项、lcpi 为自变量进行OLS回归。 |
ls lgdp c lcpi lmoney ar(1) 带有AR(1)误差项的OLS回归。 |
常用特殊函数:
c: 常数项@trend: 线性趋势项@seas(m): 季节虚拟变量 (m=1,2,...,12)ar(p): 自回归项 (p阶)ma(q): 移动平均项 (q阶)
其他估计方法
| 命令 | 功能 | 示例 |
|---|---|---|
tsls / gmm |
两阶段最小二乘法 / 广义矩估计 | eq.tsls y c x1 z 以 y 为因变量,c, x1 为内生变量,z 为工具变量进行2SLS估计。 |
logl |
最大似然估计 | 需要编写似然函数程序,较为复杂。 |
probit / logit |
Probit / Logit 模型(二元选择模型) | eq.probit(y=1 c x1 x2) 估计一个Probit模型。 |
arch |
ARCH/GARCH模型 | eq.arch(1, 1) 估计一个GARCH(1,1)模型。 |
var |
向量自回归模型 | var myvar.ls 1 4 lgdp lcpi 建立1个滞后阶数为4的VAR模型。 |
vecm |
向量误差修正模型 | vecm myvecm.ls 1 2 lgdp lcpi 建立一个滞后阶数为2的VECM模型。 |
模型求解和预测命令
当模型估计完成后,通常需要进行预测。
| 命令 | 功能 | 示例 |
|---|---|---|
forecast |
预测 | forecast lgdp_f lgdp_se 使用当前估计的方程进行预测,结果存入 lgdp_f,标准差存入 lgdp_se。 |
makefrml / solve |
求解模型(适用于联立方程模型) | makefrml mymodel from eq1 eq2 从方程 eq1 和 eq2 创建一个模型 mymodel。 |
solve mymodel @f 求解模型 mymodel,@f 表示动态求解。 |
编程和控制流程命令
用于编写复杂的EViews程序(.prg文件)。
| 命令 | 功能 | 示例 |
|---|---|---|
| 定义和赋值标量 | !n = 5 定义一个标量 !n 并赋值为5。 |
|
for |
循环语句 | for !i = 1 to !n series x_!i = rnd next 循环5次,生成5个随机序列。 |
while |
当...时循环 | !j = 1 while !j <= 5 series y_!j = rnd !j = !j + 1 wend |
if / then / else |
条件语句 | if eq1.@r2 > 0.9 then "Good model!" else "Bad model!" endif |
sub / endsub |
定义子程序 | sub my_sub ' ... some code ... endsub |
call |
调用子程序 | call my_sub |
窗口命令
这些命令用于控制EViews的界面和窗口。
| 命令 | 功能 | 示例 |
|---|---|---|
pagecreate |
创建新的页面(多页工作文件) | pagecreate monthly 在当前工作文件中创建一个名为 monthly 的新页面。 |
pagestruct |
修改页面结构 | pagestruct freq=q start=1990q1 将当前页面的频率改为季度,起始时间为1990年第一季度。 |
smpl |
设定样本范围 | smpl 1995 2025 将分析样本设定为1995年到2025年。 |
smpl if |
设定条件样本 | smpl 1990 2025 if country="USA" 样本期为1990-2025年,且国家为美国。 |
@all / @allnow |
关闭所有窗口 / 关闭所有窗口并退出 | @all 关闭所有打开的对象窗口。 |
如何学习和使用这些命令?
- 从菜单入手:在EViews中,先通过菜单完成一个操作(进行OLS回归),在命令窗口(通常在EViews主界面的左下角)中查看EViews自动生成的命令,这是最快的学习方式。
- 使用EViews帮助文档:按
F1键或点击Help->EViews Help,在 "Command Reference" (命令参考) 中可以找到几乎所有命令的详细语法和说明。 - 录制脚本:在进行一系列操作时,可以点击
Proc->Record来录制你的操作,EViews会自动生成一个包含所有命令的.prg文件。 - 实践和修改:打开一个已有的
.prg文件(网上有很多例子),尝试修改其中的命令,看看结果有什么不同。
希望这份详细的命令列表对你的学习和工作有所帮助!
