美文网首页散文心理简友广场
R语言第三次作业(quantmod包在线读取股票数据)

R语言第三次作业(quantmod包在线读取股票数据)

作者: Cache_wood | 来源:发表于2021-07-13 12:54 被阅读0次
## 预加载相关的R包
library(timeSeries)                                
library(tseries)                                   
library(quantmod)             # 加载“金融量化建模包”



### 1. 时序数据处理
## 1) 输入并合并数据
### 联网在线读取股票数据,利用quantmod包
stock.names <- c('BABA','AMZN','FB')
getSymbols(stock.names, from='2020-01-01', to='2020-12-31', src="yahoo")   
start(BABA)                     
end(BABA)
class(BABA)         
head(BABA)
dim(BABA)                               
dim(AMZN)  
[1] "BABA" "AMZN" "FB"  
> start(BABA)                     
[1] "2020-01-02"
> end(BABA)
[1] "2020-12-30"
> class(BABA)         
[1] "xts" "zoo"
> head(BABA)
           BABA.Open BABA.High BABA.Low
2020-01-02    216.60   219.980   216.54
2020-01-03    216.35   218.203   216.01
2020-01-06    214.89   217.160   214.09
2020-01-07    217.64   218.940   216.69
2020-01-08    216.60   220.650   216.32
2020-01-09    221.50   223.080   220.82
           BABA.Close BABA.Volume BABA.Adjusted
2020-01-02     219.77    15873500        219.77
2020-01-03     217.00     8604500        217.00
2020-01-06     216.64    11885500        216.64
2020-01-07     217.63     9388000        217.63
2020-01-08     218.00    11959100        218.00
2020-01-09     221.78    13122500        221.78
> dim(BABA)                               
[1] 252   6
> dim(AMZN)  
[1] 252   6
assets <- merge.xts(BABA, AMZN, FB,all=FALSE)
dim(assets)
head(assets)       
class(assets)
> assets <- merge.xts(BABA, AMZN, FB,all=FALSE)
> dim(assets)
[1] 252  18
> head(assets)       
           BABA.Open BABA.High BABA.Low
2020-01-02    216.60   219.980   216.54
2020-01-03    216.35   218.203   216.01
2020-01-06    214.89   217.160   214.09
2020-01-07    217.64   218.940   216.69
2020-01-08    216.60   220.650   216.32
2020-01-09    221.50   223.080   220.82
           BABA.Close BABA.Volume BABA.Adjusted
2020-01-02     219.77    15873500        219.77
2020-01-03     217.00     8604500        217.00
2020-01-06     216.64    11885500        216.64
2020-01-07     217.63     9388000        217.63
2020-01-08     218.00    11959100        218.00
2020-01-09     221.78    13122500        221.78
           AMZN.Open AMZN.High AMZN.Low
2020-01-02   1875.00   1898.01  1864.15
2020-01-03   1864.50   1886.20  1864.50
2020-01-06   1860.00   1903.69  1860.00
2020-01-07   1904.50   1913.89  1892.04
2020-01-08   1898.04   1911.00  1886.44
2020-01-09   1909.89   1917.82  1895.80
           AMZN.Close AMZN.Volume AMZN.Adjusted
2020-01-02    1898.01     4029000       1898.01
2020-01-03    1874.97     3764400       1874.97
2020-01-06    1902.88     4061800       1902.88
2020-01-07    1906.86     4044900       1906.86
2020-01-08    1891.97     3508000       1891.97
2020-01-09    1901.05     3167300       1901.05
           FB.Open FB.High FB.Low FB.Close
2020-01-02  206.75  209.79 206.27   209.78
2020-01-03  207.21  210.40 206.95   208.67
2020-01-06  206.70  212.78 206.52   212.60
2020-01-07  212.82  214.58 211.75   213.06
2020-01-08  213.00  216.24 212.61   215.22
2020-01-09  217.54  218.38 216.28   218.30
           FB.Volume FB.Adjusted
