首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算股票交易的加权平均价格

如何计算股票交易的加权平均价格
EN

Stack Overflow用户
提问于 2017-02-23 02:23:20
回答 2查看 603关注 0票数 1

给定下表中的股票交易:

代码语言:javascript
复制
TID   |DATE      |TIME    |SYMBOL|SIDE|QUANTITY |PRICE    |OPENPOSITION
339791|2014-11-14|12:45:25|ABEV3 |Buy |  -900.00|15.920000|        -900
339780|2014-11-21|10:54:37|ABEV3 |Sell|   900.00|16.650000|           0
339775|2014-11-24|14:52:59|ABEV3 |Buy | -1500.00|16.950000|       -1500
339725|2017-01-20|14:54:26|ABEV3 |Sell|  1500.00|17.280000|           0
339662|2017-02-03|10:43:31|ABEV3 |Buy | -5900.00|17.020000|       -5900
339661|2017-02-03|11:44:57|ABEV3 |Buy | -5900.00|17.229492|      -11800
339655|2017-02-03|12:37:08|ABEV3 |Sell| 10800.00|17.250000|       -1000
339528|2017-02-15|11:04:07|ABEV3 |Buy |-15000.00|17.580000|      -16000
339527|2017-02-15|12:07:30|ABEV3 |Sell|  2300.00|17.610000|      -13700
339524|2017-02-15|12:10:36|ABEV3 |Sell|   100.00|17.620000|      -13600
339522|2017-02-15|12:44:23|ABEV3 |Sell| 14900.00|17.640000|        1300
339518|2017-02-15|12:49:52|ABEV3 |Buy | -2300.00|17.670000|       -1000
339474|2017-02-17|11:45:33|ABEV3 |Buy |-20000.00|17.860000|      -21000
339472|2017-02-17|13:36:16|ABEV3 |Sell| 20000.00|17.960000|       -1000

如何生成mysql查询来计算交易的平均加权价格,无论交易是买入还是卖出。

在上面的例子中,交易员开始买入900股,卖出900股,头寸余额为0(见第二行)。他用1500股做了同样的事情,但他买了几次又卖了几次,还剩下1000股。手工计算时,采购的平均加权价格为

5900*17.23+5900*17.02+2300*17.67+15000*17.58+20000*17.86/49100 =17.59美元

有没有办法构建一个查询或php函数,只考虑仍在进行的交易的价格?

EN

回答 2

Stack Overflow用户

发布于 2017-02-23 02:29:12

是。

如果该信息位于数据库中,则需要编写sql select语句,如下所示:

代码语言:javascript
复制
SELECT price,quantity FROM stock_transactions WHERE ___

但是你所说的过去关闭是什么意思?如果它们在当前日期之前,它们会关闭吗?(今天)?

如果是这样的话,应该是:

代码语言:javascript
复制
SELECT price,quantity FROM stock_transactions WHERE CURDATE() >= '2017-02-22'

才能拿到那些记录。

然后运行一个结果集,在while循环中运行那些乘以您的价格*数量的结果集,将其(+=而不是assignment)添加到一个变量(该变量在该循环的外部声明)。然后再重复一遍。

票数 0
EN

Stack Overflow用户

发布于 2017-02-23 02:48:13

  1. 为给定符号选择OPENPOSITION = 0的所有行,并按日期和时间降序排序。
  2. 读取返回的第一行并获取日期和时间。这将是您想要的记录的下限。
  3. 为给定符号选择日期和时间大于下限的所有行。
  4. 读取所有返回的行并计算股价的加权平均值。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42399390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档