Получить внутридневные данные с помощью BDH (), используя blpapiwrapper в Python - PullRequest
1 голос
/ 08 января 2020

Я пытаюсь получить цену акции в определенное время c, используя blpapiwrapper (https://github.com/alex314159/blpapiwrapper) с вдохновением от этого (https://quant.stackexchange.com/questions/35126/price-at-specific-time-from-bloomberg):

=BDH("EURGBP Curncy","Last Price","7/13/2017 3:00:00 PM","7/13/2017 3:00:01 PM","BarTp=T,BarSz=1,Fill=P")

Если я пытаюсь воссоздать его, я получаю цену EOD вместо последней цены между 15:40:00 и 15:40:01. Использование того же синтаксиса в Excel с тем же SEDOL и датами дает правильную цену акций 15: 40.

bloomberg = BLP()

startdate = datetime.datetime.strptime('2020-01-03 15:40:00', '%Y-%m-%d %H:%M:%S')
enddate = datetime.datetime.strptime('2020-01-03 15:40:01', '%Y-%m-%d %H:%M:%S')

bloomberg.bdh('/SEDOL1/B151P43 Equity', "Last price",startdate, enddate , "BarTp = T, BarSz = 1, Fill = P")

Я попытался изменить функцию bdh () в blpapiwrapper, изменив периодичность на «INTRADAY» и включая «% H:% M:% S» в определение «startDate» и «endDate», но без удачи.

def bdh(self, strSecurity='SPX Index', strData='PX_LAST', startdate=datetime.date(2014, 1, 1),
        enddate=datetime.date(2014, 1, 9), adjustmentSplit=False, periodicity='DAILY'):
    request = self.refDataSvc.createRequest('HistoricalDataRequest')
    request.append('securities', strSecurity)
    if type(strData) == str:
        strData = [strData]

    for strD in strData:
        request.append('fields', strD)

    request.set('startDate', startdate.strftime('%Y%m%d'))
    request.set('endDate', enddate.strftime('%Y%m%d'))
    request.set('adjustmentSplit', 'TRUE' if adjustmentSplit else 'FALSE')
    request.set('periodicitySelection', periodicity)
    requestID = self.session.sendRequest(request)

Есть предложения по решению с использованием blpapiwrapper?

...