R语言使用案例一:自动获取股票数据可视化

knitr::opts_chunk$set(echo = TRUE)

R语言使用案例一

:设计函数:自动获取股票数据可视化。

封装的函数功能包括:

1.使用quantmod包中的getSymbols函数来抓取实时的股票数据;

2.使用quantmod包中的chartSeries函数进行可视化输出K线图和相关指标;

3.利用DT包中的datatable函数进行数据展示;

4.再利用dygraphs包中的dygraph函数进行可交互的可视化输出.

参数说明:

 stock_code: 股票代码(格式如"600000.ss", 其中后缀:上证.ss,深证.sz,港股.hk)
 start_time: 选择起始时间,格式如"2017-02-04"的字符串
 end——time:选择终止时间,格式如"2017-04-04"的字符串

封装函数R代码:


library(quantmod)
library(dygraphs)
library(DT)
require(TTR)

## 函数名:
Get_Stock <- function(stock_code, start_time, end_time){

    ## 1.获取数据,默认为雅虎网站
    stock_data <- getSymbols(stock_code, from = start_time, to=end_time, auto.assign = FALSE)

    ## 2.画可交互的K线图:
    k.data <- stock_data
    colnames(k.data) <- c("Open","High","LOW","Close","Volume","Adjusted")
    k.graph <- dygraph(k.data[,1:4], main = stock_code) %>%
      dyCandlestick()

    ## 3.画不可交互的K线图:
    #### addVo 添加成交量
    #### addMACD 添加移动均线
    #### addSAR 抛物线转向指标显示市场价格变化的趋势,它是一个领先指标
    #### addDPO 区间震荡线DPO是一个排除价格趋势的震荡指标
    chartSeries(stock_data, name = stock_code,  TA="addVo(); addMACD(); 
                addSAR();addDPO()")
    ## 返回值:数据
    output <- list(k.graph, stock_data)
    return(output)
}

例子:整个函数体如上R代码,下面举个例子:以”600000.ss”为例,我们提取”2017-02-04”到”2017-04-04”时间段的数据进行可视化

output <- Get_Stock("600000.ss", "2017-02-04", "2017-04-04")
datatable(output[[2]])
output[[1]]

R语言使用案例一:自动获取股票数据可视化_第1张图片

R语言使用案例一:自动获取股票数据可视化_第2张图片

R语言使用案例一:自动获取股票数据可视化_第3张图片

如上图就是函数的输出了,包括静态的可视化部分,和动态的可交互的股价序列图。

你可能感兴趣的:(r语言实战)