第六章  常用指令之說明

<回「入門講義」>

前幾章從「實用」觀點來介紹如何使用 AREMOS/Windows 檢索資料並做簡單迴歸分析。如果您不在乎瞭解 AREMOS/Windows語言結構,依那些範例,套上自己研究所需資料,應可順利完成操作。

本章將回頭來對那些指令進一步補充說明。  

 

6.1  General Object Commands

AREMOS/Windows 的 commands (指令)分兩大類:general command 與 object command。其中 object command 專用為產生某種object (例如 series);而其他非用來產生 object 之一般性只令均屬 general command。

例如範例(一)中:

(3)Options → Set → Period (Frequency : Quarterly, From 1982:1 to 1992:4) → OK

(4)Options → Set → Report (Decimal Places: 0) → OK

(5)Data → Bank → Open → Files → 磁碟機(看看資料庫放在那一槽) → niaq.bnk → 確定 → Open → Cancel 跳回主畫面

(6)Report → Print → 鍵入 gdp,cp ,gdp96 (在 Expression 處) → Execute

其中(5)(6)均屬 general command 語句。其語句一般型式是:

commandname<options>argumentlist;

以(6)式而言,print 是 command; gdp、cp、gdp96 是 arguments。而針對某些 arguments (以逗點分開),來執行某一動作(在此是 print )。在 AREMOS/Windows 下,在此(6)式有以< >設定 options,當你再 Execute 處按下滑鼠後,在主畫面上,可發現一段指令print<Format=Column Horizon=8000 shift No>gdp,cp,gdp96 Width:10 Decimal=2; 如此(4)式的 global 設定就沒有影響;而(3)式的 global 設定依然存在。

其次範例(五)中:

(3)鍵入指令 series<1989:12:1 1989:12:31>x1=stock80:s1206@cl;

(4)鍵入指令 series<1990:1:1 1990:1:20>x1=stock90:s1206@cl;

此二式均屬 object command 語句,其一般型式是:

objecttype<options>objextname=definition;

以(3)式而言,是以 series 指令 (objecttype) 產生一個 series,名叫 x1 (objectname),而 x1 的內容則定義為與 stock80 資料庫堣吱1206@cl 一樣。

 <回頁首>

 

6.2  Global Local Setting

執行某一個 command,不管是 general command 或 object command,都需要有 options 來設定執行的環境 (environments)。

例如對於 print 指令,我們需要設定頻率 (freq) 與期間 (per)。而 print gdp,cp,gdp96 則再所設定的頻率與期間下列印出那三筆資料。

Options 設定有兩種方式:以 options → set 方法來設定叫 global setting,其有效期間會繼續維持到下次再 options → set 為止;以三角形括弧< >來設定是 local setting,其有效僅限於執行該語句,一執行完又回到原先的 global setting。以上面範例(一)(3)(4)(5)(6)為例,當執行:

(3)Options → Set → Period(Frequency : Quarterly, From 1982:1 to 1992:4) → OK

即是 globally 設定頻率為 q,期間為 1982:1 到 1992:4。接著下來執行(6)式即是在該頻率與期間下 print 指令。如果我們加上:

(7)鍵入指令 print<1985:1 1986:4>pchya(gdp96);

(8)鍵入指令 analyze pchya(gdp),pchya(gdp96);

則第(7)是僅會印出 1985:1 到 1986:4 期間之資料(這是典型的 local setting)。但第(8)是又回覆到 global 設定之 1982:1 到 1992:4來執行 analyze 指令。

 <回頁首>

 

6.3  跨行下指令或同一行下多數指令

AREMOS/Windows 堛 AREMOS Command 環境下指令最多可有 127 個英文字母。有時一個指令語句太長一行打不完,需接第二行或第三行。此時與劇中若有逗點,可以逗點做結尾按 ENTER 鍵,電腦變瞭解指令尚未完全而需接下行。例如:

(1)Data → Bank → Open → Files → 磁碟機(看看資料庫放在那一槽) → man.bnk → 確定 → Open → Cancel 跳回主畫面

(2)鍵入指令 print ru15@19,ru20@24,ru25@29,ru30@34,

(3)鍵入指令 ru35@39,ru40@44,ru45@49;

若不以逗點做一行之結尾,則電腦便視語句以完整而開始執行。記住,每下一行指令完,結束後的動作是用分號(;)來代表。如果語句中沒有逗點可供結尾,則打「!」為結尾,電腦亦會「續下行」。

