sas探索交易資料資訊

2021-06-08 04:24:10 字數 3077 閱讀 3796

長江證劵分析員做過題為「交易資料反映的資訊及**性」研究,見:

*讀取主力合約資料;

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命名的標準規則 以字母或下劃線開始,且只包含數字 字母或下劃線。此外,邏輯庫引用名長度不超...

貴陽大資料交易所探索資料時代「新金融」

作為中國第一家大資料交易所,貴陽大資料交易所不斷與金融 等行業合作,積極探索大資料時代下的 新金融 這幾年的避暑季,從成都 重慶到貴州旅遊的人佔多大比例?這些遊客在哪些時間段最多?貴陽大資料交易所執行總裁王叄壽說,這些資料資訊對旅遊及相關金融機構非常重要,資料交易能促進資料流通,而資料流通對塑造 新...