sas基础与金融计算4

上传人:tian****1990 文档编号:74574154 上传时间:2019-01-28 格式:PPT 页数:29 大小:574.81KB
返回 下载 相关 举报
sas基础与金融计算4_第1页
第1页 / 共29页
sas基础与金融计算4_第2页
第2页 / 共29页
sas基础与金融计算4_第3页
第3页 / 共29页
sas基础与金融计算4_第4页
第4页 / 共29页
sas基础与金融计算4_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《sas基础与金融计算4》由会员分享,可在线阅读,更多相关《sas基础与金融计算4(29页珍藏版)》请在金锄头文库上搜索。

1、1,SAS基础与金融计算,游家兴 厦门大学经济学院计统系,2,SAS运算符介绍,定义:SAS运算符是一些符号 算术运算符 比较运算符 逻辑运算符 SAS使用两种主要类型的运算符: 前缀算符 中缀算符,3,前缀运算符用于变量、常数、函数或者用括号括起来的表达式。 前缀算符有:加号,减号,NOT和符号(等价于not)。 例如: +Y -25 -COS(A) -(x1+x2-100) 中缀运算符作用在算符两边的运算对象上,例如68 。 中缀算符一般分为四类:算术算符、比较算符、逻辑算符和其它算符(最大、最小和连接)。,4,1.算术算符,算术算符表示执行一种算术运算,包括: * 乘方 * 相乘 / 相

2、除 + 相加 - 相减 如果算术算符有一个运算对象是缺失值,运算结果也是缺失值。 例如,y=x3 + . ; 则y的值为缺失值(.),5,2.比较算符,比较算符确定两个变量之间的一种关系,如果这种关系成立,则输出结果为1(真);如果它不成立,则输出结果为0(假)。 比较算符包括: =(EQ) 等于 =(NE) 不等于 (GT) 大于 =(GE) 大于等于 不大于 不小于 IN 等于列表中的一个,6,考虑表达式:A=B (1)数值比较 如果A的值为4,B的值为3,则表达式A=B的值为0(假); 若A的值为5,B的值为9,则表达式A=B的值为1(真); 若A与B的值均为5,则表达式成立,且其值为1

3、。,7,(2)字符的比较 比较的对象可以是数值也可以是字符,但比较的结果总是数值1(真)或0(假)。字符运算对象在字符之间从左到右被比较。字符次序用机器排列次序确定(即按ASCII码排列序列)。 例如,表达式GRAYADAMS是真的,它与表达式ANDRE ,CANDRE,CLYDE一样,它们的值都是1。,8,比较运算符经常出现在IF语句中 例如:If x=y); 因为表达式(x=y)首先被计算,它们的结果(0或1)替代括号中的表达式,所以该语句与上面语句是等价的。,9,3.逻辑算符,逻辑算符也称为布尔(Boolean)算符,在表达式里通常用来连接一系列比较式。逻辑算符包括: & (AND) 与

4、; | (OR) 或; (NOT) 非 例如: age=25 AND sex= 男 age=25 & sex= 男 age=25 OR sex= 男,10,4 .运算次序,关于运算次序,SAS有如下的三个准则: 准则1:在括号里的表达式先计算; 准则2:较高优先级的运算先被执行; 准则3:对于相同优先级的算符,左边的运算先被执行。,11,各运算符的优先等级(排在前面的优先): 1级: *,(not) 2级 :*,/ 3级 :+,- 4级 :,=, 5级 :and 6级 :| (or),12,准则3的例外情况: 1) 对第一级,右边的先做;(not 也是,注意乘方) 2*3*2 2*(3*2)

5、2) 当两个比较算符围着一个量时,则等价于一个and运算。例如: 12 12age and age20,13,应用运算符进行数据操作,1、生成新的变量 Data new; set old; x1=x*2; x2=log(x)-2; x3=x+y; if year=2000 then dum=0; else dum=1; Run;,14,2、对数据进行筛选 基于研究设计的需要,本文剔除了以下公司: (1)剔除了研究变量数据缺失的公司; (2)由于金融行业的特殊性,本文将银行等金融类上市公司排除在样本之外; (3)此外,为了保证研究结论不受极端值的影响,本文剔除了所用到的研究变量在1%和99%分位

6、数之外的观测值。,15,(1)剔除数据缺失的样本 Data new; set old; if x=. then delete; Run;,16,(2)剔除某些特定的样本(如金融行业) Data new; set old; if code=000562 or code=000001 or code=000563 or code = 600015 or code=600016 or code=600030 or code=600036 or code=600816 or code=600000 or code=601998 or code=601328 or code=601166 or code

7、=601318 or code=601398 or code=601628 then delete; Run;,17,(3)剔除某些异常值 Data new; set old; if x=(GE) 某个数值 then delete; Run; 或:Data new; set old; if x ; Run;,18,SAS数据处理小技巧,19,(1)put和input语句,Put语句:对数值型变量规定输出格式 格式: Put(variable,format) 将数值型变量转化成字符型变量,Data test2; set test1; x2=put(x1, 8.); Run;,20,Input语句

8、:对字符型变量定义输出格式 格式: Input(variable,format) 将字符型变量转化成数值型变量,Data test2; set test1; x2=input(x1, 8.); Run;,21,(2)Substr语句,Substr字符截取函数 格式:Substr(s,p,n) 从字符串s中的第p个字符开始抽取n个字符的子串。,Data test2; set test1; x2=substr(x1,2,4); Run;,22,(3)output语句,通过output语句同时生成多个子数据 格式:,Data 数据集1 数据集2 ; set 原数据集; if 条件 then outp

9、ut 数据集1 ; if 条件 then output 数据集2 ; Run;,23,Data test1 test2; set total; if eps=0 then output test2; Run;,24,(4)剔除变量或保存变量,drop和keep语句:,Data new; set old; drop x1 x2 x3; Run;,Data new; set old; keep x1 x2 x3; Run;,Data new (drop or keep=x1 x2 x3); set old; Run;,25,(5)更改变量名,Rename语句,Data new; set old;

10、rename x1=y1 x2=y2 x3=y3 ; Run;,26,(6)Sort语句(排序语句)详解,较为有用的可选项有: (1)noduplicates/noduprec/nodup,在排序之后,检查和删除相邻的重复观测。注意:此选项不同于nodupkey,它比较的是整个观测,而不仅仅是by的关键值。 (2)nodupkey,检查和删除by的关键值重复的观测。,Proc sort data= out= 可选项; by 变量1 ; Run;,27,(7)计算秩序或分组,可选项有: Groups=n,要求分组得分,其中n是组数。得分为0到n-1的整数。n=100、10、4,表示分别产生百分数

11、秩、十分位数秩和四分位数秩。,Proc rank data= out= 可选项; var 变量1 变量2; ranks 新变量1 新变量2; Run;,28,本节课上机操作(1),对上节课生成的最终数据集total进行如下操作: (1)剔除金融业上市公司; (2)剔除每股收益为负的上市公司; (3)由于数据集中年涨跌幅采用百分比表示,建立一个新的变量,采用小数表示。 (4)建立一个新的变量,表示除第一大股东外其它股东所持有的股份比例。,29,本节课上机作业(2),公共信箱下载数据集test1和test2,运用SAS将test1和test2纵向拼成新的数据test。 根据股票收益率大小将test分成四个组,并形成四个子数据集:tmp1,tmp2,tmp3,tmp4。 在数据集test中,第一大股东持股比例在50%以上且每股收益超过1元的公司有多少家?,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号