【发布时间】:2021-04-09 10:51:26
【问题描述】:
我有一个 MySQL 表,其中包含大约 900 个不同 ETF 持有量的条目。这是一个例子:
ID ETF Name Stock Name Weighting ISIN
1 iShares Automation & Robotics XIAOMI CORP 3.45 KYG9830T1067
24 iShares Automation & Robotics SNAP INC CLASS A 3.37 US83304A1060
42 iShares Automation & Robotics APPLE INC 2.14 US0378331005
51 iShares MSCI World Information Technology APPLE INC 20.14 US0378331005
53 iShares MSCI World Information Technology MICROSOFT CORP 14.04 US5949181045
我现在的目标是设置 ETF 权重,例如 ETF iShares Automation & Robotics 20% 和 ETF iShares MSCI World Information Technology 80%。 SQL 查询现在应该做的是根据 20/80 ETF 多元化计算加权持有量。
例如,对于名为 Apple 的股票,结果将是:0.2 * 2.14 + 0.8 * 20.14 = 16.54。最后,我希望有一张表格可以删除所有重复项(按 ISIN),并给我一张表格,其中的权重按权重排序。
这是预期的输出(20/80):
Stock Name Weighting ISIN
APPLE INC 16.54 US0378331005
MICROSOFT CORP 11.232 US5949181045
XIAOMI CORP 0.69 KYG9830T1067
SNAP INC CLASS A 0.674 US83304A1060
遗憾的是,我什至不知道从哪里开始...您可以使用 ISIN 匹配股票,它代表 International Securities Identification Number 并且是唯一的股票 ID!
我将不胜感激任何形式的帮助!
【问题讨论】:
-
我们从哪里得到 20/80 的数字?
-
这是我的 etf 权重的随机数。这些也可能是 40/60 或 10/90。
标签: mysql sql duplicates stock weighted-average