1、获取每日行情数据
> stock<-getSymbols("600742.ss",from="2017-01-01",to="2017-01-20",src="yahoo",auto.assign=FALSE)
> stock
600742.SS.Open 600742.SS.High 600742.SS.Low 600742.SS.Close 600742.SS.Volume 600742.SS.Adjusted
2017-01-02 16.13 16.13 16.13 16.13 0 16.13
2017-01-03 16.15 16.56 16.13 16.52 5483400 16.52
2017-01-04 16.52 16.83 16.33 16.78 10726100 16.78
2017-01-05 16.68 16.79 16.56 16.59 5863500 16.59
2017-01-06 16.60 17.16 16.60 17.00 9846200 17.00
2017-01-09 16.90 17.79 16.86 17.65 12868900 17.65
2017-01-10 17.65 17.72 17.30 17.41 7709800 17.41
2017-01-11 17.36 17.54 16.83 16.89 7001100 16.89
2017-01-12 16.96 17.31 16.91 17.04 6430800 17.04
2017-01-13 17.04 17.14 16.56 16.58 6479300 16.58
2017-01-16 16.58 16.58 15.53 16.26 8785800 16.26
2017-01-17 16.25 16.60 16.09 16.59 5856200 16.59
2017-01-18 16.50 16.79 16.46 16.66 3769200 16.66
2017-01-19 16.70 16.79 16.56 16.59 2953600 16.59
2017-01-20 16.59 16.74 16.48 16.69 5595000 16.69
2、获取股息数据
> getDividends("600742.ss",from="2013-01-01",to="2017-01-01")
2013-06-18 0.56
2014-06-17 0.35
2015-06-09 0.48
2016-06-21 0.50
3、提取开盘价
> Op(stock)
600742.SS.Open
2017-01-02 16.13
2017-01-03 16.15
2017-01-04 16.52
2017-01-05 16.68
2017-01-06 16.60
2017-01-09 16.90
2017-01-10 17.65
2017-01-11 17.36
2017-01-12 16.96
2017-01-13 17.04
2017-01-16 16.58
2017-01-17 16.25
2017-01-18 16.50
2017-01-19 16.70
2017-01-20 16.59
此类函数还有:Hi()、Lo()、Cl()、Vo()、OHLC(),分别提取最高价、最低价、收盘价、成交量和四种价格数据。
4、计算变化率:Delt()函数
主要是用来计算一个序列的一个阶段到另一个阶段的变化率或者计算两个序列之间的变化率。
> Delt(Op(stock)) #计算每日开盘价格变化率
Delt.1.arithmetic
2017-01-02 NA
2017-01-03 0.001239926
2017-01-04 0.022910217
2017-01-05 0.009685230
2017-01-06 -0.004796163
2017-01-09 0.018072289
2017-01-10 0.044378698
2017-01-11 -0.016430595
2017-01-12 -0.023041475
2017-01-13 0.004716981
2017-01-16 -0.026995305
2017-01-17 -0.019903498
2017-01-18 0.015384615
2017-01-19 0.012121212
2017-01-20 -0.006586826
> Delt(Op(stock),Cl(stock)) #计算每日开盘价和收盘价之间的变化率
Delt.0.arithmetic
2017-01-02 0.000000000
2017-01-03 0.022910217
2017-01-04 0.015738499
2017-01-05 -0.005395683
2017-01-06 0.024096386
2017-01-09 0.044378698
2017-01-10 -0.013597734
2017-01-11 -0.027073733
2017-01-12 0.004716981
2017-01-13 -0.026995305
2017-01-16 -0.019300362
2017-01-17 0.020923077
2017-01-18 0.009696970
2017-01-19 -0.006586826
2017-01-20 0.006027728
5、first()函数和last()函数
求出对象的前k个元素或者后k个元素,类似数据框的head()和tail()函数。
> first(stock,3)
600742.SS.Open 600742.SS.High 600742.SS.Low 600742.SS.Close 600742.SS.Volume 600742.SS.Adjusted
2017-01-02 16.13 16.13 16.13 16.13 0 16.13
2017-01-03 16.15 16.56 16.13 16.52 5483400 16.52
2017-01-04 16.52 16.83 16.33 16.78 10726100 16.78
6、to.weekly()和to.monthly()函数
分别把OHLC数据转化为周数据或者月数据。
> to.weekly(stock)
stock.Open stock.High stock.Low stock.Close stock.Volume stock.Adjusted
2017-01-06 16.13 17.16 16.13 17.00 31919200 17.00
2017-01-13 16.90 17.79 16.56 16.58 40489900 16.58
2017-01-20 16.58 16.79 15.53 16.69 26959800 16.69
> to.monthly(stock)
stock.Open stock.High stock.Low stock.Close stock.Volume stock.Adjusted
1月 2017 16.13 17.79 15.53 16.69 99368900 16.69
7、返回整个时间序列价格的极值记录
> seriesLo(stock) #返回序列最低价记录
600742.SS.Open 600742.SS.High 600742.SS.Low 600742.SS.Close 600742.SS.Volume 600742.SS.Adjusted
2017-01-16 16.58 16.58 15.53 16.26 8785800 16.26
> seriesHi(stock) #返回序列最高价记录
600742.SS.Open 600742.SS.High 600742.SS.Low 600742.SS.Close 600742.SS.Volume 600742.SS.Adjusted
2017-01-09 16.9 17.79 16.86 17.65 12868900 17.65
8、获取市场上涨/下跌序列的逻辑值
> seriesIncr(Cl(stock),thresh=0, diff.=1L)
600742.SS.Close
2017-01-02 NA
2017-01-03 TRUE
2017-01-04 TRUE
2017-01-05 FALSE
2017-01-06 TRUE
2017-01-09 TRUE
2017-01-10 FALSE
2017-01-11 FALSE
2017-01-12 TRUE
2017-01-13 FALSE
2017-01-16 FALSE
2017-01-17 TRUE
2017-01-18 TRUE
2017-01-19 FALSE
2017-01-20 TRUE
> seriesDecr(Cl(stock),thresh=0, diff.=1L)
600742.SS.Close
2017-01-02 NA
2017-01-03 FALSE
2017-01-04 FALSE
2017-01-05 TRUE
2017-01-06 FALSE
2017-01-09 FALSE
2017-01-10 TRUE
2017-01-11 TRUE
2017-01-12 FALSE
2017-01-13 TRUE
2017-01-16 TRUE
2017-01-17 FALSE
2017-01-18 FALSE
2017-01-19 TRUE
2017-01-20 FALSE
9、获取市场持续上涨/下跌序列的逻辑值
> seriesAccel(Cl(stock))
600742.SS.Close
2017-01-02 NA
2017-01-03 NA
2017-01-04 FALSE
2017-01-05 FALSE
2017-01-06 TRUE
2017-01-09 TRUE
2017-01-10 FALSE
2017-01-11 FALSE
2017-01-12 TRUE
2017-01-13 FALSE
2017-01-16 TRUE
2017-01-17 TRUE
2017-01-18 FALSE
2017-01-19 FALSE
2017-01-20 TRUE
> seriesDecel(Cl(stock))
600742.SS.Close
2017-01-02 NA
2017-01-03 NA
2017-01-04 TRUE
2017-01-05 TRUE
2017-01-06 FALSE
2017-01-09 FALSE
2017-01-10 TRUE
2017-01-11 TRUE
2017-01-12 FALSE
2017-01-13 TRUE
2017-01-16 FALSE
2017-01-17 FALSE
2017-01-18 TRUE
2017-01-19 TRUE
2017-01-20 FALSE
10、序列向前K个周期
> Next(stock,1)
Next
2017-01-02 16.15
2017-01-03 16.52
2017-01-04 16.68
2017-01-05 16.60
2017-01-06 16.90
2017-01-09 17.65
2017-01-10 17.36
2017-01-11 16.96
2017-01-12 17.04
2017-01-13 16.58
2017-01-16 16.25
2017-01-17 16.50
2017-01-18 16.70
2017-01-19 16.59
2017-01-20 16.56
11、计算不同周期的收益率
> dailyReturn(stock)
daily.returns
2017-01-02 0.000000000
2017-01-03 0.024178549
2017-01-04 0.015738499
2017-01-05 -0.011323004
2017-01-06 0.024713683
2017-01-09 0.038235294
2017-01-10 -0.013597734
2017-01-11 -0.029867892
2017-01-12 0.008880995
2017-01-13 -0.026995305
2017-01-16 -0.019300362
2017-01-17 0.020295203
2017-01-18 0.004219409
2017-01-19 -0.004201681
2017-01-20 0.006027728
类似函数还有:weeklyReturn()、monthlyReturn()和yearlyReturn()。
12、获取配股数据
> getSplits("600755.ss")
600755.ss.spl
2004-05-17 0.5555556
2011-07-01 0.7692308
13、获取外汇数据
> getFX("USD/JPY",from=Sys.Date()-10,to=Sys.Date(),auto.assign=TRUE)
[1] "USDJPY"
> get("USDJPY")
USD.JPY
2017-02-14 113.725
2017-02-15 114.396
2017-02-16 113.720
2017-02-17 113.101
2017-02-18 112.793
2017-02-19 112.790
2017-02-20 113.073
2017-02-21 113.530
2017-02-22 113.357
2017-02-23 113.059
13、获取道琼斯指数数据
> getSymbols("DJIA",src="yahoo",from=Sys.Date()-10,to=Sys.Date())
[1] "DJIA"
> DJIA
DJIA.Open DJIA.High DJIA.Low DJIA.Close DJIA.Volume DJIA.Adjusted
2017-02-27 20808.71 20915.96 20706.20 20837.44 3582610000 20837.44
2017-02-28 20833.88 20921.64 20720.78 20812.24 4210140000 20812.24
2017-03-01 20957.29 21212.94 20924.14 21115.55 4345180000 21115.55
2017-03-02 21128.91 21200.31 20939.35 21002.97 3821320000 21002.97
2017-03-03 21008.75 21113.81 20898.60 21005.71 3555260000 21005.71
2017-03-06 20955.71 21041.62 20838.57 20954.34 3232700000 20954.34
(完)