作者cicatrix (SAS.VaR修行中...)
看板YZUfinGrad95
標題[心得] 沒有甚麼重要的 但是無聊寫寫心得
時間Fri Nov 23 04:31:12 2007
*SAS不會去read
*記錄每個語法的功用解讀
;每行結尾要打上這個符號
11/20-11/23想出的程式
DM' LOG ; CLEAR ; OUTPUT ; CLEAR' ; →可以把每次output的結果清除乾淨
*we name a newfile; 只留下最新的output結果
DATA EWC; → 命名一個檔案 叫做EWC{你想取QQ就改成DATA QQ}
*read file from your computer;
INFILE 'G:\R_EWC.csv';
INPUT symbol $ 3. @5 date 8. @14 time $ 5. @20 price 6.3 ; →三種讀取方法之一
*create some new variables; 請參考財金計量
symbol = upcase(symbol);
logprice = LOG10(price);
return=DIF(logprice);
volatility=return*return;
↑
以上這些都是自己設定函數去算你要的資訊
這裡做完應該是由
symbol date time price
EWC 20050103 9:20 10
EWC 20050103 10:00 20
EWC 20050104 11:00 10
變成
symbol date time price logprice return volatility
EWC 20050103 9:20 10 xxx xxx xxx
EWC 20050103 10:00 20 xxx xxx xxx
EWC 20050104 11:00 10 xxx xxx xxx
xxx→的結果你看上面的變數函數應該知道
*print the above information; →要印出來才可以看到上面那個格式
PROC PRINT DATA =EWC;
RUN;
*SORT THE DATA;
PROC SORT DATA = EWC ; →我想sort EWC這個檔案
BY date; →以date這個條件分類sort
RUN; →執行
PROC PRINT DATA = EWC →把結果印出來
BY date; →同上面BY date
SUM volatility; →加總volatiltiy
VAR symbol volatility; →我只想印出"symbol""volatility"兩個變數的資訊
這樣會變怎麼樣?
這樣...
symbol date time price logprice return volatility
EWC 20050103 9:20 10 xxx xxx xxx
EWC 20050103 10:00 20 xxx xxx xxx
EWC 20050104 11:00 10 xxx xxx xxx
轉成這樣
----------date 20050103------------
symbol volatility
EWC XXX
EWC XXX
--------
sum ccc
---------date 20050104-------------
symbol volatility
EWC XXX
-----------------------------------
PROC MEANS DATA=EWC noprint;
VAR volatility ;
BY date;
output OUT=REWC sum=RV ;
RUN;
PROC PRINT DATA=REWC;
RUN;
最後變成
date RV
20050103 ccc
20050104 xxx
--
▂▂▂ ▲ ◢ ◥ ◢◢◢ ▂▁▁▂
◥▼︶▼◤ ╳囧╳ . ▕●▏ ◢ @ ◣ ███ │
★ ╲╱ ★ ╳_ _╳ .. ∥∥∥∥ ◥ ▆ ◤ ▁●▁ ●│
●
◥◤ ★╳ 皿 ╳ . . ║︿║ ◤| | |︿| │▁│
★ ■ XX . ▲  ̄ ◥ ■ ■
嗆辣紅椒 克里姆王 性感手槍 鋼鍊手指 白色相簿 白金之星 轟炸空門
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.82.44
1F:→ cicatrix:大家一直都想留點程式的資源下來 那總要有人寫吧 11/23 04:31
2F:→ cicatrix:在下不才 提供一點心力了.... 11/23 04:31
※ 編輯: cicatrix 來自: 61.224.82.44 (11/23 04:37)
3F:推 msgh0133:推...等我跑完我也把我的SAS貼上來好了...跑得完的話^^" 11/23 11:53