首页 > 解决方案 > 根据 hte 库存计算每个新日期的平均成本价格

问题描述

我正在尝试在 Access 中创建一个查询,以计算所有记录的另一个查询的平均成本价格,该查询包含一系列日期的多只股票买卖。

T0 中的平均成本价格公式为:((累积仓位 T-1 * 平均成本 Px T-1) + 数量 T0* 价格 T0)/ (累积仓位 T-1+ 数量 T0)

如果记录是卖出,我只是减去累积头寸的数量并保持平均成本

我不能使用子查询,因为我必须在同一列上为同一查询获取记录,所以它是不可能的。我实际上对如何做到这一点感到迷茫,因为我有大约 30.000 条股票交易记录,我需要每个日期的平均成本价。处理这种情况的最佳途径是什么?

SELECT qry_sample_data_excel_summ.Date, qry_sample_data_excel_summ.Ticker, qry_sample_data_excel_summ.buy_sell, qry_sample_data_excel_summ.SumOfQuantity AS Qtty, qry_sample_data_excel_summ.AvPrice AS Price, (SELECT Sum(Dupe.SumOfQuantity)
FROM qry_sample_data_excel_summ AS Dupe
WHERE ((Dupe.Date)<qry_sample_data_excel_summ.Date) AND ((Dupe.Ticker)=qry_sample_data_excel_summ.Ticker)) AS [Acumm_Position T-1], "?" AS Av_Cost_Px
FROM qry_sample_data_excel_summ
GROUP BY qry_sample_data_excel_summ.Date, qry_sample_data_excel_summ.Ticker, qry_sample_data_excel_summ.buy_sell, qry_sample_data_excel_summ.SumOfQuantity, qry_sample_data_excel_summ.AvPrice, "?";

<table><tbody><tr><th>Date</th><th>Ticker</th><th>buy_sell</th><th>Qtty</th><th>Price</th><th>Acumm_Position T-1</th><th>Av_Cost_Px</th></tr><tr><td>2-Jan-20</td><td>BA</td><td>B</td><td>17,000</td><td>333.00</td><td> </td><td>333.00</td></tr><tr><td>2-Jan-20</td><td>BA</td><td>S</td><td>(5,000)</td><td>332.36</td><td> </td><td>333.00</td></tr><tr><td>2-Jan-20</td><td>KHC</td><td>B</td><td>4,000</td><td>31.64</td><td> </td><td>31.64</td></tr><tr><td>3-Jan-20</td><td>BA</td><td>B</td><td>1,000</td><td>330.53</td><td>12,000</td><td>332.81</td></tr><tr><td>3-Jan-20</td><td>BA</td><td>S</td><td>(2,000)</td><td>333.74</td><td>12,000</td><td>332.81</td></tr><tr><td>6-Jan-20</td><td>BA</td><td>B</td><td>1,000</td><td>328.32</td><td>11,000</td><td>332.44</td></tr><tr><td>6-Jan-20</td><td>BA</td><td>S</td><td>(7,000)</td><td>334.45</td><td>11,000</td><td>332.44</td></tr><tr><td>6-Jan-20</td><td>KHC</td><td>B</td><td>4,000</td><td>31.09</td><td>4,000</td><td>31.37</td></tr><tr><td>7-Jan-20</td><td>BA</td><td>S</td><td>(5,000)</td><td>341.56</td><td>5,000</td><td>324.83</td></tr></tbody></table>

标签: sqlms-accessms-access-2010

解决方案


推荐阅读