簡體   English   中英

如何使用 R 中 tidyquant 包中的 tq_transmute 獲取 OHLC 每月高低數據

[英]How to get OHLC monthly high and low data using tq_transmute from tidyquant package in R

我是分析時間序列數據的新手,我正在尋找一些幫助從一些 OHLC 數據中拉出每月高價和低價的方法。 當我嘗試匯總每月的開盤價、最高價、最低價和收盤價時,只會拉取每個月最后一天的值,而不是每個月的最高(最高)和最低(最低)。 任何幫助是極大的贊賞。

library(tidyquant)
library(tidyverse)

amzn.prices <- tq_get("AMZN", get = "stock.prices", from = '2010-12-31', to = "2013-12-31")

monthly.amzn <-  tq_transmute(amzn.prices, mutate_fun = to.monthly)

目前,它只是拉動每個月的最后一次觀察。 相反,我想要第一次開盤、最高最高價、最低最低價、最后一次收盤價和總交易量。

在撰寫本文時:仍然是一個錯誤,請參閱github 問題 148

一種可能的解決方法,使用 tidyr、timetk 和 purrr。 使用 timetk 將數據轉換為 xts 格式,將數據轉換為每月(或任何其他時間段)並轉換回 data.frame 格式。 包括來自 tidyr 的 nest 和 unnest 以及來自 purrr 的 map。

即使對於多個股票代碼,下面的代碼也可以解決您的問題。

library(tidyquant)
library(dplyr)
library(tidyr)
library(timetk)

amzn.prices <- tq_get("AMZN", get = "stock.prices", from = '2010-12-31', to = "2013-12-31")



monthly.amzn <- amzn.prices %>% 
  group_by(symbol) %>% 
  nest() %>%   
  mutate(data = purrr::map(data, function(x) x %>% 
                             select(date, Open = open, High = high, Low = low, Close = close, Volume = volume) %>% 
                             tk_xts(x, select = c(Open, High, Low, Close, Volume), date_var = date) %>% 
                             to.monthly %>% 
                             tk_tbl)) %>% 
  unnest(data) %>% 
  rename_with( ~ tolower(gsub("..", "", .x, fixed = T))) %>% 
  rename(date = index)  


# A tibble: 37 x 7
# Groups:   symbol [1]
   symbol date       open  high   low close    volume
   <chr>  <yearmon> <dbl> <dbl> <dbl> <dbl>     <dbl>
 1 AMZN   dec 2010   182.  182.  180.  180    3451900
 2 AMZN   jan 2011   181.  192.  167.  170. 113611300
 3 AMZN   feb 2011   171.  191.  170.  173.  95776400
 4 AMZN   mrt 2011   174.  182.  161.  180. 118979100
 5 AMZN   apr 2011   182.  198.  175.  196. 116749400
 6 AMZN   mei 2011   197.  206.  191.  197. 106274500
 7 AMZN   jun 2011   196.  206.  182.  204.  95563700
 8 AMZN   jul 2011   206.  227.  204.  223.  92808500
 9 AMZN   aug 2011   225   227.  177.  215. 155194700
10 AMZN   sep 2011   215.  244   204.  216. 143623300

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM