Python:findatapy从Bloomberg导入索引数据的成员

时间:2018-03-23 17:59:47

标签: python finance bloomberg

我正在使用python库findatapy从Bloomberg导入数据。 我想导入索引的成员(INDX_MEMBERS)。

我对其他领域和其他证券进行了一些测试,比如股票和PX_LAST,似乎指数就是问题所在。

我的代码:

from findatapy.util import SwimPool; SwimPool()
from findatapy.market import Market, MarketDataRequest, MarketDataGenerator

market = Market(market_data_generator=MarketDataGenerator())

md_request = MarketDataRequest(start_date='22 Mar 2018',data_source='bloomberg',
                               tickers =['S&P/TSX60 Index'],vendor_tickers =['SPTSX60 Index'],
                               fields=['INDX_MEMBERS'])                               
df = market.fetch_market(md_request)

错误:

findatapy.market.ioengine - WARNING - Couldn't push MarketDataRequest_373__abstract_curve_key-None__category-None__category_key-backtest_default-cat_bloomberg_daily_NYC__cut-NYC__data_source-bloomberg__environment-backtest__expiry_date-NaT__fields-close__finish_date-2017-04-06
00:00:00__freq-daily__freq_mult-1__gran_freq-None__start_date-2017-01-01 
00:00:00__tickers-test US__trade_side-trade__vendor_fields-PX_LAST__vendor_tickers-SPTSX60 Index to Redis: Error 10061 connecting to 127.0.0.1:6379.
No connection could be made because the target machine actively refused it.

1 个答案:

答案 0 :(得分:0)

  1. 请使用'SPTSX60 Index'代替'S& P / TSX60 Index'。

  2. 请指明start_date ='201 201年3月'是什么?你是否试图拉动给定日期的索引成员?还是现在的会员? INDX_MEMBERS不是历史字段。

  3. 作为建议,请使用INDX_MWEIGHT_HIST字段而不是INDX_MEMBERS,并可选择使用END_DATE_OVERRIDE = 20180322(或者过去的其他日期,如果这是您要实现的目标)