r - 汇总了海量数据,如何用R来处理?

标签 r summary forex

我正在研究 EBS,即外汇市场限价订单簿 (LOB):以下是 100 毫秒时间片内的 LOB 示例:

datetime|side(0=Bid,1=Ask)| distance(1:best price, 2: 2nd best, etc.)| price
2008/01/28,09:11:28.000,0,1,1.6066
2008/01/28,09:11:28.000,0,2,1.6065
2008/01/28,09:11:28.000,0,3,1.6064
2008/01/28,09:11:28.000,0,4,1.6063
2008/01/28,09:11:28.000,0,5,1.6062

2008/01/28,09:11:28.000,1,1,1.6067
2008/01/28,09:11:28.000,1,2,1.6068
2008/01/28,09:11:28.000,1,3,1.6069
2008/01/28,09:11:28.000,1,4,1.6070
2008/01/28,09:11:28.000,1,5,1.6071

2008/01/28,09:11:28.500,0,1,1.6065 (I skip the rest)

总结数据,他们有两个规则(为了简单起见,我对其进行了一些更改):

  1. 如果买价或卖价方面的LOB没有变化,他们将不会记录该方面。看最后一行数据,毫秒是 000,现在是 500,这意味着在 100、200、300 和 400 毫秒内,两边的 LOB 都没有变化(但这些信息对于任何计算都很重要)。

  2. 最后一个价格(仅最后一个)将从订单簿的给定端删除。在本例中,是价格字段中没有任何内容的单个记录。同样,那时将没有整个 LOB 的记录。

    示例:2008/01/28,09:11:28.800,0,1,

我想计算minAsk-maxBid(1.6067-1.6066)或加权平均价格(使用所有距离的大小作为权重,我的真实数据中有大小列)。我想为我的整个数据做一些事情。但正如你所看到的,数据已经被汇总了,这不是例行公事。我已经编写了一段代码来生成整个数据(而不仅仅是摘要)。这对于小数据集来说很好,但对于大数据集,我正在创建一个巨大的文件。我想知道您对如何处理数据有什么建议吗?如何在高效的同时填补空白。

最佳答案

您没有提供一个很好的可重现示例,因此这将是伪/未经测试的代码。仔细阅读文档并根据需要进行调整。

我建议您首先过滤数据并将其拆分为两个数据框:

best.bid <- subset(data, side == 0 & distance == 1)
best.ask <- subset(data, side == 1 & distance == 1)

然后,对于这两个 data.frame 中的每一个,使用 findInterval计算相应的最佳要价或最佳出价:

best.bid$ask <- best.ask$price[findInterval(best.bid$time, best.ask$time)]
best.ask$bid <- best.bid$price[findInterval(best.ask$time, best.bid$time)]

(为此,您可能必须将日期/时间转换为线性度量,例如自开市以来的秒数时间。)

那么应该很容易:

min.spread <- min(c(best.bid$ask - best.bid$price,
                    best.ask$bid - best.ask$price))

我不确定我是否理解收盘时的特殊性,但我打赌您可以计算市场收盘时的价差并将其添加到最终的 min 中打电话。


对于加权平均价格,使用相同的想法,但不是两个 best.bidbest.ask data.frames,你应该从两个 weighted.avg.bid 开始和weighted.avg.ask数据框。

关于r - 汇总了海量数据,如何用R来处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18524032/

相关文章:

将 csv 文件读入数据帧列表 r

r - 从绘图的 bin 生成汇总表

python - Pandas 使用计数和条件总结不同的数据类型

yahoo - YQL外汇历史价格查询——如何更改默认精度

mql4 - 算法交易 : How to incorporate this type of trailing stop?

Python 2.7 和 Pandas 将 2 个 csv 文件与外汇数据合并

r - 是否有 R 代码集使用 PubMed ID 或 DOI 来获取该文章的数据文件?

c++ - 在 Linux 中编译 RInside 示例失败

R read.xlsx colClasses 问题

c# - 如何在另一个类中继承 C# 的摘要? (像继承 Java)