SAS教程(金融)

合集下载

SAS基础与金融计算7.pptx

SAS基础与金融计算7.pptx
选项列表中比较重要的有: (1)type=统计量关键字,表示图形对变量
(sumvar所指定的变量)的哪一种统计量进行 描述,比如频数(freq)、均数(mean)、总计 (sum)、频数百分比(percentage)等;
16
(2)subgroup=变量名(分组变量),指定要进 行分组(各组内再分组)的变量;
12
Chart(或gchart)与plot(或gplot)
chart和gchart过程可以绘制出的图形主要有条形 图(包括横条和竖条)、圆图、环形图和星形图 等;
plot和gplot过程通常用一个记录中的两个变量值 表示点的坐标来绘制图形,如散点图和线图等。
13
gchart过程的一般格式
Proc gchart 选项列表; 图形关键词 变量名称/选项列表;
绘制的图形类型 方块图
水平的条形图 水平的三维条形图
竖立的条形图Байду номын сангаас竖立的三维条形图
图形关键字 pie pie3d
donut star
绘制的图形类型 圆图
三维圆图 环形图 星形图
15
图形关键字后的变量名用以指定进行图形描述时 的分组变量,可以是数值型的(此时以各组的组 中值为分组的标志),也可以是字符型的。
11
chart(或plot)与gchart(或gplot)
chart过程和plot过程绘制的图形类似于我们用文 本字符堆积起来的图形,只能概括地反映出资料 分布的大体形状,实际上这两个过程绘制的图形 并不能称之为图形,因为它没有涉及一般意义上 图形的任何一种元素(如颜色、分辨率等)。
而gchart过程和gplot过程给出的是真正意义上的 图形,可以用很多的语句和选项来控制图形的各 方面的性质和特征。

[经济学]SAS第三章

[经济学]SAS第三章

第3章SAS编程基础3.1 SAS语法基础3.1.1 SAS常数SAS常数用来表示固定的值,它或者是一个数字,或者是用引号引起来的字符串,或者是其他特殊记号。

SAS常用以下三类常数:一、数值常数一个数值常数就是出现在SAS语句里的数字。

其书写和用法与其他高级语言的使用基本相同,它可以包括小数点,负号及E记号等,如:0.1 ,1.23, -5, 1.2E3, 0.5E-5数值常数缺失时用小数点“.”表示。

二、字符常数字符常数是由单引号括起来的1到200个字符组成的。

如语句:if name=’tom’ then do;中的’tom’是一个字符常数。

如果字符常数含有引号,此时应用双引号括起来,如name=”’tom’ s”。

字符常数缺失时用空格加引号(’’)表示。

三、日期、时间和日期时间常数为了把日期、时间或日期时间值表示为常数,在输入格式或输出格式中使用相同记法:TIME.,DATE.和DATETIME.。

格式值用单引号括起来,并跟随一个D(日期),T (时间)或DT(日期时间)。

如:’1JAN1998’D, ’01JAN98’D, ’9:25’T ,’18JAN98:9:25:20’DT。

3.1.2 SAS操作符SAS操作符是一些符号,用它们可以作比较、算术运算或逻辑运算,它有前缀和中缀之分。

前缀操作符用在数值、变量或函数的前面,主要有+、-、NOT。

而中缀操作符则是用在两个运算对象的中间,主要有算术操作符、比较操作符、逻辑操作符、其他操作符四类。

一、算术操作符算术操作符表示执行一种算术运算。

常用算术操作符、含义及举例见表3.1。

表3.1 SA S算术操作符、含义及举例二、比较操作符比较操作符用来建立两个量之间的一种关系,并要求SAS确定这种关系是成立或不成立。

如果成立,输出的结果为1;如果不成立,结果为0。

常用比较操作符、含义及举例见表3.2。

表3.2 SA S比较操作符、含义及举例三、逻辑操作符逻辑操作符也称为布尔算符,在表达式里通常用来连接一系列比较式,常与IF语句结合使用。

最新SAS基础与金融计算7课件PPT

最新SAS基础与金融计算7课件PPT
p 前两个和后两个只有一个字母“g”(代表graph )的差别,其实它们之间(只差一个字母g的过程 之间)的统计描述功能是相同的,区别仅在于绘 制出的图形的复杂和美观程度。
10
p 此外,还有一些较为复杂的制图命令,如运用 G3D过程绘制曲面图,运用GCONTOUR过程绘 制曲面对应的等高线图。
p 例如,我们想绘制一个二维正态分布曲面的图形 ,假设(X,Y)服从联合正态分布,其均值都是0 ,方差分别为1和a,相关系数为r。
12
Chart(或gchart)与plot(或gplot )
p chart和gchart过程可以绘制出的图形主要有条 形图(包括横条和竖条)、圆图、环形图和星形 图等;
p plot和gplot过程通常用一个记录中的两个变量值 表示点的坐标来绘制图形,如散点图和线图等。
13
gchart过程的一般格式
p (3)sumvar=变量名(数值变量),指定要进 行统计计算的变量,也就是“type=统计量关键 字”选项中统计量的计算所依据的变量。
17
清甘油三酯的测量结果(mmol/L )
0.91 0.88 1.41 0.96 1.48 1.46 0.91 1.10 1.26 1.69 1.14 1.24 0.98 0.68 0.83 1.77 1.23 1.04 1.08 0.62 1.10 1.33 0.73 0.52 1.01 1.71 1.37 0.51 1.01 1.11 1.09 0.96 1.37 1.20 0.61 1.17 0.71 1.16 0.80 0.73 1.66 0.96 1.37 0.95 1.30 0.76 1.39 0.94 1.25 1.60 1.54 1.34 1.56 1.54 0.85 1.54 0.96 0.82 1.50 1.14 1.70 1.30 1.59 1.07 1.17 1.32 1.44 1.12 0.70 0.68 1.52 0.76 1.60 1.27 1.43 1.27 1.09 0.75 0.64 0.97 1.20 1.34 1.19 1.08 0.66 1.42 1.46 0.59 1.22 1.32 1.67 1.20 1.33 1.31 1.02 0.83 0.90 1.09 0.96 1.10 0.85 1.06 1.67 0.78 0.91 1.18 1.20 1.11 0.89 1.08 1.27 0.85 1.24 1.58 0.71 1.46 1.52 0.91 1.47 1.01 1.20 1.30 1.05 1.44 1.15 1.12 1.15 0.65 1.04 1.24 1.30 1.11 1.65 0.87 0.82 0.76 1.30 0.63 1.14 0.83 1.24 1.48 1.15 0.99 1.49 1.02 1.17 0.99 0.61 1.33 0.79 0.95 1.05 1.65 1.20 1.24 0.84 1.40 0.72 1.06