2020-01-02  12077100      209.78
2020-01-03  11188400      208.67
2020-01-06  17058900      212.60
2020-01-07  14912400      213.06
2020-01-08  13475000      215.22
2020-01-09  12642800      218.30
> class(assets)
[1] "xts" "zoo"
## 2) 子集选择
assets <- assets[,c('BABA.Close', 'AMZN.Close','FB.Close')]     
dim(assets)
head(assets)
> assets <- assets[,c('BABA.Close', 'AMZN.Close','FB.Close')]     
> dim(assets)
[1] 252   3
> head(assets)
           BABA.Close AMZN.Close FB.Close
2020-01-02     219.77    1898.01   209.78
2020-01-03     217.00    1874.97   208.67
2020-01-06     216.64    1902.88   212.60
2020-01-07     217.63    1906.86   213.06
2020-01-08     218.00    1891.97   215.22
2020-01-09     221.78    1901.05   218.30
## 3) 随机抽样、按时序排序
assets.ts <- as.timeSeries(assets)                
class(assets.ts)
dim(assets.ts)
assets.samp <- sample(assets.ts, size=89)          

dim(assets.samp)
print(assets.samp)
sort(assets.samp)         
> assets.ts <- as.timeSeries(assets)                
> class(assets.ts)
[1] "timeSeries"
attr(,"package")
[1] "timeSeries"
> dim(assets.ts)
[1] 252   3
> assets.samp <- sample(assets.ts, size=89)          
> 
> dim(assets.samp)
[1] 89  3
> print(assets.samp)
GMT 
           BABA.Close AMZN.Close FB.Close
2020-03-24     185.75    1940.10   160.98
2020-12-23     256.18    3185.27   268.11
2020-04-17     209.50    2375.00   179.24
2020-02-24     206.16    2009.29   200.72
2020-09-29     276.93    3144.88   261.79
2020-07-14     248.58    3084.00   239.73
2020-09-14     274.10    3102.97   266.15
2020-08-03     257.94    3111.89   251.96
2020-11-12     264.31    3110.28   275.08
2020-02-28     208.00    1883.75   192.47
2020-01-17     227.43    1864.72   222.14
2020-01-24     213.75    1861.64   217.94
2020-08-14     253.97    3148.02   261.24
2020-01-10     223.83    1883.16   218.06
2020-05-27     201.18    2410.39   229.14
2020-01-07     217.63    1906.86   213.06
2020-03-11     198.91    1820.86   170.24
2020-09-01     298.00    3499.12   295.44
2020-12-28     222.36    3283.96   277.00
2020-01-13     230.48    1891.30   221.91
2020-01-14     226.49    1869.44   219.06
2020-05-07     196.49    2367.61   211.26
2020-09-18     272.41    2954.91   252.53
2020-01-16     223.94    1877.94   221.77
2020-12-07     264.00    3158.00   285.58
2020-10-15     299.46    3338.65   266.72
2020-12-02     261.32    3203.53   287.52
2020-02-20     218.04    2153.10   214.58
2020-08-05     264.91    3205.03   249.12
2020-02-03     213.10    2004.20   204.19
2020-05-21     212.16    2446.74   231.39
2020-04-16     212.66    2408.19   176.25
2020-05-08     201.19    2379.61   212.35
2020-10-13     308.78    3443.63   276.14
2020-08-28     289.00    3401.80   293.66
2020-08-07     252.10    3167.46   268.44
2020-07-31     251.02    3164.68   253.67
2020-06-04     218.04    2460.60   226.29
2020-06-15     217.03    2572.68   232.50
2020-11-27     276.48    3195.34   277.81
2020-09-25     271.09    3095.13   254.82
2020-06-22     221.41    2713.82   239.22
2020-09-24     269.73    3019.79   249.53
2020-10-02     288.17    3125.00   259.94
2020-08-18     259.20    3312.49   262.34
2020-04-01     187.56    1907.70   159.60
2020-04-27     203.69    2376.00   187.50
2020-12-30     238.39    3285.85   271.87
2020-04-30     202.67    2474.00   204.71
2020-08-21     265.80    3284.72   267.01
2020-05-14     201.30    2388.85   206.81
2020-01-29     212.02    1858.00   223.23
2020-12-15     255.11    3165.12   275.55
2020-03-25     188.56    1885.84   156.21
2020-06-18     223.54    2653.98   235.94
2020-10-01     290.05    3221.26   266.63
2020-04-07     198.00    2011.60   168.83
2020-12-03     266.91    3186.73   281.85
2020-05-28     199.49    2401.10   225.46
2020-09-03     282.50    3368.00   291.12
2020-08-25     286.00    3346.49   280.82
2020-05-20     216.79    2497.94   229.97
2020-12-14     256.03    3156.97   274.19
2020-03-31     194.48    1949.72   166.80
2020-07-29     252.45    3033.53   233.29
2020-02-14     219.63    2134.87   214.18
2020-01-02     219.77    1898.01   209.78
2020-02-07     216.53    2079.28   212.33
2020-01-09     221.78    1901.05   218.30
2020-08-26     291.96    3441.85   303.91
2020-11-25     277.72    3185.07   275.59
2020-01-22     222.37    1887.46   221.32
2020-07-20     254.81    3196.84   245.42
2020-03-13     194.00    1785.00   170.28
2020-05-06     195.17    2351.26   208.47
2020-06-25     222.16    2754.58   235.68
2020-01-08     218.00    1891.97   215.22
2020-10-09     299.74    3286.65   264.45
2020-02-19     222.14    2170.22   217.49
2020-02-27     205.03    1884.30   189.75
2020-01-23     219.13    1884.58   219.76
2020-04-14     204.78    2283.32   178.17
2020-11-05     287.75    3322.00   294.68
2020-09-11     271.61    3116.22   266.61
2020-09-30     293.98    3148.73   261.90
2020-12-21     260.43    3206.18   272.79
2020-12-17     264.43    3236.08   274.48
2020-04-28     201.15    2314.08   182.91
2020-02-18     220.52    2155.67   217.80
> sort(assets.samp)  
GMT
           BABA.Close AMZN.Close FB.Close