例如:

(1)鍵入指令 series<1989:12:1 1989:12:31>x1=!

(2)鍵入指令 stock80:1206@cl;

但記得,不可使用「!」符號把一個 objectname 分開在兩行,否則會得到 error message。

我們亦可再同一行下兩個以上之 AREMOS/Windows 語句。這些語句必須以分號(;)分開。例如:

(1)鍵入指令 set freq m ; set per 1990:1 1991:12;

(2)鍵入指令 open man ; print n;

 <回頁首>

 

6.4  加減乘除與開方

AREMOS/Windows 加減乘除符號為 + - * /。開方則為 **。例如 2**3 是 2 的 3 次方。

 <回頁首>

 

6.5  Work Bank 的說明

AREMOS/Windows 的 object 一定得存在於某個 bank 堙C我們所建好的資料庫,如 niaq,ind,fsm 等等,都是一些 banks 放在C 碟(其在 C 碟的 filename 為 niaq.bnk,ind.bnk,fsm.bnk 等等)。進入 AREMOS/Windows 後,一旦 open 某個 bank,即可對該bank 堛 series 做操作,例如 print,或進行迴歸分析。

當我們進入 AREMOS/Windows 時,事實上我們是進入一個 primary bank 堙A這個 primary bank 除非您特別指定,電腦會自動取名為 work bank(在 C 碟 filename 即為 work.bnk)。

剛開始進入 AREMOS/Windows 時,這個 work bank 應該是空空的,沒有任何 object。在操作過程中,如有產生任何 object (如series,conv,equation 等指令都會產生 object),則這些 objects 都會自動存放在此 work bank。任何時候,如果在主畫面下:

鍵入指令 index work:;

可查知目前 work bank 埵酗偵 objects。

離開 AREMOS/Windows 時,如果鍵入指令「stop;」或按活屬 File → disconnect,電腦會把目前的 work.bnk 保留起來,下次再進入 AREMOS/Windows 時,仍是以此 work.bnk 為 primary bank,堶悸 objects 也都還存在可供使用。但如果離開 AREMOS/Windows 只打「stop」,沒有分號「;」,則電腦會問是否要 erase work bank。您可以打 y 或 n 來決定是否要殺掉目前的 work bank。

在操作過程中,如果想要清除目前 work bank 堜狾 objects,可鍵入指令「clear;」或把滑鼠移至 Data → Bank → Clear → Work,如此,拰可以有一個乾淨的 work bank 重新開始。

 <回頁首>

 

6.6  Series 的「完整名稱」

在第三 章 3.3 節已提及,一個 series的「完整名稱」事實上由3部分組成:
       
bankname:objectname.versionname
      例如「工業生產總指數(月資料)」的完整名稱是:
        ind:jqind.m
       
在此,versionname 其實就是「頻率」。
        我們可用「完整名稱」來下指令,例如:
        鍵入指令 print ind:jqind.m;
        如此,很明確沒有任何混淆。但如果我們下指令:

       鍵入指令 print jqind;

此時,有可能不同 banks 埵P時存在 jqind,或同一 bank 埵s有不同 version (即頻率)之 jqind。電腦如何執行呢?其原則如下:

(1)首先看目前的頻率設定。如果是 m,則電腦會執行 print jqind.m,如果是 a,則電腦會執行 print jqind.a。

(2)假定目前頻率設定是 m,電腦即開始在所 open 的資料庫群中尋找 qind.m。其尋找的優先順序:第一是 primary bank(即 work bank),其次是最近一次 open 的 bank,接著再往前,越晚 open 的 bank 越優先。此優先順序可以鍵入 q  banks 指令看出或在主畫面下的 Primary Bank: Work 處,按滑鼠左鍵一下,看看 Query Banks 處,即知。

(3)當電腦第一次找到 jqind.m,便立刻執行 print jqind.m,而結束此指令的運作,不再繼續尋找是否其他 banks 也存 jqind.m。

由上述可見,如果有必要,應該用「完整名稱」來下指令才不會引起混淆。

 <回頁首>

 

6.7   如何產生 Series

AREMOS/Windows 的 objects 可分不同 type (種類)。到目前我們接觸最多的 object type 是 series (即時間序列資料)。第七、八章中會講解另外兩種 types of objects:list 與 procedure。

