|
第六章 常用指令之說明
<回「入門講義」>
前幾章從「實用」觀點來介紹如何使用 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部分組成: 此時,有可能不同 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; (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 index,delete與 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] 代表領先二期,等等。 <回頁首> <入門講義>
|