2017-08-08 2 views
-2

Ich versuche, Bloomberg-Daten mit der BDS-Formel in Python zu extrahieren, und ich habe die Pybbg-Bibliothek heruntergeladen. Ich möchte mehrere Überschreibungen einfügen, aber ich erhalte einen Fehler. Was ich zu extrahieren versuche, wird mit dem Excel-API-Add-In gemacht: = BDS ("UNTERNEHMEN KEINE Eigenkapital", "PG_REVENUE", "PRODUCT_GEO_OVERRIDE = G", "FUND_PER = Q" = Für eine Überschreibung funktioniert folgender Code (https://github.com/kyuni22/pybbg):Bloomberg API, pybbg

import unittest 
import datetime 
import pybg 

class TestPybbg(unittest.TestCase): 
    def test_bds(self): 
     tester = pybbg.Pybbg() 
     data = tester.bds('SUBC NO Equity','PG_REVENUE',overrides={'FUND_PER': 'Q'}) 
     print(data) 

if __name__ == '__main__': 
    unittest.main() 

nach Fehler tritt auf, wenn die Gesellschaft nicht das Niveau Detail hat:

Traceback (most recent call last): 
    File "C:/Users/bloomberg/.spyder-py3/temp.py", line 23, in test_bds_override 
    data = tester.bds('AKSO NO Equity','PG_REVENUE',overrides={'PRODUCT_GEO_OVERRIDE':'G','FUND_PER':'Q'}) 
    File "C:\Users\bloomberg\AppData\Local\Continuum\Miniconda3\envs\work\lib\site-packages\pybbg-0.0.1-py3.6.egg\pybbg\pybbg_k.py", line 295, in bds 
    fieldData = securityData.getValue(i).getElement("fieldData").getElement(field) 
    File "C:\Users\bloomberg\AppData\Local\Continuum\Miniconda3\envs\work\lib\site-packages\blpapi\element.py", line 347, in getElement 
    _ExceptionUtil.raiseOnError(res[0]) 
    File "C:\Users\bloomberg\AppData\Local\Continuum\Miniconda3\envs\work\lib\site-packages\blpapi\exception.py", line 145, in raiseOnError 
    _ExceptionUtil.raiseException(errorCode, description) 
    File "C:\Users\bloomberg\AppData\Local\Continuum\Miniconda3\envs\work\lib\site-packages\blpapi\exception.py", line 137, in raiseException 
    raise errorClass(description, errorCode) 
blpapi.exception.NotFoundException: Attempt to access unavailable sub-element 'PG_REVENUE' of element 'fieldData'. (0x0006000d) 
+0

Was ist der Fehler? – user3080953

+0

Folgender Fehler tritt auf, wenn die Daten nicht verfügbar sind: – larsmr

Antwort

0

ich es herausgefunden, wenn Sie die folgenden der Formel hinzufügen, die Sie mehrere Überschreibungen können sein:

data = tester.bds('SUBC NO Equity','PG_REVENUE',overrides={'PRODUCT_GEO_OVERRIDE':'G','FUND_PER':'Q'})