получил последние две недели, у меня было немного беспокойства, и я надеюсь, что кто-то может указать мне в правильном направлении. Я пытаюсь разобрать возвращение reqFundamentalData, но безуспешно. Я думаю, это потому, что данные не хранятся в переменной и, следовательно, не могут быть переданы BeautifulSoup, я понятия не имею, почему! Любая помощь будет принята с благодарностью:
rom ib.opt import ibConnection, message
from ib.ext.Contract import Contract
from time import sleep
def fundamentalData_handler(msg):
print(msg)
def error_handler(msg):
print(msg)
tws = ibConnection(port=7497, clientId=123)
tws.register(error_handler, message.Error)
tws.register(fundamentalData_handler, message.fundamentalData)
tws.connect()
c = Contract()
c.m_symbol = 'AAPl'
c.m_secType = 'STK'
c.m_exchange = "SMART"
c.m_currency = "USD"
fundamentals = [] # Initialize variable to store candle
from bs4 import BeautifulSoup
tws.reqFundamentalData(1,c,'ReportsFinSummary')
# The fundamentals are returned as xml so make a beautifulsoup object
soup = BeautifulSoup(fundamentals,'xml')
# Parse the xml for the fields you want
CoID = soup.find('CoID', Type='CompanyName')
gross_margin = soup.find('Ratio', FieldName='TTMGROSMGN').string
ebitda = soup.find('Ratio', FieldName='TTMEBITD').string
print(CoID.string, gross_margin, ebitda)
sleep(2)
tws.disconnect()