SAS数据处理综合练习题

SAS金融数据处理综合练习题
1.创建包含10000变量X1-X10000),100观测值的SAS数据集。分别用DATA步,DATA步数组语句和IML过程实现。
2.多种方法创建包含变量X10000个观测值的SAS数据集。
3.数据集A中日期变量DATE包含有缺失值,创建包含日期变量DATE的数据集B,并填充开始到结束日之间的所有日期值。
4.创建包含日期变量DATESAS数据集,日期值从190011日到200011日。
5.利用随机数函数RANUNI对某数据集设计返回抽样方案。
6.利用随机数函数RANUNI对某数据集设计不返回抽样方案。
7.计算数据集A中变量X谈心疗法的累乘。
8.如何改变一个SAS数据集的变量顺序?
9.数据集AB包含同样两变量DATEPRICE,以DATE为标识变量合并数据集ABC。合并时应该注意什么?
10.给下段程序的主要语句加注释。STOP语句能否删除?为什么?
data a;
do obsnum=1 to last by 20;
set ResDat.stk000001 point=obsnum  nobs=last;
output;
end;
stop;
run;
11.假设数据集A中的变量logdate为如下形式的字符格式:
1998-12-2   
1999-8-6   
1999-8-10   
将其转换为日期格式变量date
12.运行SAS程序过程中,SAS系统创建的自动变量是否包含在创建的数据集?一般情况下,怎样查看系统自动变量的值?
13.SAS系统显示表达式、函数、数据集、数组或矩阵的具体值时,常需要哪些语句和过程?
14.写出下面各段程序创建数据集的所有观测值,并指出PUT语句分别在LOG窗口输出什么结果?
data a1;
do n=1 to 5;
output;
end;
put n=;
run;
data a1;
do n=1 to 5;
output;
put n=;
end;
put n=;
run;
data a1;
do n=1 to 5;
put n=;
end;
put n=;
run;
data a1;
do n=1 to 5;
end;
put n=;
run;
data a2;
n=1;
do until(n>=5);
n+1;
output;
end;
put n=;
run;
data a3;
n=1;
do while(n<5);
n+1;
output;
end;
put n=;
run;
data a4;
n=7;
do until(n>=5);
n+1;
output;
end;
put n=;
run;
data a5;
n=7;
do while(n<5);
n+1;
output;
end;
put n=;
run;
15.数据集A有一个变量n5个观测值1,2,3,4,5。数据A1由下面程序2产生,同样有一个变量n5个观测值1,2,3,4,5。试分析下面两段程序中,PUT语句在Log窗口输出结果的差异,为什么?
程序1
Data a;
Set a;
Put n=;
Run;
程序2:
data a1;
do n=1 to 5;
output;
end;
put n=;
run;
16.试由以下的9种德国马克对美元汇率看跌期权和9种英镑对美元汇率的看跌期权产生81种组合。
  一年期,DM/USD汇率的9种不同看跌期权的执行价格和成本
执行价格Kdm
成本 Cdm
0.66
0.085855
0.65
0.032191
0.64
0.020795
0.63
0.017001
0.62
0.013711
0.61
0.010851
0.60
0.008388
0.59
0.006291
0.55
0.001401
一年期,BP/USD汇率的9种不同看跌期权的执行价格和成本
执行价格 Kbp
成本 Cbp
1.30
0.137213
1.25
0.082645
1.20
0.045060
1.15
0.028348
1.10
0.016146
1.05
0.007860
1.00
0.003277
0.95
0.001134
0.90
0.000245
创建样本数据集:
data dm;
input Kdm Cdm;
cards;
0.66    0.085855
0.65    0.032191
食品科学0.64    0.020795
0.63    0.017001
0.62    0.013711
0.61    0.010851
0.60    0.008388
0.59    0.006291
0.55    0.001401
;
run;
25th hourdata bp;
input Kbp Cbp;
cards;
1.30    0.137213
1.25    0.082645
1.20    0.045060
1.15    0.028348
1.10    0.016146
1.05    0.007860
1.00    0.003277
0.95    0.001134
0.90    0.000245
;
run;
17.不用SAS函数,用宏%a(n,p)计算二项分布的概率分布和累计概率(k=1,2……,n)。
18.创建组标识变量GROUP,将数据集A中的观测等分为10组,观测值不能整除10时,前余数组各多加一个观测值。
19.现有一个数据流:a 2 b 3 c d 4 6,按下面要求创建SAS数据集。用语句input id $ no;  变量id取值上面数据流里的a,b,c,d,变量no取值2,3,4,6。但是这个数据流存在问题:如有
id没有no,有的no没有id麦胚凝集素。创建SAS数据集,删除只有id没有no或者只有no没有id的观测,即把上面的c6去掉,最后得到三个观测,a 2, b 3d 4
20.现有一个数据流:a23 223 bc4 36 3c5 11d 400 620,按下面要求创建SAS数据集。
用语句input id $ no;  变量id取值上面数据流里的a23, bc4, 11d ,变量no取值233,36,400。但是这个数据流存在问题:如有的id没有no,有的no没有id。创建SAS数据集,删除只有id没有no或者只有no没有id的观测,即把上面的3c5620去掉,最后得到三个观测:
a23  223
bc4  36
11d  400
21.SAS软件作三维Hat图,xy轴取值区间为[-5,5]z = sin(sqrt(y*y + x*x))
22.创建马鞍图形,其数学公式为pq的值不同会导致图形的变化,生成p=20q=1的马鞍图形。
提示:产生x, yz的数据后,用下面的过程实现作图。
proc g3d;
    plot y*x=z;