當我們進入 AREMOS,即是進入一個 primary bank (work bank),堶悸讀襯S有任何 object。我們可以 open 一些 banks,利用那些 banks 堛 objects 來進行運算分析。但有時我們會需要「產生」的新 objects。這些自己產生出來的 objects 都會自動存放在primary bank 堙C第七、八章將介紹如何產生 list 與 procedure。本節則談談如何產生 series。

依需求之不同,我們有「五」種方法可以在 primary bank 堬ㄔ series:

(一)  有時讀者所需之資料在現有資料庫群中並沒有,必須自己輸入。可利用 series 指令來進行。例如鍵入指令(在主畫面下):

(1)Options → Set → Period(Frequency:Quarterly, From 1985:1 to 1986:4) → OK

(2)鍵入指令 series y1=301,324.5,355,398,458 repeat 3,550;

如此可產生一個新的 series,名叫 y1,其數值則是等號後所輸入的數字。所設定季頻率從 1985 年第 1 季到 1986 年第 4 季,一共需要 8 個數字,因此要輸入剛好 8 個數字才是一個完整的語句。輸入數字可用 repeat 來簡化。458 repeat 3 代表連續個 458。如果repeat *,則代表 repeat all。如果是 missing value,打 m 即可。 

(二)  使用 series 指令亦可利用現有的 series 來產生新的 series。例如範例(五)跨資料庫之時間序列檢索方法:

(3)鍵入指令 series<1989:12:1 1989:12:31>x1=stock80:s1206@cl;

(4)鍵入指令 series<1990:1:1 1990:1:20>x1=stock90:s1206@cl;

在此乃利用已 open 之 stock80,stock90 堣 s2610@cl 來產生一個新的 series x1。或者=後也可直接使用數學符號,例如:

(1)Options → Set → Period → (Frequency:Quarterly, From 1980:1 to 1992:4) → OK

(2)Data → Bank → Open → Files → 磁碟機(看看資料庫放在那一槽) → niaq.bnk → 確定 → Open → Cancel 跳回主畫面

(3)鍵入指令 series s=gnp-cp-cg;

(4)鍵入指令 display s;

在此定義一個新的 series,叫 s,它的值即是 gnp-cp-cg。 

(三) collapse(or conv) 指令可轉換資料頻率。在 AREMOS/Windows 堙A不同頻率 (version) 的資料算是不同 object,因此 conv指令應視為「產生」新的 series,而所產生的新頻率 series 也存放在 primary bank 堙C例如範例(三):

(3)Options → Set → Period → (Frequency:Quarterly, From 1971:1 to 1994:4) → OK

(4)Data → Bank → Open → Files → 磁碟機(看看資料庫放在那一槽) 分別叫取 niaq.bnk 和 fsm.bnk → 確定 → Open → Cancel 跳回主畫面

(5)鍵入指令 conv m1a=m1a.m ave;

在此以 conv 指令所產生之 m1a,其「完整名稱」應該是「work: m1a.q」,與資料庫堻Q用來轉換之原始資料「fsm:m1a.m」是不同 object。

(四) copy 方法可把資料原封不動從資料庫拷到 primary bank。例如:

(1)Options → Set → Frequency (Quarterly) → OK

(2)Data → Bank → Open → Files → 磁碟機(看看資料庫放在那一槽)分別叫取 niaq.bnk 和 fsm.bnk → 確定 → Open → Cancel 跳回主畫面

(3) Data → Bank → Copy → 鍵入 gnp,jqind,m (在 Names or Wildcard 處) → OK

如此可從已 open 的 banks 中找出 gnp.q 與 jqind.m 這兩個 series 並拷到 primary bank。在此 gnp.q 與所設定頻率相同,故不需打出 versionname「.q」。 jqind.m 之 versionname 則不能省,因為頻率不同。如要謹慎些,可打出資料的「完整名稱」。

如:

    Data → Bank → Copy → 鍵入 niaq:gnp.q, ind:jqind.m (在 Name or Wildcard 處) → OK

注意:document 無法 copy,因牽涉到 structure 的問題。

 (五) Series Editor 編輯方法

Data → Series → Edit → 在 Series Editor and Display 畫面上輸入 series 的 name → OK → 選 New or Update 去編輯 → Mark all → 按繪圖工具(詳細請參考前(範例二 第(19)式) 說明)。

 <回頁首>

 

6.8  AREMOS Functions

AREMOS 的 functions 可分五大類:

