首页 > 解决方案 > 如何计算 SQL Server 中两个数据集的总套利?

问题描述

我有一份批发商随时间销售的“苹果”数量和价格清单,以及消费者随时间购买的苹果数量和价格的单独清单。

我需要计算这个市场中的“套利”机会,即如果我可以无限期地储存苹果,我可以从批发商那里购买多少并以更高的价格卖给消费者。年表无关紧要,但是我确实需要按照套利机会的顺序(即潜在的利润)进行优先排序。

我有:批发销售

ID    vol     price
1    200      5
2    400      4
3    600      3
4    100      3
5    30       2
6    620      1

消费者购买

id    vol     price
a     100      4
b     150      2
c     60       2
d     700      2
e     20       2
f     600      1

我想:

ID  vol  price No. arbitraged
1   200   5     0
2   400   4     0
3   600   3     0
4   100   3     0
5   30    2     0
6   620   1     620

id  vol  price No. arbitraged
a   100   4     100
b   150   2     150
c   60    2     60
d   700   2     310
e   20    2     0
f   600   1     0

换句话说,我以 1 英镑的价格从批发商那里购买了 620 个苹果,并以 4 英镑的价格出售了其中的 100 个,以 2 英镑的价格出售给了总共 4 个消费者(a、b、c 和 d——尽管消费者 d 只购​​买了她的苹果总数的一部分来自我)。

注意 - 我可以在从批发商那里购买之前向消费者出售“苹果”,因此需要查看两种格式的结果。

标签: sqlsql-servertrading

解决方案


推荐阅读