長江證劵分析員做過題為「交易資料反映的資訊及**性」研究,見:
*讀取主力合約資料;
data test;
set quote20120731;
format date yymmdd10.;
time1=input(time,time8.);
format time1 time8.; *10:00:00時間格式;
hour=hour(time1); *提取小時;
minute=minute(time1); *提取分鐘;
second=second(time1); *剝離秒;
dif_price=dif(price); *計算每筆資料的**變數量;
dif_amount=dif(amount); *計算單筆交易的成交量變化;
drop time;
run;
*剔除集合競價資料,9:30以前及下午開盤的集合競價等資料;
data test1;
set test;
if hour=9 & minute<=30 then delete;
if hour=15 & minute>15 then delete;
run;
*計算單位分筆,**變動引起的成交量變動量和**變化:dif_price,dif_amount;
proc sql;
create table test2 as
select distinct
futurecode,date,time1,price,amount,hour,minute,second,
sum(dif_price) as dif_price,
sum(dif_amount) as dif_amount
from test1
group by hour, minute ,second ;
quit;
*定義**走勢,flag=1正向走勢;flag=-1負向走勢;
data test3;
set test2;
if dif_price < 0 then flag=-1;
else if dif_price >0 then flag=1;
else flag=0;
run;
*計算兩個方向上的**累計和交易量累計;
proc sql;
create table test4 as
select futurecode,date,time1,price,amount,hour,minute,second,flag,
sum(dif_price) as ps,
sum(dif_amount) as vol
from test3
group by hour,minute,second,flag;
quit;
*對正向和負向走勢的**和交易量進行重新命名,為後面建模鋪墊。data步是賦值過程,proc sql語句統計
一分鐘內的彙總情況。;
data test5;
set test4;
if flag=1 then do;
psp=ps;volp=vol;
end;
else if flag=-1 then do;
psn=ps;voln=vol;
end;
drop ps vol;
run;
proc sql;
create table test6 as
select futurecode,date,time1,price,amount,hour,minute,second,flag,
sum(psp) as psp,
sum(volp) as volp,
sum(psn) as psn,
sum(voln) as voln
from test5
group by hour,minute;
quit;
*提取一分鐘的**,進行收益率計算;
proc sort data= test6;
by time1;
run;
data test7;
set test6;
by hour minute;
if last.minute then output;
run;
*引數計算:各引數定義見:
data test8;
set test7;
r=dif(log(price));
psn=abs(psn);
vol=volp+voln;
vol1=log(vol);
vol2=log(lag(vol));
vol3=log(lag2(vol));
vol4=dif(vol1);
vol5=dif(vol2);
vol6=dif(vol3);
vdir=(volp-voln)/vol;
vdir1=lag(vdir);
vdir2=lag2(vdir);
vdense=vol/(psp+psn);
vdense1=lag(vdense);
vdense2=lag2(vdense);
ratio=(volp/psp)/(voln/psn) ;
ratio1=lag(ratio);
ratio2=lag2(ratio);
run;
*建立回歸模型;
ods rtf file="e:\result.rtf";
ods graphics on;
proc reg data=test8 ;
model r = vol1-vol3;
model r = vol4-vol6;
model r = vdir vdir1 vdir2;
model r = vdense vdense1 vdense2;
model r = ratio ratio1 ratio2;
run;
ods graphics off;
ods rtf close;
SAS學習筆記 SAS資料步中常用SAS語句
1.資料獲取語句 例1 用input語句讀取資料流中的資料 data sastjfx2 1 input name weight height cards wang 42 160 zhang 46 170 run proc print run input語句記錄描述輸入資料記錄值的形式,給相應的變數賦...
SAS 邏輯庫和SAS資料集
目錄sas資料集名稱 sas資料集有臨時和永久兩種存在方式。所有的sas資料集都有乙個兩級名稱,兩個層級之間用句點.分隔。注意,兩級名稱出現在data語句和data 選項中 邏輯庫引用名 資料集名稱都遵循sas命名的標準規則 以字母或下劃線開始,且只包含數字 字母或下劃線。此外,邏輯庫引用名長度不超...
貴陽大資料交易所探索資料時代「新金融」
作為中國第一家大資料交易所,貴陽大資料交易所不斷與金融 等行業合作,積極探索大資料時代下的 新金融 這幾年的避暑季,從成都 重慶到貴州旅遊的人佔多大比例?這些遊客在哪些時間段最多?貴陽大資料交易所執行總裁王叄壽說,這些資料資訊對旅遊及相關金融機構非常重要,資料交易能促進資料流通,而資料流通對塑造 新...