学号:1940802 姓名:刘睿奇

首先导入基本的模块。

library(fBasics)
library(TTR)
library(xts)
library(zoo)
library(quantmod)

1、 1)试下载IBM公司股票每日的开盘价、收盘价、最高价、最低价;

getSymbols('IBM')
[1] "IBM"
head(IBM)
           IBM.Open IBM.High IBM.Low IBM.Close IBM.Volume IBM.Adjusted
2007-01-03    97.18    98.40   96.26     97.27    9196800     66.10009
2007-01-04    97.25    98.79   96.88     98.31   10524500     66.80686
2007-01-05    97.60    97.95   96.91     97.42    7221300     66.20204
2007-01-08    98.50    99.50   98.35     98.90   10340000     67.20779
2007-01-09    99.08   100.33   99.07    100.07   11108200     68.00288
2007-01-10    98.50    99.05   97.93     98.89    8744800     67.20101
chartSeries(IBM)


IBM_ohlc <- IBM[,1:4]
head(IBM_ohlc)
           IBM.Open IBM.High IBM.Low IBM.Close
2007-01-03    97.18    98.40   96.26     97.27
2007-01-04    97.25    98.79   96.88     98.31
2007-01-05    97.60    97.95   96.91     97.42
2007-01-08    98.50    99.50   98.35     98.90
2007-01-09    99.08   100.33   99.07    100.07
2007-01-10    98.50    99.05   97.93     98.89

2)提取其中的收盘价,并画出其时间序列图;

IBM_c <- IBM[,4]
head(IBM_c)
           IBM.Close
2007-01-03     97.27
2007-01-04     98.31
2007-01-05     97.42
2007-01-08     98.90
2007-01-09    100.07
2007-01-10     98.89
chartSeries(IBM_c)

3)计算收盘价的每日简单收益率、对数收益率;


IBM.srr <- 1 / (IBM_c$IBM.Close / diff(IBM_c$IBM.Close) - 1)
IBM.lrr <- diff(log(IBM_c$IBM.Close))

head(IBM.srr)
              IBM.Close
2007-01-03           NA
2007-01-04  0.010691899
2007-01-05 -0.009052996
2007-01-08  0.015191994
2007-01-09  0.011830111
2007-01-10 -0.011791756
head(IBM.lrr)
              IBM.Close
2007-01-03           NA
2007-01-04  0.010635145
2007-01-05 -0.009094223
2007-01-08  0.015077751
2007-01-09  0.011760682
2007-01-10 -0.011861830

4)画出收盘价对数收益率的时间序列图。

#chartSeries(IBM.srr)
chartSeries(IBM.lrr)

  1. 考虑从2001年9月1日到2011年9月30日美国运通公司(AXP)、CRSP价值权重指数(VW)、CRSO的等权重指数(EW)以及S&P综合指数的日简单收益率。收益率中包含有支付的股息。数据来自d-axp3dx-0111.txt.

读取数据:

foo <- read.table(file = 'C:\\Users\\Ensom\\Documents\\Rscript\\d-axp3dx-0111.txt', header = T, row.names = 1)

head(foo)
  1. 计算每个收益率序列的样本均值、标准差、偏度、超额峰度、最大值和最小值;
MEAN <- apply(foo, MARGIN = 2, FUN = mean)
SD <- apply(foo, MARGIN = 2, FUN = sd)
SKEW <- apply(foo, MARGIN = 2, FUN = skewness)
KURT <- apply(foo, MARGIN = 2, FUN = kurtosis)
EX_KURT <- KURT - 3
MAX <- apply(foo, MARGIN = 2, FUN = max)
MIN <- apply(foo, MARGIN = 2, FUN = min)
rbind(MEAN, SD, SKEW, EX_KURT, MAX, MIN)
                  axp            vw            ew            sp
MEAN     0.0005339487  0.0002240615  0.0006258233  0.0000942284
SD       0.0263684068  0.0136518353  0.0120803692  0.0137791170
SKEW     0.4597733639 -0.0983183709 -0.2474101701  0.0081519428
EX_KURT  6.5920528473  4.9821338456  5.1084277351  5.5326673290
MAX      0.2064850000  0.1148890000  0.1074220000  0.1158000000
MIN     -0.1759490000 -0.0897620000 -0.0782400000 -0.0903500000
  1. 把简单收益率转换成对数收益率,计算每个对数收益率的样本均值、标准差、偏度、超额峰度、最大值和最小值;
