彭博提取多种证券

Bloomberg drawing out multiple securities

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

当证券的日期不匹配时,问题就会出现,这可能是由于交易日或合约到期。

例如=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

您可以使用替代来指定如何处理缺失的日期。例如:

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

每个工作日都有一个数据点,如果某一日期没有可用数据,"price" 单元格将留空。

Days 的可能值为:

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

Fill:

  • C、P 或 Previous - 保留最后可用的数据。
  • N、E 或错误 - Returns 一条错误消息。
  • B 或空白 - Returns 空白。
  • NA - Excel 不可用
  • PNA - 以前的值和 Excel 是 #N/A 当以前的值不可用时
  • 客户输入的任何其他值都将按字面意思用作填充符。

您可以在该函数的帮助中找到更详尽的有效覆盖列表。 (在 Excel 中,转到包含公式的单元格并单击 "More Functions..." 和 "Help on this function")