1.   Main functions: log,exp,sqrt,max,min,mean,abs,round,variance,sum,std,median 等。

2.   Difference functions: pch,pchya,diff,diffya,dlog 等。

3.   Shift functions: switch,step,spike,missing 等。

4.   Date functions: dateday,datemonth,dateyear,datewday,after,before,calendar,period 等。

5.   Financial functions: npv,irr,cirr,future,payback 等。

其執行均以 functionname( ) 來使用。這些 functions 的詳細說明,參考原文手冊「Reference Manual p.262~279」。下面以簡單範例說明其使用方法:

(1)鍵入指令 set freq q; set per 1980:1 1992:4;

(2)鍵入指令 series lgdp=log(gdp);

(3)鍵入指令 equ eq1 log(cp96)=log(gdp96);

(4)鍵入指令 print pch(gdp96),pchya(gdp96),diff(gdp96),diffya(gdp96);

說明:

(2):可產生一個新的 series 叫 lgdp,其數值即是對 gdp 取 log。

(3):此指令對 cp96 與 gdp96 做 loglinear 迴歸。亦即對 cp96 與 gdp96 取 log 後再進行迴歸。請參考範例(三)第(11)式之說明。

(4):此指令印出 gdp96「與上期比之成長率 (pch)」,「與去年同期比之成長率 (pchya)」,「與上期比之數值差額 (diff)」,「與去年同期比之數值差額 (diffya)」。pchya 代表「Percentage Change from a Year Ago」。

 <回頁首>

 

6.9  「說明」(Document)

在 AREMOS/Windows 資料庫系統堙A國內自己所建立的那些資料庫,每一筆資料均有三至五行的「說明」以供查詢。這些說明通常包括該資料之全名、單位、來源等等。要看這些說明,在 open banks 後,以 write 指令即可:

    鍵入指令 set freq q;
           鍵入指令 open niaq;
           鍵入指令 write gdp96,cp96;
           或用滑鼠操作:

(1)Options → Set → Frequency (Quarterly) → OK

(2)Data → Bank → Open → Files → 磁碟機(看看資料庫放在那一槽) → niaq.bnk → 確定 → Open → Cancel 跳回主畫面

(3)Report → Write → 鍵入指令 gdp96,cp96 (在 Name 處) → OK

※註明:再 Write 一筆 Object (如 gdp96 或 cp96)之前,必須先 set 這筆的頻率即 Open bank。或是在 Open bank 後,直接 Write gdp96.q,cp96.q 即可。

 <回頁首>

 

6.10  如何建立 Databank

讀者亦可建立自己的 databank 放在 C 碟堙C首先:

    鍵入指令 open<pri>bankname;

此指令可指定開啟某一資料庫(新的或已存在的皆可)為 primary bank。接著以 6.7 節所介紹之方法「產生」新的 series。所產生的 objects 都會自動存放在此 primary bank。結束後以「stop;」離開 AREMOS。此 primary bank 便會儲存在 C 碟下。

 <回頁首>

 

6.11  indexdelete clear

在第三章已介紹 index 指令可用來查詢 primary bank 與 C 碟上各個資料庫埵s什麼 objects。Delete 指令則可除掉 primary bank或 C 碟上資料庫堛 objects。

假定目前運作的 work bank 埵 x1,x2,x3,x4,x5 等 5 個 objects,而 C 碟上已建有「mybank.bnk」內含 y1,y2,y3,y4,y5等 5 個 objects。則:

    鍵入指令 delete x2,x3;

可除掉 work bank x2 與 x3 這兩個 objects。而在鍵入「open mybank;」後:

    鍵入指令 delete mybank:y3,mybank:y5 ;

可除掉 mybank y3 與 y5 這兩個 objects。

此外 index 指令堨峈 wildcard characters「*」與「?」也是用在 delete 指令。例如:「delete g*;」,「delete h??」,等等。

若你要 delete list 的東西(如 n1),必須鍵入指令 del list n1;

任何時候,如果:

   鍵入指令 clear;

可除掉 primary bank 堜狾s objects,而有一個乾淨的 work bank 重新開始。如果:

    鍵入指令 clear mybank;

則會把 C 碟尚 mybank.bnk 堜狾s objects 除掉,同時 mybank.bnk 也從 C 碟被 erase 掉。

index 與 delete 當然亦可透過滑鼠執行。

(1)Data → Bank → Index

