Я пытаюсь получить цену акции в определенное время 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?