使用不同表格中的历史数据获取投资组合价值随时间变化的折线图

问题描述 投票:0回答:1

在学习PowerBI的过程中,我正在构建一个小型股票投资组合分析应用程序。

PBIX - 这里

我想制作一个随时间变化的投资组合估值折线图。

我的表中

StockHistoricData1
有每日粒度的股票价格。 (如果数据丢失,我们在计算投资组合价值时应该忽略该股票) 这是一个小样本 -

股票报价表 开始日期 结束日期 日期 系列 打开 上一篇。关闭 ltp 关闭 vwap 52宽高 52W长 音量
VBL 19-01-2023 18-01-2024 18-01-2024 情商 1244 1249.55 1196.4 1248.5 1229.75 1230.15 1227.71 1747 755 1854390
VBL 19-01-2023 18-01-2024 17-01-2024 情商 1256 1263.6 1230.1 1266.1 1249.25 1248.5 1244.89 1747 755 2159125
VBL 19-01-2023 18-01-2024 16-01-2024 情商 1273.8 1276 1256.05 1271.7 1266 1266.1 1267.45 1747 755 1320740
SBIN 19-01-2023 18-01-2024 18-01-2024 情商 625.8 633.45 619.05 626 628.5 628.3 627.46 660.4 499.35 14695436
SBIN 19-01-2023 18-01-2024 17-01-2024 情商 624 636.8 623 636.9 626.45 626 628.6 660.4 499.35 30016308
SBIN 19-01-2023 18-01-2024 16-01-2024 情商 640 644.9 633.45 640.1 637.55 636.9 639.72 660.4 499.35 15025543
阿达尼港口 19-01-2023 18-01-2024 18-01-2024 情商 1171.05 1184.3 1143.45 1166.85 1155 1154.05 1159.02 1229.9 395.1 5918594
阿达尼港口 19-01-2023 18-01-2024 17-01-2024 情商 1180 1204.7 1159.45 1193.35 1169.9 1166.85 1180.1 1229.9 395.1 5268593
阿达尼港口 19-01-2023 18-01-2024 16-01-2024 情商 1203.6 1212 1186.8 1203.1 1194.5 1193.35 1198.1 1229.9 395.1 3173587

我的当前交易包括表中我拥有的股票

Tradebook_1
这是一个示例 -

符号 ISIN 交易日期 交流 细分 系列 交易类型 拍卖 数量 价格 交易ID 订单号 订单执行时间 当前价格
艾达 INE202E01016 17-01-2024 疯牛病 情商 B 购买 错误 80 122.6 18654600 1.70547E+18 17-01-2024 13.27 122.7
POLYCAB INE455K01017 2024年9月1日 疯牛病 情商 A 购买 错误 2 4880 193925800 1.70479E+18 2024年9月1日15.25 4440
艾达 INE202E01016 2023年12月28日 疯牛病 情商 B 错误 150 96.76 12881600 1.70374E+18 2023年12月28日11点 122.7
艾达 INE202E01016 2023年12月27日 NSE 情商 情商 购买 错误 50 99.75 27742304 1.1E+15 2023年12月27日15.16 122.7
POLYCAB INE455K01017 2023年12月26日 NSE 情商 情商 购买 错误 2 5395.55 46925953 1.2E+15 2023年12月26日15.19 4440
POLYCAB INE455K01017 2023年12月22日 疯牛病 情商 A 错误 3 5322.35 114766100 1.70323E+18 2023年12月22日13.44 4440

有多个

buy
sell
操作。因此,投资组合价值应相应增加和减少。 如何创建一种衡量标准,根据
StockHistoricData1
中的日期查询价格,并考虑到
Tradebook

中完成的交易来计算相应的投资组合价值

我尝试使用

RELATED
按股票代码获取相应的数据,但在考虑每日股票价格时失败了。

powerbi dax powerbi-desktop measure
1个回答
0
投票

尝试以下措施:

Cumlative Quantity = 
  var maxDate = MAX('DateTable'[Date])
  var cTbl = CALCULATETABLE('Tradebook_1', REMOVEFILTERS('DateTable'), 'Tradebook_1'[Trade Date] <= maxDate)
  var buys = CALCULATE(SUM('Tradebook_1'[Quantity]), cTbl, 'Tradebook_1'[Trade Type] = "buy")
  var sells = CALCULATE(SUM('Tradebook_1'[Quantity]), cTbl, 'Tradebook_1'[Trade Type] = "sell")
  return buys - sells
Portfolio Value = 
  var maxDate = MAX('DateTable'[Date])
  return
    CALCULATE(
      SUMX(
        'StockHistoricData1',
        (
          var thisSymbol = [StockQuoteTable]
          var thisPrice = [close]
          var thisQty = [Cumlative Quantity]('Tradebook_1'[Symbol] = thisSymbol)
          return thisPrice * thisQty
        )
      ),
      'StockHistoricData1'[Date] = maxDate
    )

备注:

  • Tradebook_1
    中,您似乎缺少历史数据。例如,符号
    VPRPL
    的净数量为 -160(卖出量多于买入量)。因此,您将因此获得负投资组合价值。
© www.soinside.com 2019 - 2024. All rights reserved.