foo_l <- log(foo + 1)  #将简单收益率转换为对数收益率,并存入foo_l

MEAN <- apply(foo_l, MARGIN = 2, FUN = mean)
SD <- apply(foo_l, MARGIN = 2, FUN = sd)
SKEW <- apply(foo_l, MARGIN = 2, FUN = skewness)
KURT <- apply(foo_l, MARGIN = 2, FUN = kurtosis)  #峰度
EX_KURT <- KURT - 3                             #超额峰度(峰度-3)
MAX <- apply(foo_l, MARGIN = 2, FUN = max)
MIN <- apply(foo_l, MARGIN = 2, FUN = min)

rbind(MEAN, SD, SKEW, EX_KURT, MAX, MIN)
                  axp            vw            ew            sp
MEAN     0.0001880014  0.0001307504  0.0005525758 -7.486380e-07
SD       0.0262943876  0.0136703590  0.0120995505  1.379041e-02
SKEW     0.0209917876 -0.3003522828 -0.4273150537 -2.063569e-01
EX_KURT  6.0204992951  4.8800820200  5.0177118109  5.322826e+00
MAX      0.1877111733  0.1087548484  0.1020347916  1.095716e-01
MIN     -0.1935228578 -0.0940491752 -0.0814703930 -9.469537e-02

3、几何(X)和代数(Y)考试分数如下表。 X 79 75 77 73 78 81 76 72 70 Y 80 82 76 77 84 81 72 70 75

先在Excel中将原表的行列转置如下: X Y 79 80 75 82 77 76 73 77 78 84 81 81 76 72 72 70 70 75

读取数据:

da = read.table("clipboard",header = T)  #需要先复制上面的表格
print(da)

(1)请建立由X估计Y的回归方程;

plot(da$X, da$Y)


z <- lm(da$Y~da$X)
print(z)

Call:
lm(formula = da$Y ~ da$X)

Coefficients:
(Intercept)         da$X  
    18.1722       0.7833  

故,回归方程为 Y == 18.1722 + 0.7833 * X

(2)检验回归方程的显著性;

summary(z)

Call:
lm(formula = da$Y ~ da$X)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.7056 -2.4889 -0.0556  1.9944  5.0778 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  18.1722    30.6805   0.592   0.5723  
da$X          0.7833     0.4051   1.934   0.0944 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.051 on 7 degrees of freedom
Multiple R-squared:  0.3482,    Adjusted R-squared:  0.2551 
F-statistic:  3.74 on 1 and 7 DF,  p-value: 0.09439

X后有“.”标记,可知在0.95的置信度下是显著的

(3)几何得分为71分的学生,其代数分数为几何?

x1 = 71
y1 = 18.1722 + 0.7833 * x1
print(y1)
[1] 73.7865

故,估计其代数分数为74分

4、 1)试画出正态分布N(5,100)的密度函数图和分布函数图;

curve(dnorm(x, 5, sqrt(100)), xlim = c(5-30, 5+30), col = 'darkblue', lwd = 2)  #密度函数图


curve(pnorm(x, 5, sqrt(100)), xlim = c(5-40, 5+40), col = 'darkred', lwd = 2)  #分布函数图

2)试求出服从正态分布N(5,100)的随机数1000个,并画出直方图,上面套上正态分布拟合图和非参数核函数拟合图(用不同颜色);

N <- 1000  #随机数容量
rand_set <- rnorm(N, 5, 10)  #产生随机数

hist(rand_set, xlim = c(min(rand_set)-5, max(rand_set))+5, probability = T, nclass = max(rand_set) - min(rand_set) + 1, col = 'lightblue', main = 'N(5,100)')  #直方图

se <- seq(-40,40,length.out = 1000)
ye <- dnorm(se, 5, 10)
lines(se, ye, col="darkblue", lwd = 2)  #正态分布拟合图


