0

我有股票购买交易的清单。我试图从中计算净资产。表定义如下:

ID | DATE       | SYMBOL | SHARES | PRICE | CLOSE
-------------------------------------------------
1  | 2010-06-01 | T      |    100 | 24.35 | 24.15
2  | 2010-07-01 | RSO    |     10 |  6.25 |  6.40
......

从 2010 年至今。所以要计算价值,但我乘以股票*接近=价值。但这仅适用于那一天。我有另一个脚本,可以在任何一天给我收盘价。

$history = getClose($symbol, $daterange)

返回一个多维数组,其中符号包含如下日期

$history['symbol']['20100601'] = $price
$history['symbol']['20100701'] = $price

我知道这必须很简单,我有拼图的所有部分,我只是不知道如何把它放在一起。我还有一个 SQL 语句,它可以提供我在某一天的所有资产。

SELECT symbol, sum(shares) AS shares, sum(shares * close) AS value 
FROM Transactions 
WHERE (action<> 5) AND date <='2010-06-01' 
    GROUP BY symbol
    HAVING (sum(shares) > 0);

但这只是给了我实际购买日期的价值。最终目标是将其放入图表中,显示随时间的增长(或下降)

我有更多的代码给你,但实际上我不知道该怎么做。并不是说它有什么不同,但我正在为网站使用 codeigniter 框架

4

1 回答 1

0

你错过了一块拼图。除非您一直在买入而从不卖出,否则您将需要某种方式来表明您每天的实际持股量。这意味着了解所有的变化——包括买卖。

两种方式(立即想到):

  1. 更新持有表以反映每天拥有股票的所有所有权。然后你可以总结一切以获得总价值
  2. 以某种方式跟踪销售。然后,您将知道要对哪些时间段求和,并且可以循环遍历每个时间段的日期增量并求和。

由于您的第三个查询的标题Transactions并包含某种action列,因此您必须在某处拥有此数据。现在您只需要获取日期范围,然后将每个值相加即可。

于 2013-02-11T23:48:47.853 回答