首页 > 解决方案 > 如何使用 R 中的 FIFO(先进先出)方法计算库存价值?

问题描述

我有多个库存并跟踪进出的货物(数量)。

我需要使用 FIFO 方法计算库存值(将利润考虑在内)。

  Inventory       Time Type Price Volume            
1         A 2015-07-15  BUY  7.50      4            
2         A 2015-07-20  BUY  7.69      2            
3         A 2015-07-21  BUY  7.40      1            
4         A 2015-07-24  BUY  7.26      2            
5         A 2015-07-30 SELL  7.35      8            
6         A 2015-07-31  BUY  7.92      2            
7         B 2015-09-15  BUY  8.50      3            
8         B 2015-09-21  BUY  8.20      5            
9         B 2015-09-28 SELL  9.25      6            

例如:

2015 年 7 月 30 日的销售(8 件)的 FIFO 成本为:

4 x 7.5 + 2 x 7.69 + 1 x 7.4 + 1 x 7.26 = 60.04

因此利润(损失):

8*7.35 – 60.04 = -1.24

交易后库存 A 中剩余的货物价值:1 x 7.26 + 2 x 7.92 = 23.1

调整损失后的库存价值:23.1 + (-1.24) = 21.86

如何使用 R 分别计算每个库存的投资组合价值?

示例表代码:

df1 <- data.frame(Inventory = c("A", "A", "A", "A", "A", "A", "B", "B", "B"),
                             Time = c("2015-07-15", "2015-07-20", "2015-07-21", "2015-07-24", "2015-07-30", "2015-07-31", "2015-09-15", "2015-09-21", "2015-09-28"),
                             Type = c("BUY", "BUY", "BUY", "BUY", "SELL", "BUY", "BUY", "BUY", "SELL"),
                             Price = c(7.5, 7.69, 7.4, 7.26, 7.35, 7.92, 8.5, 8.2, 9.25),
                             Volume = c(4, 2, 1, 2, 8, 2, 3, 5, 6))

标签: r

解决方案


推荐阅读