vba - 在 VBA 中从 Bloomberg 获取数据
问题描述
我正在开发一个 VBA 项目,该项目从 Bloomberg 获取财务数据并计算回报。目前可获得 2020 年至 2022 年的数据。如何在检查 2023 年数据的代码中进行动态检查,如果可用,则使用 2021 年至 2023 年的数据更新计算?谢谢!!
以下是我现在使用的代码:
Function getTotalGrowth(k As Integer)
Dim bbg As New BBG_Function
Dim gdpGrowth As Variant
ReDim indexData(5, 2)
indexData(1, 1) = "ECGDEU 20 Index"
indexData(2, 1) = "ECGDEU 21 Index"
indexData(3, 1) = "ECGDEU 22 Index"
indexData(4, 1) = "XYZ Curncy"
indexData(5, 1) = "ABC Index"
indexData(1, 2) = "ECGDUS 20 Index"
indexData(2, 2) = "ECGDUS 21 Index"
indexData(3, 2) = "ECGDUS 22 Index"
indexData(4, 2) = "XYZ Curncy"
indexData(5, 2) = "ABC Index"
gdpGrowth = ((1 + bbg.BDP(indexData(1, k), "PX_LAST") / 100) * (1 + bbg.BDP(indexData(2, k),
"PX_LAST") / 100) * (1 + bbg.BDP(indexData(3, k), "PX_LAST") / 100) ^ 3) ^ (1 / 5) - 1
End Function
解决方案
这个怎么样:
Dim y as Long, yStart as Long
if bbg.BDP("ECGDEU 23 Index", "PX_LAST") = 0 then
yStart=20
else
yStart=21
end if
for y=yStart to yStart+2
indexData(1, 1) = "ECGDEU " & y & " Index"
indexData(2, 1) = "ECGDEU " & y & " Index"
...
next
推荐阅读
- docker-compose - docker-compose exec -T database pg_dump -U teslamate teslamate > /backuplocation/teslamate.bck 时权限被拒绝
- reactjs - 如何使用带有 msw 和 react-testing-library 的 react-query 测试组件?
- c# - Unity:为 IL2CPP 构建与 Mono 有何不同?
- vba - 如何使用 VBA 管理 PowerPoint 书签并根据它们触发效果?
- reactjs - 如何在 react.js 中实现安全记住用户名和密码
- mysql - 如何在某些条件下重新排序列的值?
- kubernetes - Kubernetes cronjob 错过了计划
- c - C 不读取第二个 getch()
- python - 如何包含导入并从 php 触发 python 脚本
- python - 在日期时间增量天条件下匹配 Pandas 数据帧