2020-01-02     219.77    1898.01   209.78
2020-01-07     217.63    1906.86   213.06
2020-01-08     218.00    1891.97   215.22
2020-01-09     221.78    1901.05   218.30
2020-01-10     223.83    1883.16   218.06
2020-01-13     230.48    1891.30   221.91
2020-01-14     226.49    1869.44   219.06
2020-01-16     223.94    1877.94   221.77
2020-01-17     227.43    1864.72   222.14
2020-01-22     222.37    1887.46   221.32
2020-01-23     219.13    1884.58   219.76
2020-01-24     213.75    1861.64   217.94
2020-01-29     212.02    1858.00   223.23
2020-02-03     213.10    2004.20   204.19
2020-02-07     216.53    2079.28   212.33
2020-02-14     219.63    2134.87   214.18
2020-02-18     220.52    2155.67   217.80
2020-02-19     222.14    2170.22   217.49
2020-02-20     218.04    2153.10   214.58
2020-02-24     206.16    2009.29   200.72
2020-02-27     205.03    1884.30   189.75
2020-02-28     208.00    1883.75   192.47
2020-03-11     198.91    1820.86   170.24
2020-03-13     194.00    1785.00   170.28
2020-03-24     185.75    1940.10   160.98
2020-03-25     188.56    1885.84   156.21
2020-03-31     194.48    1949.72   166.80
2020-04-01     187.56    1907.70   159.60
2020-04-07     198.00    2011.60   168.83
2020-04-14     204.78    2283.32   178.17
2020-04-16     212.66    2408.19   176.25
2020-04-17     209.50    2375.00   179.24
2020-04-27     203.69    2376.00   187.50
2020-04-28     201.15    2314.08   182.91
2020-04-30     202.67    2474.00   204.71
2020-05-06     195.17    2351.26   208.47
2020-05-07     196.49    2367.61   211.26
2020-05-08     201.19    2379.61   212.35
2020-05-14     201.30    2388.85   206.81
2020-05-20     216.79    2497.94   229.97
2020-05-21     212.16    2446.74   231.39
2020-05-27     201.18    2410.39   229.14
2020-05-28     199.49    2401.10   225.46
2020-06-04     218.04    2460.60   226.29
2020-06-15     217.03    2572.68   232.50
2020-06-18     223.54    2653.98   235.94
2020-06-22     221.41    2713.82   239.22
2020-06-25     222.16    2754.58   235.68
2020-07-14     248.58    3084.00   239.73
2020-07-20     254.81    3196.84   245.42
2020-07-29     252.45    3033.53   233.29
2020-07-31     251.02    3164.68   253.67
2020-08-03     257.94    3111.89   251.96
2020-08-05     264.91    3205.03   249.12
2020-08-07     252.10    3167.46   268.44
2020-08-14     253.97    3148.02   261.24
2020-08-18     259.20    3312.49   262.34
2020-08-21     265.80    3284.72   267.01
2020-08-25     286.00    3346.49   280.82
2020-08-26     291.96    3441.85   303.91
2020-08-28     289.00    3401.80   293.66
2020-09-01     298.00    3499.12   295.44
2020-09-03     282.50    3368.00   291.12
2020-09-11     271.61    3116.22   266.61
2020-09-14     274.10    3102.97   266.15
2020-09-18     272.41    2954.91   252.53
2020-09-24     269.73    3019.79   249.53
2020-09-25     271.09    3095.13   254.82
2020-09-29     276.93    3144.88   261.79
2020-09-30     293.98    3148.73   261.90
2020-10-01     290.05    3221.26   266.63
2020-10-02     288.17    3125.00   259.94
2020-10-09     299.74    3286.65   264.45
2020-10-13     308.78    3443.63   276.14
2020-10-15     299.46    3338.65   266.72
2020-11-05     287.75    3322.00   294.68
2020-11-12     264.31    3110.28   275.08
2020-11-25     277.72    3185.07   275.59
2020-11-27     276.48    3195.34   277.81
2020-12-02     261.32    3203.53   287.52
2020-12-03     266.91    3186.73   281.85
2020-12-07     264.00    3158.00   285.58
2020-12-14     256.03    3156.97   274.19
2020-12-15     255.11    3165.12   275.55
2020-12-17     264.43    3236.08   274.48
2020-12-21     260.43    3206.18   272.79
2020-12-23     256.18    3185.27   268.11
2020-12-28     222.36    3283.96   277.00
2020-12-30     238.39    3285.85   271.87
# (5) 数据频度转换
assets.m <- to.monthly(assets)
print(assets.m)
> assets.m <- to.monthly(assets)
> print(assets.m)
          assets.Open assets.High assets.Low
1月 2020       219.77      230.48     205.47
2月 2020       213.10      224.31     205.03
3月 2020       210.98      211.96     176.34
4月 2020       187.56      212.66     187.11
5月 2020       194.48      217.20     191.15
6月 2020       206.57      228.75     206.57
7月 2020       215.95      261.58     215.95
8月 2020       257.94      291.96     248.13
9月 2020       298.00      298.00     267.55
10月 2020      290.05      317.14     288.17
11月 2020      310.84      310.84     255.83
12月 2020      264.01      267.25     222.00
          assets.Close
1月 2020        206.59
2月 2020        208.00
3月 2020        194.48
4月 2020        202.67
5月 2020        207.39
6月 2020        215.70
7月 2020        251.02
8月 2020        287.03
9月 2020        293.98
10月 2020       304.69
11月 2020       263.36
12月 2020       238.39

获取阿里巴巴股票信息

chartSeries(BABA)

相关文章

网友评论

    本文标题:R语言第三次作业(quantmod包在线读取股票数据)

    本文链接:https://www.haomeiwen.com/subject/enjvjltx.html