lines(density(rand_set), col = 'red', lwd = 2)  #核函数拟合图

3)对随机数进行正态性检验,并给出结论。

normalTest(rand_set)

Title:
 Shapiro - Wilk Normality Test

Test Results:
  STATISTIC:
    W: 0.9984
  P VALUE:
    0.517 

Description:
 Thu Jun 18 23:46:56 2020 by user: Ensom

W = 0.9984 接近1,P VALUE=0.517 > 0.05,不能拒绝随机数服从正态分布的假设。

此外还可以使用QQ图检验:

qqnorm(rand_set, main="Normality Check via QQ Plot")   #QQ图
qqline(rand_set, col='red')     

可见,随机数点基本都在qq线附近,比较符合正态分布。

LS0tDQp0aXRsZTogIkhvbWV3b3JrIDEgLSAxOTQwODAyIC0gTElVIFJ1aXFpIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0K5a2m5Y+377yaMTk0MDgwMg0K5aeT5ZCN77ya5YiY552/5aWHDQoNCummluWFiOWvvOWFpeWfuuacrOeahOaooeWdl+OAgg0KYGBge3J9DQpsaWJyYXJ5KGZCYXNpY3MpDQpsaWJyYXJ5KFRUUikNCmxpYnJhcnkoeHRzKQ0KbGlicmFyeSh6b28pDQpsaWJyYXJ5KHF1YW50bW9kKQ0KYGBgDQoNCg0KDQox44CBDQox77yJ6K+V5LiL6L29SUJN5YWs5Y+46IKh56Wo5q+P5pel55qE5byA55uY5Lu344CB5pS255uY5Lu344CB5pyA6auY5Lu344CB5pyA5L2O5Lu377ybDQpgYGB7cn0NCmdldFN5bWJvbHMoJ0lCTScpDQpoZWFkKElCTSkNCmNoYXJ0U2VyaWVzKElCTSkgICPkvZzlm77vvIzpnZ7popjnm67opoHmsYINCg0KSUJNX29obGMgPC0gSUJNWywxOjRdICAj5bCG5byA55uY5Lu344CB5pS255uY5Lu344CB5pyA6auY5Lu344CB5pyA5L2O5Lu35a2Y5YWl5Y+Y6YePSUJNX29obGMNCmhlYWQoSUJNX29obGMpDQoNCmBgYA0KDQoNCg0KMu+8ieaPkOWPluWFtuS4reeahOaUtuebmOS7t++8jOW5tueUu+WHuuWFtuaXtumXtOW6j+WIl+Wbvu+8mw0KYGBge3J9DQpJQk1fYyA8LSBJQk1bLDRdICAj5bCG5pS255uY5Lu35a2Y5YWl5Y+Y6YePSUJNX2MNCmhlYWQoSUJNX2MpDQoNCmNoYXJ0U2VyaWVzKElCTV9jKQ0KYGBgDQoNCg0KDQoz77yJ6K6h566X5pS255uY5Lu355qE5q+P5pel566A5Y2V5pS255uK546H44CB5a+55pWw5pS255uK546H77ybDQpgYGB7cn0NCg0KSUJNLnNyciA8LSAxIC8gKElCTV9jJElCTS5DbG9zZSAvIGRpZmYoSUJNX2MkSUJNLkNsb3NlKSAtIDEpICAj566A5Y2V5pS255uK546HDQpJQk0ubHJyIDwtIGRpZmYobG9nKElCTV9jJElCTS5DbG9zZSkpICAgICAgICAgICAgICAgICAgICAgICAgICPlr7nmlbDmlLbnm4rnjocNCg0KaGVhZChJQk0uc3JyKQ0KaGVhZChJQk0ubHJyKQ0KDQpgYGANCg0KDQoNCjTvvInnlLvlh7rmlLbnm5jku7flr7nmlbDmlLbnm4rnjofnmoTml7bpl7Tluo/liJflm77jgIINCmBgYHtyfQ0KY2hhcnRTZXJpZXMoSUJNLnNycikgICPnroDljZXmlLbnm4rnjofml7bpl7Tluo/liJflm77vvIzpnZ7popjnm67opoHmsYINCmNoYXJ0U2VyaWVzKElCTS5scnIpICAj5a+55pWw5pS255uK546H5pe26Ze05bqP5YiX5Zu+DQpgYGANCg0KDQoNCg0KDQoyLiDogIPomZHku44yMDAx5bm0OeaciDHml6XliLAyMDEx5bm0OeaciDMw5pel576O5Zu96L+Q6YCa5YWs5Y+477yIQVhQ77yJ44CBQ1JTUOS7t+WAvOadg+mHjeaMh+aVsO+8iFZX77yJ44CBQ1JTT+eahOetieadg+mHjeaMh+aVsO+8iEVX77yJ5Lul5Y+KUyZQ57u85ZCI5oyH5pWw55qE5pel566A5Y2V5pS255uK546H44CC5pS255uK546H5Lit5YyF5ZCr5pyJ5pSv5LuY55qE6IKh5oGv44CC5pWw5o2u5p2l6IeqZC1heHAzZHgtMDExMS50eHQuDQoNCuivu+WPluaVsOaNru+8mg0KYGBge3J9DQpmb28gPC0gcmVhZC50YWJsZShmaWxlID0gJ0M6XFxVc2Vyc1xcRW5zb21cXERvY3VtZW50c1xcUnNjcmlwdFxcZC1heHAzZHgtMDExMS50eHQnLCBoZWFkZXIgPSBULCByb3cubmFtZXMgPSAxKQ0KDQpoZWFkKGZvbykNCmBgYA0KDQoNCg0KKGEpIOiuoeeul+avj+S4quaUtuebiueOh+W6j+WIl+eahOagt+acrOWdh+WAvOOAgeagh+WHhuW3ruOAgeWBj+W6puOAgei2hemineWzsOW6puOAgeacgOWkp+WAvOWSjOacgOWwj+WAvO+8mw0KYGBge3J9DQpNRUFOIDwtIGFwcGx5KGZvbywgTUFSR0lOID0gMiwgRlVOID0gbWVhbikNClNEIDwtIGFwcGx5KGZvbywgTUFSR0lOID0gMiwgRlVOID0gc2QpDQpTS0VXIDwtIGFwcGx5KGZvbywgTUFSR0lOID0gMiwgRlVOID0gc2tld25lc3MpDQpLVVJUIDwtIGFwcGx5KGZvbywgTUFSR0lOID0gMiwgRlVOID0ga3VydG9zaXMpICAj5bOw5bqmDQpFWF9LVVJUIDwtIEtVUlQgLSAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj6LaF6aKd5bOw5bqm77yI5bOw5bqmLTPvvIkNCk1BWCA8LSBhcHBseShmb28sIE1BUkdJTiA9IDIsIEZVTiA9IG1heCkNCk1JTiA8LSBhcHBseShmb28sIE1BUkdJTiA9IDIsIEZVTiA9IG1pbikNCg0KcmJpbmQoTUVBTiwgU0QsIFNLRVcsIEVYX0tVUlQsIE1BWCwgTUlOKQ0KYGBgDQoNCg0KDQooYikg5oqK566A5Y2V5pS255uK546H6L2s5o2i5oiQ5a+55pWw5pS255uK546H77yM6K6h566X5q+P5Liq5a+55pWw5pS255uK546H55qE5qC35pys5Z2H5YC844CB5qCH5YeG5beu44CB5YGP5bqm44CB6LaF6aKd5bOw5bqm44CB5pyA5aSn5YC85ZKM5pyA5bCP5YC877ybDQpgYGB7cn0NCmZvb19sIDwtIGxvZyhmb28gKyAxKSAgI+WwhueugOWNleaUtuebiueOh+i9rOaNouS4uuWvueaVsOaUtuebiueOh++8jOW5tuWtmOWFpWZvb19sDQoNCk1FQU4gPC0gYXBwbHkoZm9vX2wsIE1BUkdJTiA9IDIsIEZVTiA9IG1lYW4pDQpTRCA8LSBhcHBseShmb29fbCwgTUFSR0lOID0gMiwgRlVOID0gc2QpDQpTS0VXIDwtIGFwcGx5KGZvb19sLCBNQVJHSU4gPSAyLCBGVU4gPSBza2V3bmVzcykNCktVUlQgPC0gYXBwbHkoZm9vX2wsIE1BUkdJTiA9IDIsIEZVTiA9IGt1cnRvc2lzKSAgI+WzsOW6pg0KRVhfS1VSVCA8LSBLVVJUIC0gMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj6LaF6aKd5bOw5bqm77yI5bOw5bqmLTPvvIkNCk1BWCA8LSBhcHBseShmb29fbCwgTUFSR0lOID0gMiwgRlVOID0gbWF4KQ0KTUlOIDwtIGFwcGx5KGZvb19sLCBNQVJHSU4gPSAyLCBGVU4gPSBtaW4pDQoNCnJiaW5kKE1FQU4sIFNELCBTS0VXLCBFWF9LVVJULCBNQVgsIE1JTikNCg0KYGBgDQoNCg0KDQoNCg0KM+OAgeWHoOS9le+8iFjvvInlkozku6PmlbDvvIhZ77yJ6ICD6K+V5YiG5pWw5aaC5LiL6KGo44CCDQpYCTc5CTc1CTc3CTczCTc4CTgxCTc2CTcyCTcwDQpZCTgwCTgyCTc2CTc3CTg0CTgxCTcyCTcwCTc1DQoNCuWFiOWcqEV4Y2Vs5Lit5bCG5Y6f6KGo55qE6KGM5YiX6L2s572u5aaC5LiL77yaDQpYCVkNCjc5CTgwDQo3NQk4Mg0KNzcJNzYNCjczCTc3DQo3OAk4NA0KODEJODENCjc2CTcyDQo3Mgk3MA0KNzAJNzUNCg0K6K+75Y+W5pWw5o2u77yaDQpgYGB7cn0NCmRhID0gcmVhZC50YWJsZSgiY2xpcGJvYXJkIixoZWFkZXIgPSBUKSAgI+mcgOimgeWFiOWkjeWItuS4iumdoueahOihqOagvA0KcHJpbnQoZGEpDQpgYGANCg0KDQoNCu+8iDHvvInor7flu7rnq4vnlLFY5Lyw6K6hWeeahOWbnuW9kuaWueeoi++8mw0KYGBge3J9DQpwbG90KGRhJFgsIGRhJFkpICAj5pWj54K55Zu+77yM6Z2e6aKY55uu6KaB5rGCDQoNCnogPC0gbG0oZGEkWX5kYSRYKQ0KcHJpbnQoeikNCmBgYA0K5pWF77yM5Zue5b2S5pa556iL5Li6IFkgPT0gMTguMTcyMiArIDAuNzgzMyAqIFggDQoNCg0KDQoNCu+8iDLvvInmo4Dpqozlm57lvZLmlrnnqIvnmoTmmL7okZfmgKfvvJsNCmBgYHtyfQ0Kc3VtbWFyeSh6KQ0KYGBgDQpY5ZCO5pyJ4oCcLuKAneagh+iusO+8jOWPr+efpeWcqDAuOTXnmoTnva7kv6HluqbkuIvmmK/mmL7okZfnmoQNCg0KDQoNCu+8iDPvvInlh6DkvZXlvpfliIbkuLo3MeWIhueahOWtpueUn++8jOWFtuS7o+aVsOWIhuaVsOS4uuWHoOS9le+8nw0KYGBge3J9DQp4MSA9IDcxDQp5MSA9IDE4LjE3MjIgKyAwLjc4MzMgKiB4MQ0KcHJpbnQoeTEpDQpgYGANCuaVhe+8jOS8sOiuoeWFtuS7o+aVsOWIhuaVsOS4ujc05YiGDQoNCg0KDQo044CBDQox77yJ6K+V55S75Ye65q2j5oCB5YiG5biDTig1LDEwMCnnmoTlr4bluqblh73mlbDlm77lkozliIbluIPlh73mlbDlm77vvJsNCmBgYHtyfQ0KY3VydmUoZG5vcm0oeCwgNSwgc3FydCgxMDApKSwgeGxpbSA9IGMoNS0zMCwgNSszMCksIGNvbCA9ICdkYXJrYmx1ZScsIGx3ZCA9IDIpICAj5a+G5bqm5Ye95pWw5Zu+DQoNCmN1cnZlKHBub3JtKHgsIDUsIHNxcnQoMTAwKSksIHhsaW0gPSBjKDUtNDAsIDUrNDApLCBjb2wgPSAnZGFya3JlZCcsIGx3ZCA9IDIpICAj5YiG5biD5Ye95pWw5Zu+DQpgYGANCg0KDQoNCjLvvInor5XmsYLlh7rmnI3ku47mraPmgIHliIbluINOKDUsMTAwKeeahOmaj+acuuaVsDEwMDDkuKrvvIzlubbnlLvlh7rnm7Tmlrnlm77vvIzkuIrpnaLlpZfkuIrmraPmgIHliIbluIPmi5/lkIjlm77lkozpnZ7lj4LmlbDmoLjlh73mlbDmi5/lkIjlm77vvIjnlKjkuI3lkIzpopzoibLvvInvvJsNCmBgYHtyfQ0KTiA8LSAxMDAwICAj6ZqP5py65pWw5a656YePDQpyYW5kX3NldCA8LSBybm9ybShOLCA1LCAxMCkgICPkuqfnlJ/pmo/mnLrmlbANCg0KaGlzdChyYW5kX3NldCwgeGxpbSA9IGMobWluKHJhbmRfc2V0KS01LCBtYXgocmFuZF9zZXQpKSs1LCBwcm9iYWJpbGl0eSA9IFQsIG5jbGFzcyA9IG1heChyYW5kX3NldCkgLSBtaW4ocmFuZF9zZXQpICsgMSwgY29sID0gJ2xpZ2h0Ymx1ZScsIG1haW4gPSAnTig1LDEwMCknKSAgI+ebtOaWueWbvg0KDQpzZSA8LSBzZXEoLTQwLDQwLGxlbmd0aC5vdXQgPSAxMDAwKQ0KeWUgPC0gZG5vcm0oc2UsIDUsIDEwKQ0KbGluZXMoc2UsIHllLCBjb2w9ImRhcmtibHVlIiwgbHdkID0gMikgICPmraPmgIHliIbluIPmi5/lkIjlm74NCg0KDQpsaW5lcyhkZW5zaXR5KHJhbmRfc2V0KSwgY29sID0gJ3JlZCcsIGx3ZCA9IDIpICAj5qC45Ye95pWw5ouf5ZCI5Zu+DQpgYGANCg0KDQoNCjPvvInlr7npmo/mnLrmlbDov5vooYzmraPmgIHmgKfmo4DpqozvvIzlubbnu5nlh7rnu5PorrrjgIINCmBgYHtyfQ0Kbm9ybWFsVGVzdChyYW5kX3NldCkgICNmQmFzaWNz5YyF6L+b6KGMS29sbW9nb3Jvdi1TbWlybm925q2j5oCB5oCn5qOA6aqMDQpgYGANClcgPSAwLjk5ODQg5o6l6L+RMe+8jFAgVkFMVUU9MC41MTcgPiAwLjA177yM5LiN6IO95ouS57ud6ZqP5py65pWw5pyN5LuO5q2j5oCB5YiG5biD55qE5YGH6K6+44CCDQoNCg0KDQrmraTlpJbov5jlj6/ku6Xkvb/nlKhRUeWbvuajgOmqjO+8mg0KYGBge3J9DQpxcW5vcm0ocmFuZF9zZXQsIG1haW49Ik5vcm1hbGl0eSBDaGVjayB2aWEgUVEgUGxvdCIpICAgI1FR5Zu+DQpxcWxpbmUocmFuZF9zZXQsIGNvbD0ncmVkJykgICAgIA0KYGBgDQrlj6/op4HvvIzpmo/mnLrmlbDngrnln7rmnKzpg73lnKhxcee6v+mZhOi/ke+8jOavlOi+g+espuWQiOato+aAgeWIhuW4g+OAgg0KDQoNCg0KDQo=