一、獲取每日行情數據ide
> 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
二、獲取股息數據函數
> 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
三、提取開盤價code
> 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(),分別提取最高價、最低價、收盤價、成交量和四種價格數據。對象
四、計算變化率:Delt()函數get
主要是用來計算一個序列的一個階段到另外一個階段的變化率或者計算兩個序列之間的變化率。it
> 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
五、first()函數和last()函數ast
求出對象的前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
六、to.weekly()和to.monthly()函數di
分別把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
七、返回整個時間序列價格的極值記錄
> 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
八、獲取市場上漲/下跌序列的邏輯值
> 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
九、獲取市場持續上漲/下跌序列的邏輯值
> 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
十、序列向前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
十一、計算不一樣週期的收益率
> 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()。
十二、獲取配股數據
> getSplits("600755.ss") 600755.ss.spl 2004-05-17 0.5555556 2011-07-01 0.7692308
1三、獲取外匯數據
> 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
1三、獲取道瓊斯指數數據
> 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
(完)