如何处理买卖历史csv



我有一个这样的csv文件:

symbol  date                           side    quantity   average_price
AAPL    2020-12-31T14:28:48.019000Z    buy     1          112.01
AMD     2020-12-29T19:14:21.111000Z    buy     1          91.33
AMD     2020-12-29T14:28:48.019000Z    sell    5          92.42
AAPL    2020-12-28T19:14:21.111000Z    sell    3          115.45
AAPL    2020-12-23T14:28:48.019000Z    buy     1          108.11
AAPL    2020-12-20T19:14:21.111000Z    sell    2          110.03
AMD     2020-12-18T14:28:48.019000Z    buy     7          88.74
AAPL    2020-12-16T19:14:21.111000Z    buy     4          100.93

这只是苹果和AMD两家公司的一个小样本数据。实际的csv要比这个长得多,有更多的公司。

假设我有1股苹果和3股AMD。我需要知道我购买这些股票的交易日期和价格。所以我要找的结果是:

1 share of APPL on 2020-12-31T14:28:48.019000Z for 112.01

1 share of AMD on 2020-12-29T19:14:21.111000Z for 91.33
2 shares of AMD on 2020-12-18T14:28:48.019000Z for 88.74

基本上这是在先进先出的基础上计算的。AMD: 7-5+1=3和APPL: 4-2+1-3+1=1…

我真的不知道该怎么做…我在想也许可以用队列?不知怎么的?但在走上这条路之前……我想我应该把这个贴出来,看看是否有更好的方法?

通知你…当前的csv是700行…将来可能会更大。也许是7000行?如果任何解决方案涉及遍历csv,则可能相关。

以分析的方式看待它,就好像你是软件,并为自己制定(可靠的)过程规则。在文本文件中逐行查找反向查找(相对)很慢,因此可能首先将行导入到查找速度快的结构或sqlite内存数据库中。

您可以按公司和按日期进行子查询。然后,您可以通过该子查询来查找"fifo"。

我真的搞不懂排序和排序,也搞不懂怎么把买/卖组合起来,但这对你来说可能很简单。

希望能给你一些启发。

相关内容

  • 没有找到相关文章

最新更新