R语言

  • 北京大学R语言教程(李东风)第19章:函数进阶

    函数调用的各种形式 在R语言中,有两条简明的理解R程序的原则: 任何成分都是R的对象(变量、函数等等); 任何活动都是调用函数(求子集、四则运算、比较、函数调用等)。 函数调用有四种方式: 一、前缀形式。这也是一般的格式,如fsub(5, 2)。 二、中缀形式。二元运算符实际上都是函数,5 – 2的写法是中缀形式,等同于`-`(5, 2)。因为-不是合法的R…

    2023年11月6日
    6500
  • 北京大学R语言教程(李东风)第18章: R程序效率

    R是解释型语言,在执行单个运算时,效率与编译代码相近;在执行迭代循环时, 效率较低,与编译代码的速度可能相差几十倍。在循环中对变量进行修改尤其低效,因为R在修改某些数据类型的子集时会复制整个数据对象。R以向量、矩阵为基础运算单元,在进行向量、矩阵运算时效率很高,应尽量采用向量化编程。 另外,R语言的设计为了方便进行数据分析和统计建模,有意地使语言特别灵活,比…

    2023年11月6日
    7900
  • 北京大学R语言教程(李东风)第17 章:函数

    函数基础 介绍 在现代的编程语言中使用自定义函数,优点是代码复用、模块化设计。 如果一段程序需要在多处使用,就应该将其写成一个函数,然后在多处调用。需要修改程序执行功能时,仅需要修改函数而不需要修改各处调用。如果不使用函数而是将相同的代码在多处复制粘贴,修改时就需要修改多处,很容易漏掉一处。 在编程时,把编程任务分解成小的模块,每个模块用一个函数实现,便于理…

    2023年11月5日
    8000
  • 北京大学R语言教程(李东风)第16章: 程序控制结构

    表达式 R是一个表达式语言,其任何一个语句都可以看成是一个表达式。表达式之间以分号分隔或用换行分隔。表达式可以续行,只要前一行不是完整表达式(比如末尾是加减乘除等运算符,或有未配对的括号)则下一行为上一行的继续。若干个表达式可以放在一起组成一个复合表达式,作为一个表达式使用,复合表达式的值为最后一个表达式的值,组合用大括号表示, 如: 分支结构 分支结构包括…

    2023年11月4日
    10200
  • 北京大学R语言教程(李东风)第15章: R输入输出

    输入输出的简单方法 简单的输出 用print()函数显示某个变量或表达式的值,如 x <- 1.234 print(x) ## [1] 1.234 y <- c(1,3,5) print(y[2:3]) ## [1] 3 5 在命令行使用R时,直接以变量名或表达式作为命令可以起到用print()函数显示的相同效果。 用cat()函数把字符串、变量…

    2023年11月3日
    15900
  • 北京大学R语言教程(李东风)第14章: 工作空间和变量赋值

    工作空间 R把在命令行定义的变量都保存到工作空间中,在退出R时可以选择是否保存工作空间。这也是R与其他如C、Java这样的语言的区别之一。 用ls()命令可以查看工作空间中的内容。 随着多次在命令行使用R,工作空间的变量越来越多,使得重名的可能性越来越大,而且工作空间中变量太多也让我们不容易查看其内容。在命令行定义的变量称为“全局变量”,在编程实践中,全局变…

    2023年11月2日
    11900
  • 北京大学R语言教程(李东风)第13章: 数据框

    数据框 数据框定义 统计分析中最常见的原始数据形式是类似于数据库表或Excel数据表的形式。这样形式的数据在R中叫做数据框(data.frame)。数据框类似于一个矩阵,有n个横行、p个纵列,但各列允许有不同类型:数值型向量、因子、字符型向量、日期时间向量。同一列的数据类型相同。在R中数据框是一个特殊的列表,其每个列表元素都是一个长度相同的向量。事实上,数据…

    2023年11月1日
    17400
  • 北京大学R语言教程(李东风)第12章: R矩阵和数组

    矩阵用matrix函数定义,实际存储成一个向量,根据保存的行数和列数对应到矩阵的元素,存储次序为按列存储。定义如 A <- matrix(11:16, nrow=3, ncol=2); print(A) ## [,1] [,2] ## [1,] 11 14 ## [2,] 12 15 ## [3,] 13 16 B <- matrix(c(1,-…

    2023年10月31日
    11600
  • 北京大学R语言教程(李东风)第11章:列表类型

    R中列表(list)类型来保存不同类型的数据。一个主要目的是提供R分析结果输出包装:输出一个变量,这个变量包括回归系数、预测值、残差、检验结果等等一系列不能放到规则形状数据结构中的内容。实际上,数据框也是列表的一种,但是数据框要求各列等长,而列表不要求。 列表可以有多个元素,但是与向量不同的是,列表的不同元素的类型可以不同,比如,一个元素是数值型向量,一个元…

    2023年10月30日
    7400
  • 北京大学R语言教程(李东风)第10章: R因子类型

    因子 R中用因子代表数据中分类变量, 如性别、省份、职业。有序因子代表有序量度,如打分结果,疾病严重程度等。 用factor()函数把字符型向量转换成因子,如 x <- c(“男”, “女”, “男”, “男”, “女”) sex <- factor(x) sex ## [1] 男 女 男 男 女 ## Levels: 男 女 attribute…

    2023年10月29日
    16400
  • 北京大学R语言教程(李东风)第9章: R日期时间

    R日期和日期时间类型 R日期可以保存为Date类型,一般用整数保存,数值为从1970-1-1经过的天数。 R中用一种叫做POSIXct和POSIXlt的特殊数据类型保存日期和时间,可以仅包含日期部分,也可以同时有日期和时间。技术上,POSIXct把日期时间保存为从1970年1月1日零时到该日期时间的时间间隔秒数,所以数据框中需要保存日期时用POSIXct比较…

    2023年10月27日
    16300
  • 北京大学R语言教程(李东风)第8章: R数据类型的性质

    存储模式与基本类型 R的变量可以存储多种不同的数据类型,可以用typeof()函数来返回一个变量或表达式的类型。比如 typeof(1:3) ## [1] “integer” typeof(c(1,2,3)) ## [1] “double” typeof(c(1, 2.1, 3)) ## [1] “double” typeof(c(TRUE, NA, FAL…

    2023年10月27日
    8400
  • 北京大学R语言教程(李东风)第7章: R向量下标和子集

    在R中下标与子集是极为强大的功能,需要一些练习才能熟练掌握,许多其它语言中需要多个语句才能完成的工作在R中都可以简单地通过下标和子集来完成。 7.1 正整数下标 对向量x, 在后面加方括号和下标可以访问向量的元素和子集。 设x <- c(1, 4, 6.25)。x[2]取出第二个元素;x[2] <- 99修改第二个元素。x[c(1,3)]取出第1…

    2023年10月26日
    17800
  • 北京大学R语言教程(李东风)第6章:字符型数据及其处理

    字符型向量 字符型向量是元素为字符串的向量。字符串在程序中写成用两个双撇号包围或者用两个单撇号包围的内容。如 s1 <- c(‘abc’, ”, ‘a cat’, NA, ‘李明’) 注意空字符串并不能自动认为是缺失值,字符型的缺失值仍用NA表示。 字符串内容一般从文件、网络、数据库获得,在程序中直接用双撇号或者单撇号写出只是输入字符串的办法之一。 …

    2023年10月24日
    13900
  • 北京大学R语言教程(李东风)第5章:逻辑型向量及其运算

    逻辑型向量与比较运算 逻辑型是R的基本数据类型之一,只有两个值TRUE和FALSE,缺失时为NA。逻辑值一般产生自比较,如 sele <- (log10(15) < 2); print(sele) ## [1] TRUE 向量比较结果为逻辑型向量。如 c(1, 3, 5) > 2 ## [1] FALSE TRUE TRUE (1:4) &…

    2023年10月24日
    21600
  • 北京大学R语言教程(李东风)第4章: 数值型向量及其运算

    数值型向量 向量是将若干个基础类型相同的值存储在一起,各个元素可以按序号访问。如果将若干个数值存储在一起可以用序号访问,就叫做一个数值型向量。 用c()函数把多个元素或向量组合成一个向量。如 marks <- c(10, 6, 4, 7, 8) x <- c(1:3, 10:13) x1 <- c(1, 2) x2 <- c(3, 4…

    2023年10月23日
    6400
  • 北京大学R语言教程(李东风)第3章: 常量与变量

    常量 常量是指直接写在程序中的值,包括数值、字符串等。 数值型常量包括整型、单精度、双精度等,一般不需要区分。写法如123, 123.45, -123.45, -0.012, 1.23E2, -1.2E-2等。为了表示123是整型,可以写成123L。 字符型常量用两个双撇号或两个单撇号包围,如”Li Ming”或’Li Ming’。字符型支持中文,如”李明”…

    2023年10月22日
    12600
  • 北京大学R语言教程(李东风)第2章:R语言入门运行样例

    启动R软件后进入命令行界面,每输入一行命令,就在后面显示计算结果。可以用向上和向下箭头访问历史命令;可以从已经运行过的命令中用鼠标拖选加亮后,用Ctrl+C复制后用Ctrl+V粘贴(这是MS Windows下的快捷键组合),粘贴的目标是当前命令行。 如果使用RStudio软件,有一个“Console窗格”相当于命令行界面。在RStudio中,可以用New F…

    2023年10月20日
    26700
  • 北京大学R语言教程(李东风)第1章: R语言介绍

    R的历史和特点 R的历史 R语言来自S语言,是S语言的一个变种。S语言由Rick Becker, John Chambers, Alan Wilks等人在贝尔实验室开发,著名的C语言、Unix系统也是贝尔实验室开发的。 S语言第一个版本开发于1976-1980,基于Fortran;于1980年移植到Unix, 并对外发布源代码。1984年出版的“棕皮书” (…

    2023年10月19日
    37100
  • 北京大学金融时间序列分析讲义第28章: 状态空间模型

    上一章的局部水平模型是线性高斯状态空间模型的一个简单特例。本章给出状态空间模型,举例说明这种模型能够表示的其它模型,如ARIMA模型,结构时间序列模型,时变回归模型,有自相关误差的回归模型,随机波动率模型等,并给出滤波、平滑、预报公式和参数估计方法。 参考: (Durbin and Koopman 2012) (Tsay 2010) (Beijers 202…

    2023年8月9日
    14800
  • 北京大学金融时间序列分析讲义第27章: 局部水平模型

    状态空间模型是时间序列分析领域中一类强大、灵活、多样的模型,配合卡尔曼滤波技术,可以涵盖ARIMA模型、许多非平稳的、带有外生变量的模型,比前面所述的线性时间序列模型更为灵活。R扩展包statespacer实现了许多基于线性高斯状态空间模型的模型,并且可以自定义模型。 参考: (Tsay 2010) (Durbin and Koopman 2012) (Be…

    2023年8月9日
    14400
  • 北京大学金融时间序列分析讲义第26章: 格兰格因果性

    介绍 前面已经在VAR部分简单介绍了格兰格因果性的概念,以及用VAR模型检验格兰格因果性的方法。这里对格兰格因果性的概念与检验方法进行更详细的阐述。这一章的内容主要参考(Gebhard Kirchgässner 2013),(C. W. J. Granger 1969)。 考虑两个时间序列之间的因果性。这里的因果性指的是时间顺序上的关系,如果Xt−1,Xt−…

    2023年8月8日
    16500
  • 北京大学金融时间序列分析讲义第25章: 协整分析与向量误差修正模型

    25.1 虚假回归问题 线性回归分析是统计学的最常用的模型之一,但是,如果回归的自变量和因变量都是时间序列,回归就不满足回归分析的基本假定:模型误差项独立同分布。 比如,一元线性回归模型 yt=a+bxt+et, t=1,2,…,n, 需要假定e1,e2,…,et不相关,零均值,方差同为σ2,x1,x2,…,xn非随机,这时最小二乘估计是无偏估计。 当lim…

    2023年8月7日
    24900
  • 北京大学金融时间序列分析讲义第24章: 向量自回归模型

    24.1 VAR(1)模型 多个资产收益率的联合模型中最常用的是向量自回归(Vector Autoregression, VAR)模型。称k元时间序列rt服从一个一阶向量自回归模型,即VAR(1),若有 rt=ϕ0+Φrt−1+at(24.1) 其中ϕ0是k维常数向量,Φ是k阶常数方阵,{at}是序列不相关的弱平稳列,Eat=0,Var(at)=Σ…

    2023年8月5日
    22300
  • 北京大学金融时间序列分析讲义第23章:多元时间序列基本概念

    经济的全球一体化和信息传播的发展使得各国的金融市场相互关联,一个市场的价格变动可以很快地扩散到另一个市场。持有多个资产的投资者也希望了解多个资产的收益率之间的关系。这些问题属于多元时间序列分析的范畴。 多元时间序列包含多个一元时间序列作为分量,各个一元时间序列的采样时间点相同,所以数据可以用矩阵形式表示,每行为一个时间点,每列为一个一元时间序列。在R中可以保…

    2023年8月4日
    22700
  • 北京大学金融时间序列分析讲义第22章: 波动率模型的应用

    下面研究GARCH模型导致的波动率期限结构,比如,日对数收益率的波动率与月对数收益率的波动率的关系。以时间t为基础,距离t时刻h期(比如h个交易日)的对数收益率为 rt,h=∑i=1hrt+i 于是 E(rt,h|Ft)=∑i=1hE(rt+i|Ft) h期的条件方差,即波动率平方为 Var(rt,h|Ft)=∑i=1hVar(rt+i|Ft)+∑1≤i&l…

    2023年8月4日
    20100
  • 北京大学金融时间序列分析讲义第21章: 其它的波动率计算方法

    本章内容来自自(Tsay 2013)§4.15和§4.16内容。 (French, Schwert, and Stambaugh 1987)用高频数据计算低频收益率的波动率,又可参见(Andersen et al. 2001)和(Andersen et al. 2001)。 假设我们对某资产的月波动率感兴趣,有该资产的日收益率数据,设rmt是该资产第t个月的…

    2023年8月3日
    13100
  • 北京大学金融时间序列分析讲义第20章: 随机波动率模型

    本章内容来自自(Tsay 2013)§4.13和§4.14内容。 前面的波动率方程中σ2t=Var(at|Ft−1)都是被σt−1,…和at−1,…完全决定。另一种方法是假定σ2t的模型本身有新息,这样的模型称为随机波动率(Stochastic Volatility, SV)模型。模型写成 at=σtεt,(1−α1B−⋯−αmBm)lnσ2t=α0+vt.…

    2023年8月2日
    15400
  • 北京大学金融时间序列分析讲义第19章: 改进的GARCH模型

    本章讲GARCH模型的一些有针对性的改进。来自(Tsay 2013)§4.9-4.11内容。 EGARCH模型 模型 (Nelson 1991)提出的指数GARCH(EGARCH)模型允许正负资产收益率对波动率有不对称的影响。考虑如下变换 g(εt)=αεt+γ[|εt|−E|εt|],(19.1) 其中α和γ是实常数。{εt}和{|εt|−E|εt|}都分…

    2023年8月1日
    12300
  • 北京大学金融时间序列分析讲义第18章: GARCH模型

    本章来自(Tsay 2013)§4.6-4.8内容。 ARCH模型用来描述波动率能得到很好的效果,但实际建模时可能需要较高的阶数,比如§17.5.3的欧元汇率波动率建模用了11阶的ARCH模型。考虑类似从AR推广到ARMA的模型变化。 模型方程 (Bollerslev 1986)提出了ARCH模型的一种重要推广模型,称为GARCH模型。对于一个对数收益率序列…

    2023年7月31日
    27400
客服
客服
关注订阅号
关注订阅号
分享本页
返回顶部