在 R 中将交易列表转换为 Hourly/Daily 价格

Turning a List of Transactions into Hourly/Daily Prices in R

自 2013 年以来,我已经下载了大型交易所的每笔比特币交易清单。我现在拥有的是这样的:

                  Time Price    Volume
1  2013-03-31 22:07:49  93.3 80.628518
2  2013-03-31 22:08:13 100.0 20.000000
3  2013-03-31 22:08:14 100.0  1.000000
4  2013-03-31 22:08:16 100.0  5.900000
5  2013-03-31 22:08:19 100.0 29.833879
6  2013-03-31 22:08:21 100.0 20.000000
7  2013-03-31 22:08:25 100.0 10.000000
8  2013-03-31 22:08:29 100.0  1.000000 
9  2013-03-31 22:08:31 100.0  5.566121
10 2013-03-31 22:09:27  93.3 33.676862

我正在尝试使用 R 中的数据,但是当我 运行 getSymbols(BTC_XTS) 时,我的计算机不够强大,无法处理它].我正在尝试将其转换为如下格式(一天内的价格走势):

   Date       Open  High  Low   Close  Volume       Adj.Close
1  2014-04-11 32.64 33.48 32.15 32.87 28040700     32.87
2  2014-04-10 34.88 34.98 33.09 33.40 33970700     33.40
3  2014-04-09 34.19 35.00 33.95 34.87 21597500     34.87
4  2014-04-08 33.10 34.43 33.02 33.83 35440300     33.83
5  2014-04-07 34.11 34.37 32.53 33.07 47770200     33.07
6  2014-04-04 36.01 36.05 33.83 34.26 41049900     34.26
7  2014-04-03 36.66 36.79 35.51 35.76 16792000     35.76
8  2014-04-02 36.68 36.86 36.56 36.64 14522800     36.64
9  2014-04-01 36.16 36.86 36.15 36.49 15734000     36.49
10 2014-03-31 36.46 36.58 35.73 35.90 15153200     35.90

我是 R 的新手,如有任何回复,我们将不胜感激!

我不知道你说 "computer isn't powerful enough to handle processing it when [you] run getSymbols(BTC_XTS)" 是什么意思。 getSymbols 检索数据...为什么需要检索已有的数据?

此外,您没有调整后的收盘数据,因此输出中不可能有 Adj.Close 列。

您可以通过将输入数据强制转换为 xts 并对其调用 to.daily 来获得您想要的结果。例如:

require(xts)
Data <- structure(list(Time = c("2013-03-31 22:07:49", "2013-03-31 22:08:13", 
"2013-03-31 22:08:14", "2013-03-31 22:08:16", "2013-03-31 22:08:19", 
"2013-03-31 22:08:21", "2013-03-31 22:08:25", "2013-03-31 22:08:29", 
"2013-03-31 22:08:31", "2013-03-31 22:09:27"), Price = c(93.3, 
100, 100, 100, 100, 100, 100, 100, 100, 93.3), Volume = c(80.628518, 
20, 1, 5.9, 29.833879, 20, 10, 1, 5.566121, 33.676862)), .Names = c("Time", 
"Price", "Volume"), class = "data.frame", row.names = c(NA, -10L))
x <- xts(Data[,-1], as.POSIXct(Data[,1]))
d <- to.daily(x, name="BTC")