R:创建快速FIFO,如股票交易清单

时间:2013-06-04 14:44:31

标签: r finance

我有一些股票交易,股票数量由数量给出。数量的累计总和不能变为负数( cumsum(数量)永远不会为负数),因为我将始终先购买再卖出。例如:

Quantity <- c(3,-1,-2,3,-1,2,-4)

现在我想创建一个交易清单,其中每笔交易必须具有相同数量的买卖股票( sum(TradeN)== 0 )。交易清单应遵循先进先出原则。所以购买的第一批产品是第一批再次销售的产品。

因此,该示例中的第一笔交易是购买1个单位然后卖出1.

Trade1 <- c(1,-1)

给我们留下以下交易

Quantity <- c(2,-2,3,-1,2,-4)

最后我希望有类似的东西:

PurchaseSale <- list(Trade1=c(1,-1), Trade2=c(2,-2), Trade3=c(1,-1), Trade4=c(2,2,-4))

我为此写了一个相当笨拙的版本,涉及很多循环很慢。所以也许有人知道如何快速解决这个问题,因为我的数量向量可能非常大。

0 个答案:

没有答案
相关问题