(2)Data → Bank → Delete

 <回頁首>

 

6.12  rename…. as….

rename 指令可把現有 series 的 name 改成令個 name。例如:

    鍵入指令 rename a,b,c  as  x,y,z;

可把 primary bank 堶 a,b,c  3 個 series 改名為 x,y,z。又:

    鍵入指令 rename mybank:a,mybank:b,mybank:c  as  x,y,z;

可把 mybank 婺禤おw a,b,c  3 個 series 改名為 x,y,z。又:

    鍵入指令 rename list a  as  x;

可把 primary bank 堶悸 list a 改名為 x。又:

    鍵入指令 rename procedure a  as  x;

可把 primary bank 堶悸 procedure a 改名為 x。

 <回頁首>

 

6.13  小數點與 report columns 的設定

我們 print 資料時,小數點以下幾位數會依當時 globally 所設定的 report decimals 而印出幾位。如要改變設定位數,可 globally改變,例如:

(1)Options → Set → Report(Decimal Places:2) → OK

(2)鍵入指令 print jqind;

或 locally 改變,例如:

(3)鍵入指令 print<dec 2> jqind;

此外,print 資料時,每筆資料所佔 report columns 數字,電腦一開始 (default) 設定為 10 位。我們亦可 globally 改變其設定,例如:

(4)Option → Set → Report (Filed Width:8) → OK

(5)鍵入只領 print gdp96;

或 locally 改變,例如:

(6)鍵入指令 print<col 8>gdp96;

一般說來,把 report columns (Field Width) 設定改少些,可使我們一頁堮e納更多筆資料,但如果資料本身位數超過 report columns 數字的,會改用「E符號」表示,看你來就很不方便。讀者可自行斟酌。

任何時候,鍵入指令 q  report; 可查看當時有關 report 方面 decimals, columns 及其他方面的設定。q 是 query 之簡稱,請參考下節。

<回頁首>

 

6.14  help query

(1) 在 AREMOS/Windows 堛蔣筍 Help 即可找尋你要的詳細說明。

(2) query (簡打為 q )可查詢某個 option 的 setting,或某個 command 之相關 options 的 setting,例如:

鍵入指令 q  freq;

可顯示目前 freq 的設定。而:

    鍵入指令 q  per;

可顯示目前 per 的設定。如果:

    鍵入指令 q  print;

則顯示有關 print 指令之 options 的設定。又上節已提過,如果:

    鍵入指令 q  report;

可顯示所有有關 report options的設定。

 <回頁首>

 

6.15  Option 設定的儲存:store restore

一進入 AREMOS/Windows 堙A電腦自動對每一個 options 有預先的設定,此種設定稱為 default setting。例如 freq 的設定是 a,per 的設定是 80  85 等等。在您操作過程中,如果改了 option 設定,而希望把這些設定儲存起來,可用 store 與 restore 指令。例如,在任何時候:

    鍵入指令 store my;

則在<WAREM32>子目錄下會出現一個 file,叫 my.opt。my 是隨便取的 filename。my.opt 會儲存當時的 option 設定。將來如果下:

    鍵入指令 restore my;

則會把 my 所儲存的 option 設定變成是目前的 option 設定。當然,你可用滑鼠操作:

(1)Option → Store → 鍵入指令 my (在 Store In File Name) → OK

(2)Option → Restore → 鍵入指令 my (在 File Name) → OK

 <回頁首>

 

6.16  AREMOS/Windows 媔i行編輯

在 AREMOS/Windows 埵部uWAEDIT」的編輯程式,可直接對 C 碟的 file 做編輯,操作方法是用滑鼠點出:

    Tools → AREMOS Editor → File → Open → 磁碟機(看看你的 file 放在那一槽) → 檔案類型(選 All files ) → abc.prn → 確定

如此在 WAEDIT 編輯系統下,可修修改改您要的東西,然後可存檔,也可印出 (print),(如圖 6.16.1)。

 

6.16.1】

   <回頁首>

 

6.17  「遞延」(lag) 與「領先」(lead)

AREMOS/Windows 以 [ ] 符號附於時間序列後面來代表「遞延」或「領先」。例如:gdp[-1] 代表 gdp 的遞延 (lag)一期,gdp[-2] 代表遞延二期,以此類堆。而 gdp[+1] 代表領先 (lead)一期,gdp[+2] 代表領先二期,等等。

<回頁首>

<入門講義>