[問題] SAS每天算報酬的問題

看板Statistics作者 (SAS.VaR修行中...)時間18年前 (2007/11/23 03:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
今天自己寫了這樣的程式 DATA sac; INFILE 'D:\SAS.txt'; INPUT code $ price high low date ; if _n_=1 then delete; code = upcase(code); logprice = LOG10(price); return=DIF(logprice); volatility=return*return; PROC PRINT DATA =sac; RUN; 以上這樣處理後 會產生 code price high low date return vol EWW 10 20 8 20050103 ln(10) {ln(10)}^2 EWW 12 20 7 20050103 ln(12) {ln(12)}^2 EWW 11 22 5 20050104 ln(11) {ln(11)}^2 *SORT THE DATA; PROC SORT DATA = sac ; BY date; RUN; PROC PRINT DATA = sac; BY date; SUM volatility; VAR code volatility; proc means data=sac noprint; var volatility ; by date; output out=sacc sum=sum ; run; proc print data=sacc; run; 最後會變成 date volatility 20050103 當天所有波動vol相加{78筆} 20050104 當天所有波動vol相加{79筆} 問題在於 每天如果是五分鐘的intraday資料 一天也只有79筆也就是說只能有78份return及vol{因為第一筆沒得減前一筆} 20050103 的確是如此 但是問題在於20050104卻不是如此 因為第一筆可以減20050103最後一筆資料所以產生了79個return及vol 請問這樣的問題可以用甚麼方式解決呢 -- ▂▂▂ ◢◢◢ ▁▁▂ ▼︶▼ . ███ _ _ .. ∥∥∥ ★╳ . . ║︿║ ︿ │▁│ XX . 嗆辣紅椒 克里姆王 性感手槍 鋼鍊手指 白色相簿 白金之星 轟炸空門 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.82.44
文章代碼(AID): #17HTtQ6D (Statistics)
文章代碼(AID): #17HTtQ6D (Statistics)