微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

彭博 =baddperiods() 和 =bdh() 问题

如何解决彭博 =baddperiods() 和 =bdh() 问题

正在进行我的研究项目,以找出 IPO 和 5 年后 20 个交易日的证券的最后价格。我使用 =BDP($A$1,"EQY_INIT_PO_DT") 来获取 IPO 交易日期及其罚款。当我使用 =BADDPERIODS(A2,"NumberOfPeriods","20","CDR","ID JA","BusDayAdj","1") 时出现问题,它仍然包括非交易日。因此,当我使用 =BDH($A$1,"PX_LAST",A6,A6) 时,它显示 #N/A N/A。我猜=baddperiods() 函数输出了非交易日,而=bdh() 无法获得价格。如何获得特定日期后的正确 20 个交易日(不包括周末和任何公开/非交易日)?

Reference:
A1= Company Ticker
A2= IPO Date
A3= =BADDPERIODS(A2,"1")
...
A6= =BADDPERIODS(A5,"1")

Excel

Bloomberg Historical Prices

解决方法

BDH() 工作表函数具有可选参数,用于指定时间序列数据的返回方式。这些出现在开始和结束日期参数之后。其中之一允许指定日历。指定日历会提示彭博回顾并为所请求的日期找到最接近(但更早)的“好”值。

简短但效率低下的答案是在单元格 B6 中使用此公式:

=BDH($A$1,"PX_LAST",A6,"CDR","JA")

enter image description here

这是低效的,因为每个单元都为一天的历史向彭博进行了相对昂贵的调用。最好在一次调用中拉回从开始日期到今天的所有历史记录,并将其放在一些备用列中。然后查找您的日期(使用 INDEX/MATCH)以找到价格值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。