Excel数据集sjk1-4a、sjk1-4b和sjk1-4c中分别包括有青岛啤酒(股票代码600600)、方正科技(股票代码600601)和强生控股(股票代码600662)股票的每日交易数据。试利用这三个外部数据集创建一个新的SAS数据集sjk1_4,该数据集中包含有七个变量:交易日期date、青岛啤酒的每日收盘价c600600、青岛啤酒的每日对数收益率r600600、方正科技的每日收盘价c600601、方正科技的每日对数收益率r600601、强生控股的每日收盘价c600662和方正科技的每日对数收益率r600662。要求所创建的sjk1_4中只包括这些变量在2005年度的对应观测数据,试给出创建该数据集的相关SAS程序。
时间: 2023-03-24 21:03:05 浏览: 179
以下是创建sjk1_4数据集的SAS程序:
```
/* 导入外部数据集 */
proc import datafile="sjk1-4a.xlsx" out=sjk1_4a dbms=xlsx replace;
sheet="Sheet1";
getnames=yes;
run;
proc import datafile="sjk1-4b.xlsx" out=sjk1_4b dbms=xlsx replace;
sheet="Sheet1";
getnames=yes;
run;
proc import datafile="sjk1-4c.xlsx" out=sjk1_4c dbms=xlsx replace;
sheet="Sheet1";
getnames=yes;
run;
/* 合并数据集 */
data sjk1_4;
merge sjk1_4a(in=a) sjk1_4b(in=b) sjk1_4c(in=c);
by date;
if a and b and c and year(date)=2005;
/* 计算对数收益率 */
r600600=log(c600600/lag(c600600));
r600601=log(c600601/lag(c600601));
r600662=log(c600662/lag(c600662));
/* 保留所需变量 */
keep date c600600 r600600 c600601 r600601 c600662 r600662;
run;
```
以上程序首先使用proc import导入外部数据集,然后使用merge合并三个数据集,按日期进行匹配,并且只保留2005年的数据。最后计算对数收益率并保留所需变量,生成sjk1_4数据集。
阅读全文