金融数据库——常用统计分布函数SAS实现

金融数据库——常用统计分布函数SAS实现

常用统计分布函数SAS 实现1. 正态分布密度函数作图分布函数作图产生随机数 其它作图(1)μ=2, σ=0.5, 1, 2。

三图重叠在一个坐标系内。

(2)μ=2, σ=0.5, 1, 2, 5, 10。

四图重叠在一个坐标系内。

(3)μ= 0,1,2 σ=1。

三图重叠在一个坐标系内。

(4)μ=0, σ=1用SAS 软件产生标准正态的概率分布表 其它概率计算注意)(2121)(22)(222σμπσπσμσμ-Φ===--∞---∞-⎰⎰x dt edt ex F t x t x于是,对任意的实数)(,2121x x x x <有,(1)μ=1.5,σ=2,产生正态概率分布表。

(2)μ=1.5,σ=2,求P(X>0)。

(3)μ=1.5,σ=2,求P(-1<X<2)。

(4)用SAS 计算下面概率,并与查表结果对比。

~(1,4)X N ,求( 1.6),(0 1.6),(||4)P X P X P X ≤<≤>分位数定义:设~(0,1)X N ,若Z α满足条件(),01P X Z ααα>=<<,则称Z α为标准正态分布的上α分位点。

(1)计算0.001,0.0025,0.005和0.010的下分位数。

(2) 计算0.001,0.0025,0.005和0.010的上分位数。

本人不同意分为上下分位数,分位数就是分位数,定义为:若Z α满足条件(),01P X Z ααα<=<<则称点Z α为随机变量的α分位数。

单边的, 双边的,注意和以均值为中心,1,2,3倍标准差宽度区间的概率值的区别。

其它可参考例子(1)概率的两种计算公式data ;p1=PROBNORM(1)-PROBNORM(-1); put p1=; p2= PROBNORM(2)-PROBNORM(-2); put p2=; p3= PROBNORM(3)-PROBNORM(-3); put p3=; run ;p1=0.6826894921 p2=0.9544997361 p3=0.9973002039data;p1=2*PROBNORM(1)-1; put p1=;p2=2*PROBNORM(2)-1; put p2=;p3=2*PROBNORM(3)-1; put p3=;run;p1=0.6826894921p2=0.9544997361p3=0.9973002039(2)以均值为中心的区间与概率如,以μ为中心,需要几倍标准差σ距离所构成的区间,其区间内的概率等上面(1)中的概率。

金融数据库——SAS与TXT和XLS接口程序

金融数据库——SAS与TXT和XLS接口程序

SAS与TXT和XLS接口程序1.SAS数据集导出多个TXT文本。

设数据集名称为Thstk.quotation,要求导出三个文本600001.txt,600002.txt,000001.txt,变量名及变量格式如下:变量名标签|Label 类型长度Permno 永久性代码|Permanent No. 字符8Hstkcd 最新股票代码|Stock Code – Header 字符 6Dt 日期|Date 日期10Openpr 开盘价|Open Price 数值8.2Highpr 最高价|High Price 数值8.2Lowpr 最低价|Low Price 数值8.2Closepr 收盘价|Close Price 数值8.2Trdvol 成交量|Trading Volume 数值20.Trdsum 成交金额|Trading Sums 数值20.2Facpr 股价调整因子|Adjusting Factor for Price 数值10.42. 多个TXT文本文件导入SAS数据集。

设有三个文本600001.txt,600002.txt,000001.txt,变量一致,变量名及变量格式如下:变量名标签|Label 类型长度Permno 永久性代码|Permanent No. 字符8Hstkcd 最新股票代码|Stock Code – Header 字符 6Dt 日期|Date 日期10Openpr 开盘价|Open Price 数值8.2Highpr 最高价|High Price 数值8.2Lowpr 最低价|Low Price 数值8.2Closepr 收盘价|Close Price 数值8.2Trdvol 成交量|Trading Volume 数值20.Trdsum 成交金额|Trading Sums 数值20.2Facpr 股价调整因子|Adjusting Factor for Price 数值10.43. SAS数据集导出多个EXCEL表。

某学院SAS基础与金融计算课件

某学院SAS基础与金融计算课件
信用评分模型的应用 信用评分模型被广泛应用于银行、保险公司等金融机构的贷款决策中,通过对借款人进行信用评分,为 贷款决策提供量化依据,降低贷款风险。
股票价格预测模型
01
股票价格预测模型介绍
股票价格预测模型是通过对历史股票价格数据以及其他相 关因素的分析,预测未来股票价格的走势,为投资决策提 供依据。
风险管理
讲解风险管理的基本原理和方法,如衡量风险、 对冲策略等。
投资组合理论
介绍投资组合的基本原理和方法,如分散投资、最优投资组合等。
金融数据分析
数据来源
介绍常用的金融数据来源,如彭博、万得、 大智慧等。
数据处理
讲解如何对金融数据进行处理,如清洗、整 理、分析等。
数据可视化
介绍如何将金融数据可视化,如图表、报表 等,以便更好地理解和分析数据。
易和记录。
05
案例分析
信用评分模型
信用评分模型介绍
信用评分模型是通过对借款人的信用历史、财务状况、收入稳定性等因素的分析,预测借款人的违约概率,从而为贷 款决策提供依据。
信用评分模型的构建
构建信用评分模型需要收集借款人的相关数据,包括信用历史、资产负债表、收支情况等,然后运用统计分析方法, 如回归分析、决策树等,来建立模型并评估其准确性。
量化金融
使用SAS进行量化金融分析,如期权定 价、期货定价和投资组合的量化评估。
sas在金融行业的未来发展
人工智能与机器学习
结合SAS的人工智能和机器学习技术, 实现更智能化的金融分析和决策。
大数据技术
运用SAS的大数据技术,处理海量的 金融数据,以获得更准确和全面的分
析结果。
区块链技术
探索SAS与区块链技术的结合,为金 融行业带来更安全、透明和高效的交

SAS金融行业解决方案

SAS金融行业解决方案

分析CRM 对运行的数据进行交叉销售,客户分割等分析 项目管理 协同CRM
使用与客户接触中得到结果
Source: META Group
CRM 部件
科技
数据模型,挖掘摸板, 报表摸板
操作步骤 方法论和解决方案
人员
行业知识,文化背景
市场自动体系机构
决策支持
以前的系统
生产操作流程, 知识管理
有效市场营销管理
市场营销管理是管理与客户沟通的过程 市场营销管理软件支持市场营销管理的 全过程
Intrinsic 市场营销管理
计划
Planning
Execution
分析
Analysis Evaluation Response Mgmt Integration
执行
评价
Intrinsic 市场营销管理
Customer information repository
Workflow and knowledge manager
Web systems
Analytical/data mining tools
Forecasting/ planning tools
Content/ collateral manager
NT
销售分析
数据仓库流程图
运行环境 企业数据仓库
NT
数据集市
收益性分析
主机
企业服务器
Unix
客户汇报
SAS 数据仓库装载
Unix

完全更新 Delta文件 增量汇总 从数据库下载
NT
销售分析
SAS数据仓库管理器
运行环境 公司数据仓库
NT
数据集市
主机

SAS金融计算教学中自定义函数的实验设计

SAS金融计算教学中自定义函数的实验设计

SAS金融计算教学中自定义函数的实验设计作者:桂文明来源:《科技创新导报》 2014年第34期桂文明1 2(1.金陵科技学院江苏南京 211169; 2.南京财经大学江苏南京 210046)摘要:SAS在金融计算领域有着旺盛的生命力,SAS金融计算课程是金融类专业中实践性较强的课程之一。

在该课程的教学过程中,如何设计好实验环节是教学成功与否的关键所在。

该文针对难度较高但适用性广的SAS自定义函数部分,结合债券久期理论,采用我国债券市场的真实数据,设计了一个课程实验,具有内容新颖、综合性强的特点,可使学生在动手过程中快速掌握相关知识。

课程内容分为SAS自定义函数讲授、久期基本概念回顾、实验内容、实验步骤提示和实验答案讲解五个环节。

关键词:金融计算 SAS编程债券久期自定义函数中图分类号:G420 文献标识码:A 文章编号:1674-098X(2014)12(a)-0152-02SAS软件在国际上已被誉为统计分析的标准软件,在各个领域得到广泛应用,它在金融计算领域也具有强大的生命力,对金融学及其相关专业的学生来说,掌握SAS并运用它到金融专业的理论计算和实践非常必要[1,2]。

SAS金融计算课程是金融学及其相关专业课程体系中的实践性较强的课程。

在这类课程中,讲授理论知识的同时,往往需要辅以实验来提升学生理解理论的层次。

一些高校的金融学专业中还专门开设此类综合实验课程,以期学生能掌握SAS编程方法,加深对相关金融理论知识的理解,增强动手能力,提升解决金融实务问题的能力,培养和启发用数据说话的理念。

SAS金融计算课程对学生的要求较高,难度较大,因为它是一门跨学科性质的课程,既要求掌握金融理论知识,又要具备基本的计算机编程基础,而编程知识一般是金融学及其相关专业学生的弱项。

要使SAS金融计算课程在学生和教师的互动过程中顺利展开,设计好实验环节是关键。

实验的内容应该和金融相关,实验数据应该是金融市场中的真实数据。

SAS基础与金融计算4

SAS基础与金融计算4

SAS基础与金融计算4引言本文档旨在介绍SAS(Statistical Analysis System)及其在金融计算中的基础应用。

SAS是一种广泛使用的统计分析软件,其功能强大,能够进行数据的处理、分析和可视化。

在金融领域,SAS被广泛应用于风险管理、投资组合分析、量化交易等方面。

本文将介绍SAS的一些基础知识,并结合金融计算的实例进行说明。

第一部分:SAS基础知识1. SAS语言基础SAS语言是一种类似于英语的编程语言,用于描述数据的处理和分析过程。

以下是一些基础的SAS语言元素:•数据集(Data Set):SAS中的数据存储在数据集中,每个数据集由变量和观测组成。

•数据步(Data Step):数据步是SAS程序中用来对数据进行处理的基本单位,包括数据导入、数据转换等操作。

•过程(Procedure):过程是SAS程序中用来进行数据分析的模块,比如描述统计、线性回归等。

•语句(Statement):语句是SAS程序的最小执行单位,每个语句以分号结尾。

2. SAS数据集操作SAS提供了丰富的数据集操作函数,可以对数据集进行增删改查等操作。

以下是一些常用的数据集操作:•创建数据集:使用data语句可以创建一个新的数据集,并定义其中的变量。

•导入数据:使用import语句可以从外部文件导入数据到SAS中的数据集。

•数据过滤:使用where语句可以对数据进行条件过滤,只选择满足条件的观测。

•数据排序:使用sort语句可以对数据集按照指定的变量进行排序。

•数据合并:使用merge语句可以将两个或多个数据集按照共有的变量合并成一个数据集。

3. SAS统计分析SAS提供了各种统计分析的过程,可用于探索数据的特征、分析数据之间的关系等。

以下是一些常用的统计分析过程:•描述统计:使用proc means过程可以计算数据的基本统计量,比如均值、方差等。

•数据分组:使用proc freq过程可以对数据按照指定的变量进行分组统计。

sas金融计算清华朱世武数据集char12

sas金融计算清华朱世武数据集char12

12.2.1数据选取data ;weeks=('31dec2000'd-'01jan1995'd)/14;put weeks=;run;weeks=156.512.3.2 计算双周收益率/*计算市场组合双周收益率*/options nodate nonotes nosource;data index;set compufin.final;dweek=ceil((date-'01Jan95'd-6)/14); /*标记双周序号,1995年1月1日及以后的第一周为0,以后每两周加1*/data index(keep=dweek dwr_index);set index;if last.dweek=1 ; /*保留双周末数据*/by dweek;dwr_index=dif(index)/lag(index); /*计算双周收益率*/if dwr_index=. then delete; /*去掉空值*/run;/*通过DOS命令为计算个股双周收益率创建宏文本:char12.txt*//*第一步,在DOS的“d:\基于sas系统的金融计算光盘\stoindif”目录下键入“dir a6*.*/b >list.txt”,生成文件list.txt*//*第二步,生成宏文本*/data a;infile ' d:\基于SAS系统的金融计算光盘\stoindif\list.txt';informat fname $16.;input fname $;data a;set a;hexcd=substr(fname,2,6);format hexcd $6.;data a;set a;a='%a(';b=');' ;file "d:\基于SAS系统的金融计算光盘\stoindif\char12_1.txt" ;put a $ hexcd $ b $ ;run;/*根据复权个股数据库(stoindif)复权价计算个股双周收益率*/ data stock;delete;%macro a(a1);data a;set stoindif.a&a1.;dweek=ceil((date-'01Jan95'd-6)/14); /*标记双周序号*/hexcd="&a1.";data a(keep=dweek dwr hexcd);set a(where=(date<'01Jan01'd));if last.dweek=1 ; /*保留周末数据*/by dweek;dwr=dif(clpr_r)/lag(clpr_r); /*计算双周收益率*/data stock;set stock a(firstobs=2); /*去掉第一行,收益率为空*/%mend a;%include "d:\基于SAS系统的金融计算光盘\stoindif\char12_1.txt" ;proc sort;by dweek hexcd;run;12.3.3 计算无风险利率data deposit;set compufin.deposit_r;where '01Jan95'd<=date<='31Dec00'd;dweek=ceil((date-'01Jan95'd)/14); /*标记双周序号*/data deposit(keep=dweek dw_rf);set deposit;if last.dweek=0 then delete; /*保留周末数据*/by dweek;if dweek in(0,157) then delete;dw_rf=y_r/26; /* 一年有26个双周*/run;12.3.4 验证CAPM循环程序/*合并市场组合及个股双周收益率、无风险收益率*/data table;merge stock deposit index;by dweek;label dwr='个股双周收益率'dw_rf='无风险双周收益率'dwr_index='市场组合双周收益率'hexcd='股票代码';if hexcd=. then delete;proc sort;by hexcd dweek;run;/*循环计算过程*/data reg;/*后面要在reg里面存放最后一步日回归用的所有变量*/delete;run;%macro b(b1);data a;set table;where %eval(&b1.)<=dweek<=%eval(&b1.+15);/*分组过程,保留这一区间内的股票收益率、指数收益率*/proc reg outest=a noprint;/*在此区间内分组回归,得到每一只股票的Beta值,输出到数据集a*/model dwr=dwr_index;by hexcd;/*每支股票分别回归*/run;proc sort data=a;by dwr_index;/*在a中从小到大排列Beta*/run;data a(keep=hexcd group);/*在a中分15个组,只保留股票代码与组号*/set a nobs=nobs;x0=mod(nobs,15);x1=floor(nobs/15);if _n_ le x0*(x1+1) then group=ceil(_n_/(x1+1));if _n_ gt x0*(x1+1) then group=ceil((_n_/x1);proc sort data=a;by hexcd;run;%do i=%eval(&b1.+25) %to %eval(&b1.+34);/*在同一分组期内逐个计算“估值期”Beta值*/data b;set table;where %eval(&b1.+16)<=dweek<=&i. and dwr^=.;/*控制每次读相应数据行*/proc reg outest=b noprint; /*Beta和S值输出到b*/model dwr=dwr_index;by hexcd;run;data b;merge b(keep=hexcd dwr_index _rmse_ rename=(dwr_index=b _rmse_=s)) a;/*将b与a合并,加上组号,并只保留Beta和残差标准差S*/by hexcd;if group=. then delete; /*如果股票在“分组期”没有上市,则此处不参与计算*/proc sort;by group;run;proc means data=b noprint; /*每组Beta与S取简单平均*/by group;var b s;output out=b mean=b s; /*输出到b*/run;data b(keep=group s b bb); /*只保留回归用变量S、β、β平方*/set b;bb=b*b; /*加入beta的平方这个变量*/run;data c;set table;where dweek=%eval(&i.+1);/*“检验期”对应的一个数据点*/data c;merge c a;/*加上组号*/by hexcd;if group=. then delete;/*如果股票在“分组期”没有上市,则此处不参与计算*/proc sort;by group;run;proc means data=c noprint; /*组收益率简单平均*/by group;var dwr dwr_index;output out=c mean=dwr dwr_index;/*输出到c文件*/run;data b(keep=group dwr dwr_index b bb s dweek);merge c b; /*合并b、c,这样“估值期”得到的Beta、Beta平方、S和“检验期”的对应数据都到了一个表格中*/by group;dweek=%eval(&i.+1); /*加上序号*/run;data reg;set reg b; /*合并成大表*/run;%end;%mend b;%b(1);%b(11);%b(21);%b(31);%b(41);%b(51);%b(61);%b(71);%b(81);%b(91);%b(101);%b(111);%b(121);data reg;set reg;where dwr^=.;run;proc reg data=reg outest=out tableout noprint;/*将生成的reg表进行分组回归,得到相应参数*/model dwr=b bb s/dw;by dweek;run;/*检验结果*/data out1;set out;where _type_='PARMS';proc means data=out1 noprint; /*t检验,输出到out1*/var bb s b;output out=out1 t=t_bb t_s t_b probt=probt_bb probt_s probt_b mean=mean_bb mean_s mean_b;run;/*结果已输出到work.out中,这里加上日期并把t检验和参数估计放在同一行,以更好的呈现*/data out2;set out;keep dweek intercept b bb s _TYPE_;where _type_ in ('PARMS','T');proc sort;by dweek descending _type_;data out2(drop=_type_);set out2;intercept_t=lag(intercept);b_t=lag(b);bb_t=lag(bb);s_t=lag(s);if _type_='T' then delete;data a(keep=date dweek);set compufin.final;dweek=ceil((date-'01Jan95'd-6)/14);if dweek=lag(dweek) then delete;data out2;merge out2 a;by dweek;if intercept=. then delete;run;/*计算一阶自相关系数*/data a(drop=_type_ _freq_ probt_bb probt_s probt_b);set out1;do dweek=27 to 156;output;end;data out3;merge out2(drop=intercept_t b_t bb_t s_t date) deposit a;by dweek;if bb=. then delete;var1=bb;var2=s;var3=b-mean_b;var4=intercept-dw_rf;data out3;set out3;lag_var1=lag(var1);lag_var2=lag(var2);lag_var3=lag(var3);lag_var4=lag(var4);proc corr data=out3 out=out3 (type=corr) oprint; /*协方差矩阵输出到out3*/ var var1-var4 lag_var1-lag_var4;run;。

SAS和金融数据处理

SAS和金融数据处理
– 一般情况下
• 每一行命令都以分号结束 • 最后需要加run;表示程序告一段落,可以开始运行 • 运行的方式是通过鼠标选定需要运行的命令段(被 颜色覆盖),然后点击菜单栏的“运行”命令,或 者按键盘的F3键。
窗口介绍
• 一些小习惯
• 把sas code和相应的sas data保存在同一个文件夹 • 对于一些经常用到的sas code可以保存下来,方便以 后取用 • 通过google和SAS global forum了解一些sas的处理技 巧
数据的合并
• 横向的合并:merge
– 按照相同的某个变量合并(如股票代码、年份)
PROC SORT DATA=data; BY stkcd; PROC SORT DATA=inddata; BY stkcd; RUN;
DATA data1; MERGE data inddata; BY stkcd; RUN;
经济、金融和会计研究中,SAS和Stata使用比较广泛
窗口介绍
结果输出窗口 保存数据的逻 辑库 数据处理和程序检 查的日志(记录)
SAS运行程序
窗口介绍
Work是默认的逻辑 库,此逻辑库下的 数据在关闭sas程序 后不能保存
窗口介绍
• 逻辑库
– 普通逻辑库
• 好比电脑的文件夹,可以保存数据 • 新建逻辑库需要制定存储路径 • 引用数据时,表达格式为:逻辑库名.数据文件名(比如 ds.data1)
• 保留变量
Data test1; set test; keep var1 var2; Run;
变量
• 更改变量名称
Data test;set test; Rename var1=var1_n var2=var2_n; Label var1=‘var1_n’ var2=‘var2_n’; Run;

SAS 常用过程(北大光华金融建模SAS部分课件)

SAS 常用过程(北大光华金融建模SAS部分课件)

• 例如:Altman and Kishore(1996)
– 债券到期收益率与违约概率、期望回收率有关 – 违约债券的回收率受行业影响,公共事业行业的回收 率高 – 公共事业公司高级债券回收率的标准差低于非公共事 业公司
两样本t检验
• Proc ttest过程首先检验两独立组的方差是否相 等,然后给出方差相等假定满足时的精确两样本t 检验及方差相等条件不满足时的近似检验 • 例:比较上市公司深发展与深万科股票平均月收 益率。
• 独立组
– 两组独立样本的观测数据 – 例:比较2002年度博时基金管理公司所管理的投资基 金的平均收益率与华夏基金管理公司所管理的基金的 平均收益率的差别
• 成对组
– 每个个体包含成对测量值;以前——以后的测量;例 如,新税法对上市公司股利政策的影响; – 按时间匹配成对;例如,两种投资策略同时期的平均 收益率的差距。
Proc Univariate
• var 变量名1 变量名2 …;
– 指定需要分析的变量;
• by 变量名1 变量名2 …;
– 指定分组变量(注:之前必须按该变量排序)
• output out=dsn 统计量关键词=变量名;
– dsn:统计结果输出数据集名称;
Proc Univariate
• 统计量关键词
假设
• 独立组:均值相等
H 0 : µ A = µB H1 : µ A ≠ µ B
• 成对组:差值的均值为零
H 0 : µD = 0
H1 : µ D ≠ 0
检验
独立组 参数检验 非参数检验 两样本t检验 Wilcoxon秩和 检验 成对组 成对差值t检验 Wilcoxon符号秩检 验
两样本t检验

SAS基础与金融计算ppt课件

SAS基础与金融计算ppt课件
6
(4)建立新的变量表示其它股东持股比例 Data temp4; set temp3; ratio2=1-ratio/100; Run;
7
本节课上机作业(2) 公共信箱下载数据集test1和test2,运用SAS将test1和test2纵向拼成新的数据test。 根据股票收益率大小将test分成四个组,并形成四个子数据集:tmp1,tmp2,tmp3,
(xi x)3 s3
偏度主要用于判断分布形状是否对称:
若g1=0,则对称; 若g1>0,则分布右偏(正偏); 若g1<0,则分布左偏(负偏)。
11
峰度(Kurtosis):
g 2 (n 1 )n (n (n 2 1 )) (n 3 )
(x i x )4 3 (n 1 )2 s4 (n 2 )(n 3 )
2
(1)剔除金融业上市公司 第一步: 运用substr语句 Data test;
set total; code=substr(code,1,6);
Run;
3
第二步: Data temp1; set test; 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='601318' or code='601398' or code='601628' then delete; Run;

康奈尔大学统计与金融课程(含SAS程序)英文讲义Slides.Value at Risk

康奈尔大学统计与金融课程(含SAS程序)英文讲义Slides.Value at Risk
• October 1994: J.P Morgan introduces Riskmetrics – data represent an elaborate covariance-matrix of risk and correlation measures that evolve through time
VaR
6
Origins of Value-at-Risk
From Jorion:
• Till Guldimann was head of global research at J.P. Morgan in late ’80s
• risk-management needed to decide between – long bonds ⇒ stable earnings – cash ⇒ stable market value
VaR
5
• Problems: – lack of control: Leeson was in charge of trading desk and back office – Singapore and Osaka exchanges did not notice the size of the positions – problem was not peculiar to derivatives
VaR
2
• objective was 15% return • leveraged so a total of $2 billion was invested • Askin was betting on interest rates remaining low • Feb – Apr 1994:
VaR
4
Barings

SAS金融计算第一讲

SAS金融计算第一讲
• 对这种计算系统的探索包括:
① network computing, ② cluster computing, ③ Web computing, ④ Internet computing, ⑤ Grid computing(computing grid, data grid, memory grid); ⑥ Pervasive computing(普适计算), ⑦ Mobile computing, ⑧ Volunteer computing(志愿计算)。
互连网应用主要趋势(2)
目前技术及应用发展:
① 以HTTP协议为集成基础,以HTML,XML等语言建立应用 界面,实现不同应用方便使用;
② 以JAVA编程技术作为计算系统开发语言共同,建立高性能 计算平台,实现服务扩展成为热点。
③ 计算作为一种资源进行开发。人们对计算资源的使用采取 “随用随买”的使用模式。Sun Microsystems公司在其2004 年第四季度网络计算新品发布会上宣布,TELUS 公司成为 了拓展其安全的对网格计算能力"随用随买"服务模式的第一 家战略合作伙伴。为了进一步发挥 Sun公司2004 年 9 月推出 的标准化的网格服务批量销售模式的优势,TELUS公司将 转销 Sun的基于Web的Grid Computing(网格计算)服务,起价 为1美元/CPU/小时。该项服务开始阶段的市场目标是金融服 务和石油天然气行业。
• 截至2004年,CERNET主干网带宽达到2.5G-5Gbps,地区 网传输速率达到155M-2.5Gbps,对外互联带宽总数超过 10G,国际出口超过1G.联网单位超过1600个,联网用户超 过1800万。成为中国三大互联网之一(其他为中国电信、 中国网通)。
互连网应用主要趋势

sas金融计算清华朱世武数据集char09

sas金融计算清华朱世武数据集char09

9.2.3 实现程序准备行业分类数据集compufin.sector:data a;length hexcd $6.;set compufin.indcls;if substr(hstocd,3,1)=6 or substr(hstocd,1,5)=21000;hexcd=substr(hstocd,3,6);label hexcd='最新交易所代码';data compufin.sector;set a;keep hexcd hcomnam sector;run;确定计算周期中满足条件的所以上市股票,即2000年交易天数超过100天的股票。

并按板块SECTOR排序:data compufin.day2000;delete;options nodate nonotes nosource;%macro a(x,y);data a(keep=date);set stoindiv.a&x ;where year(date)=2000;data a (keep=n hexcd);set a nobs=tdays;n=tdays;if _n_=n;hexcd="&x";data compufin.day2000;set compufin.day2000 a;%mend a;%include "D:\基于SAS系统的金融计算光盘\Compufin\宏文本\全部A股.txt";run;删除交易小于100天的股票:data compufin.day2000;set compufin.day2000;if n<100 then delete;run;proc sort data=compufin.sector;by hexcd;proc sort data=compufin.day2000;by hexcd;data a;merge compufin.sector compufin.day2000;by hexcd;if n=. then delete;proc sort data=a;by sector;run;按板块SECTOR排列:data a;set a;by sector;las_sec=last.sector;data a;set a;if las_sec=1 then sec_n=_n_;run;data b(keep=sec_n ni);set a;if sec_n=. then delete;ni=dif(sec_n);if ni=. then ni=sec_n;else ni=ni;data c(keep=sector);set a;if las_sec=1;run;data b;merge b c;data;set b;file "D:\基于SAS系统的金融计算光盘\Compufin\宏文本\sector2000.txt" ; put sector $ ni sec_n;run;proc export data= boutfile= "d:\sector2000.xls"dbms=excel2000 replace;run;计算复权收益率宏文本data a;merge compufin.sector compufin.day2000;by hexcd;if n=. then delete;proc sort data=a;by sector;data;set a;a='%a(';b=",";c=");";file "D:\基于SAS系统的金融计算光盘\Compufin\宏文本\sector2000.txt";put a $ hexcd $ b $ sector c $;run;计算复权收益率,存于COMPUFIN.R2000.options nodate nonotes nosource;data compufin.r2000(keep=date);set stoindiv.a1a0001;where year(date)=2000;%macro a(x,y);data a(keep=date r_1);set stoindiv.a&x;where year(date)=2000;r_1=log(clpr)-log(lag(clpr));clpr_1=clpr*(1+divrat+rigrat+reisvol/lag(shrout))-rigpr*rigrat –reispr* reisvol/lag(shrout)+divamt;if clpr_1=. then clpr_1=clpr;r_2=log(clpr_1)-log(lag(clpr_1));if exdt=. then r_2=0;if exdt^=. then r_1=0;r_1=r_1+r_2;if r_1=. Then r_1=0;else r_1=r_1;data compufin.r2000(rename=(r_1=r&x));merge compufin.r2000 a;by date;data compufin.r2000;set compufin.r2000;if r&x=. then r&x=0;else r&x= r&x;%mend a;%include "D:\基于SAS系统的金融计算光盘\Compufin\宏文本\sector2000.txt"; options date notes source;run;得到收益样本矩阵r_2000:data compufin.r_2000(drop=date);set compufin.r2000;if _n_=1 then delete;run;proc iml;reset deflib=compufin;use r_2000;read all into r_2000;show names;store r_2000;quit;proc iml;reset deflib=compufin;load r_2000;show names;run;计算协方差阵:start cov; /*协方差阵计算模块*/n=nrow(x); /* 观测个数*/sum=x[+,] ; /* 列求和*/xpx=t(x)*x-t(sum)*sum/n; /* 计算csscp 阵,即协方差阵*/finish cov;x=r_2000; /*由矩阵r_2000创建产生矩阵x */run cov; /*运行协方差计算模块,计算x的协方差阵*/store xpx;show names;run;quit;proc iml;reset deflib=compufin;load r_2000 xpx;show names;run;create xpx from xpx; /*由协方差阵xpx产生数据集xpx */append from xpx;close xpx;run;quit;proc princomp data=compufin.r_2000 /*主成分分析*/outstat=compufin.cov_compvardef=dfcovnoprintn=6;run;proc corr data=compufin.r_2000 nocorr cov outp=compufin.cov_corr(type=cov) noprint; run;结果显示:计算的COMPUFIN.COV_COMP和COMPUFIN.COV_CORR中的COV相同。

SAS基础与金融计算

SAS基础与金融计算
36
SAS工作界面-了解5个子窗口 日志窗口(Log) LOG输窗入口和用编于辑输文出本,包括SAS语句;提交SAS语句 程序在运行时的各 种相关信息,记录 执行过的每一条语 句 红色---错误 兰色---正常 绿色---警告
37
SAS工作界面-了解5个子窗口
结果输出窗口(Output) 它包含由大多数SAS过程产生的输出。在SAS会话期 间相继产生的输出都附加到OUTPUT窗口内容中。
或者在语句最后加上以下程序: Proc print data=result; Run;
重新运行。
16
SAS程序的特点
SAS系统为用户提供了交互式管理系统,使用 户能够看到程序的输入、程序执行的过程及程序 执行的结果,界面亲切、易用; 近似英语的非过程语言(第四代语言); 数据处理与统计分析的有机结合。
SAS基础 文件操作(导入、导出); SAS数据集操作(建立、删除、并接); 变量操作(建立,修改); SAS函数运用(算术函数,字符函数等)
4
统计知识+SAS实现+金融计算 统计描述 均值分析(均值、中位数) 变异分析(方差、标准差) 分布分析(偏度、峰度) ……
5
统计推断 相关分析(皮尔逊相关、斯皮尔曼等级相 关); T检验(独立样本t检验,配对样本t检验 等); 回归分析——(一元回归分析,多元回归分 析等等); ……
SPSS for Windows 主要是通过简便的菜单系统来 完成任务;SAS for Windows 对常用的分析功能 也提供了菜单系统,但功能强大的编程方法更有 利于提高专业人员的工作效率。
23
Why Choose SAS?
菜单操作VS 编程操作 重复性:用SPSS,你能在1分钟内做100个回 归吗? 记录性:项目过了1个月,数据都给折腾得 面貌全非,你该怎么办? 灵活性:最新方法,菜单里找不到怎么办? 数据量大:面对100万个数据,你会有耐心 等下去吗? 分析可靠性:国际权威学术期刊往往倾向于 接受SAS的分析结果。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

六、SAS软件简况
发展历史:
1966年开始研制 1976年由美国SAS公司实现商业化 1985年推出PC版本 2006推出版本为V9 客观评价
国际公认的最优秀统计软件
最昂贵的统计软件 应用领域:统计、金融、商业、经济、社 会、医学、生物、教育等。
SAS V9主要产品
SAS/BASE(基础)——初步的统计分析 SAS/STAT(统计)——广泛的统计分析 SAS/QC(质量控制)——质量管理方面的专门分析计算 SAS/OR(规划)——运筹决策方面的专门分析计算 SAS/ETS(预测)——计量经济的时间序列方面的专门分析计算 SAS/IML(矩阵运算)——提供了交互矩阵语言 SAS/GRAPH(图形)——提供了许多产生图形过程并支持众多图形设备 SAS/ACCESS(外部数据库接口)——提供了与大多数流行数据库管理系统
例1-1:散户投资者股票收益的均值检验。
例1-2:散户投资者与大户投资者股 票收益的均值检验
SAS 系统 22:24 Monday, July 22, 2010 1
Variable Method
Variances
DF t Value Pr > |t|
x
Pooled
Equal
18
1.74
0.0996
x
Satterthwaite Unequal
17
1.74
0ances
Variable Method
Num DF Den DF F Value Pr > F
x
Folded F
9
9
1.62 0.4838
五、常用的统计软件
1.常用的统计软件 SAS SPSS BMDP Stata EPINFO Minitab Statistica S-PLUS R
5. 环境窗口
该窗口用于显示程序所在系统的文件目录 结构。此外,该窗口还记录了每次程序的运行 结果。
例:熟悉SAS窗口参考程序example
三、SAS程序的结构与语法
1.程序结构: SAS程序采用模块化结构,模块间相
互独立,每个模块完成一个任务。 模块分两种类型,数据模块和程序模
块。数据模块以英文单词Data为起始,程 序模块以Proc(Pprocedure的缩写)为起始。 模块通常用语句 “run;” 作为结束。
3. 输出窗口
该窗口用于显示程序的统计分析结果,还 可以在该窗口对计算结果进行输入、输出、编 辑、修改,以及文件格式转换等操作。该窗口 由被执行的SAS程序自动调出。
4. 图形窗口
该窗口用于显示程序的图形分析结果,还 可以在该窗口对计算结果进行输入、输出、编 辑、修改等操作。该窗口由被执行的SAS程序 自动调出。
1.程序窗口
这是一个全屏幕程序编辑窗口,用 户在这个窗口输入要运行的程序,使用 SAS系统提供的编辑工具对程序进行修改、 运行、调试。当执行运行(提交)程序 命令时,该窗口的程序被执行。
2. 监视窗口
该窗口记录了SAS程序运行过程的 主要信息。如程序语句的语法错误,运 行中的逻辑错误和警告信息,使用和建 立的数据集、库文件,程序运行时间等。 这些信息为程序调试提供了帮助。
统计软件(SAS)
天津财经大学统计学系 统计软件课程租
统计科学与科学统计
Lies,damned lies,and statistics.
一句著名的西方谚语。主要描 述数字的说服能力,特别是用来讽刺 一些使用统计数字支持、但毫无说服 力的分析报告,以及人们倾向于贬低 那些不支持其立场的统计结论。
——摘自维基百科
统计科学与科学统计
其名言部分来自19世纪英国首相本杰明·迪斯 雷利,此后经美国著名文豪马克·吐温之笔,被广泛 传诵,原句载马克·吐温的《我的自传》:“(统计) 数字经常欺骗我,特别是我自己整理它们时候。在此 类情况下本杰明·迪斯雷利的评述经常正确有 效:“世界上有三种谎言:谎言,该死的谎言,统计数 字。”(There are three kinds of lies: lies, damned lies, and statistics.)”。但其原句并没 有发现在本杰明·迪斯雷利的演说稿或者其他作品 中。——摘自维基百科
第一章 导言
一、统计的科学性
(一)统计推断的基本内容: 1.点估计
待估参数 β 的点估计量为β
2.区间估计
以点估计值为中心确定误差范围β±△
3.确定信度 确定误差范围的置信概率
(二)统计为什么存在谬误:
1.真实的谎言 使用违反数据特性的统计方法。 2.对谎言求真 没有取得真实数据 3.用谎言制造谎言 制造数据
的方便接口并自身也能进行数据管理 SAS/ASSIST(面向任务的通用菜单驱动界面)——方便用户以菜单方式进
行操作 SAS/AF(面向对象编程的应用开发工具)
第一章 SAS入门
一、SAS安装和启动 二、SAS的工作窗口 PROGRAM EDIT:程序窗口 LOG:监视窗口 OUTPUT:输出窗口 GRAPH:图形窗口 EXPLORER:环境窗口
2.程序语法
标识符或数据之间用空格分隔,例如:input s$; 使用分号分隔语句; 使用“Run”分隔模块; 自定义名称最多包含8个符号,首字符为英文字母,名
称不能有保留符号,如:空格 - . , ; … $等; 缺失数据“.”表示; 文本变量名首次出现时使用“$”作为后缀; 程序可以包含注释语句,以“/*”开始,以“*/”结束,
二、统计软件可以做什么
统计计算 数据挖掘
数据管理 统计调查
三、如何用统计软件进行计算
1.根据菜单提示进行选择工作 2.人机互动式工作 3.编程进行程序式工作
输入
处理
输出
四、为什么要使用统计软件
统计软件的使用过程,不是简单的 输入数据,取得结果。而是在统计学理 论指导下,实现统计思想的系统过程,。
一个程序中可包含多个数据模块和程 序模块。
程序实例
Data a; input x@@; cards; 6.11 1.04 1.30 2.60 3.51 5.20 5.41 1.82 3.64 2.21 3.38 3.77 Run; Proc univariate data=a normal plot; var x; Run;
相关文档
最新文档