run;
23.数据集Calendar只有日期变量,test包含股票代码、日期与收盘价三个变量。合并两个数据集,用Calendar中的日期数据替代玻璃纤维膨体纱test数据集中每只股票的日期数据。
创建样本数据集:
data calendar;
input Date yymmdd10.;
format Date yymmdd10.;
cards;
2003-1-20
2003-1-21
2003-1-22
2003-1-23
2003-1-24
2003-1-27
2003-1-28
2003-1-29
2003-1-30
2003-1-31
2003-2-3
2003-2-4
2003-2-5
2003-2-6
2003-2-7
2003-2-8
;
run;
data test;
infile datalines missover ;
informat Stkcd $6. Date yymmdd10. Clpr 8.2;
input Stkcd $ Date Clpr;
format Stkcd $6. Date yymmdd10. Clpr 8.2;
cards;
600000    2003-1-20  9.94
600000    2003-1-22  9.66
600000    2003-1-24  9.88
600000    2003-1-27  10.07
600000    2003-1-28  10.17
600000    2003-1-29  10.31
600000    2003-2-4  10.31
600000    2003-2-5  10.13
600001    2003-1-20  8.13
600001    2003-1-21  8.14
600001    2003-1-22  8.17
600001    2003-1-23  8.40
600001    2003-1-24  8.65
600001    2003-1-31    8.93
600001    2003-2-4    9.02
600001    2003-2-5    8.63
600002    2003-1-31    2.25
600002    2003-2-3    2.26
600002    2003-2-4    2.35
600002    2003-2-6    2.55
600002    2003-2-8    2.12
;
run;
24.当股票的分配事件分两次完成,且第一次分配在节假日或该股票的停牌日,第二次分配在下一个交易日时,一般的数据库会有如下表所示的观测值存贮方式。写程序将停牌日(即没有收盘价的那个观测值)中的分配事件合到下一个观测中。
 
股票
代码
日期
收盘价
送股
比例
转增
比例
配股
比例
配股价
增发
比例
增发价格
现金
红利
.
.
.
.
.
.
.
xxxxxx
xxxxxx
.
0.2
0.1
0
0 
0 
0 
0 
xxxxxx
xxxxxx
0 
0
0.5
5.20
0
0 
0.50
xxxxxx
xxxxxx
. 
. 
.
.
. 
. 
. 
xxxxxx
xxxxxx
. 
. 
. 
. 
.
.
. 
.
.
.
.
.
.iis
.
.
.
.
.
.
.
.
注:表示有数据值,.表示缺失值。
编程变量名参考:
股票代码Stkcd
日期Date
收盘价Clpr
送股比例Stkdrate
转增比例Capissurate
配股比例Rigoffrate
配股价Rigoffpr
增发比例Snirate
增发价格Snipr
现金红利Dividend
创建样本数据集:
data a;
input Stkcd Date yymmdd8. Clpr Stkdrate Capissurate Rigoffrate Rigoffpr Snirate Snipr Dividend;

本文发布于:2024-09-23 08:15:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/230741.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   创建   变量   观测   包含   语句   价格   期权
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议