布隆伯格抽出多个证券

时间:2017-06-05 09:37:10

标签: bloomberg

Bloomberg excel formumla =BDH()仅检索1个证券的价格。如果我想获得其他证券,我需要重复这个没有问题的公式,因为我已经为此编写了一个脚本。

当证券的日期因交易日或合约到期而不匹配时,就会出现问题。

e.g。下面是并排输出。 公式:=BDH(name_of_commod,"PX_LAST","19/12/2015","2/5/2017")

QWV8 Comdty         QWZ8 Comdty 
#NAME?      495.2   #NAME?      479.7
14/2/2017   496.7   18/4/2017   462.2
15/2/2017   494.4   19/4/2017   457.1
16/2/2017   495.3   20/4/2017   456.6
17/2/2017   495     21/4/2017   457
20/2/2017   498.7   24/4/2017   454.9
21/2/2017   498.4   25/4/2017   453.5
22/2/2017   498.1   26/4/2017   445
23/2/2017   491.6   27/4/2017   439.9
24/2/2017   489.5   28/4/2017   450
27/2/2017   481.6   2/5/2017    448.4

这里的不匹配是由于QWZ8在4月18日之前无法使用,由于我在数据集中已经有大约一百个其他证券,因此这种情况更加复杂。

有没有办法输出bloomberg数据,使所有日期对齐同一行?

像这样:

    QWV8 Comdty         QWZ8 Comdty 
18/4/2017   461.3   18/4/2017   462.2
19/4/2017   456.2   19/4/2017   457.1
20/4/2017   455.7   20/4/2017   456.6
21/4/2017   456.1   21/4/2017   457
24/4/2017   454     24/4/2017   454.9
25/4/2017   452.6   25/4/2017   453.5
26/4/2017   444     26/4/2017   445
27/4/2017   438.9   27/4/2017   439.9
28/4/2017   449     28/4/2017   450
2/5/2017    447.4   2/5/2017    448.4

1 个答案:

答案 0 :(得分:1)

您可以使用替代指定缺少日期的处理方式。例如:

=BDH(name_of_commod,"PX_LAST","19/12/2015","2/5/2017","Days=W,Fill=N")

每个工作日将有一个数据点,如果没有可用于日期的数据,则会保留"价格"细胞空白。

Days的可能值为:

  • N,W或工作日 - 所有工作日
  • C,A或全部 - 所有日历日
  • T,Trading-忽略所有非交易日。

Fill

  • C,P或Previous - 传输最后可用的数据。
  • N,E或错误 - 返回错误消息。
  • B或空白 - 返回空白。
  • NA - Excel不可用
  • PNA - 上一个值和Excel在前一个值不可用时为#N / A
  • 客户输入的任何其他值将直接用作填充符。

您可以在该功能的帮助中找到更详尽的有效替代列表。 (在Excel中,转到包含公式的单元格,然后单击"更多功能..."以及"此功能的帮助")