簡體   English   中英

捕獲盈透證券交易執行詳細信息 python

[英]Capture Interactive Brokers Trade Execution details python

我無法弄清楚如何使用https://interactivebrokers.github.io/tws-api/executions_commissions.html中的 execDetails 函數在數據框中捕獲已執行的交易

類交易應用程序(EWrapper,EClient):

def __init__(self):
    EClient.__init__(self, self)
    self.orderExec_df = pd.DataFrame(columns = [
        'ReqId', 'Symbol', 'SecType', 'Currency', 'ExecId', 'Time', 'Account', 'Exchange', 'Side', 'Shares', 'Price', 'PermId', 'ClientId', 'OrderId', 'Liquidation', 'CumQty', 'AvgPrice', 'OrderRef', 'EvRule', 'EvMultiplier', 'ModelCode', 'LastLiquidity'
        ])
   

def execDetails(self, reqId, contract, execution):
    super().execDetails(reqId, contract, execution)
    print("ExecDetails. ReqId:", reqId, "Symbol:", contract.symbol, "SecType:", contract.secType, "Currency:", contract.currency, execution)
    dictionary = {"ExecDetails. ReqId:", reqId, "Symbol:", contract.symbol, "SecType:", contract.secType, "Currency:", contract.currency, execution}
    self.orderExec_df = self.orderExec_df.append(dictionary, ignore_index = 0)

orderExec_df = app.reqExecutions(10001, ExecutionFilter()) time.sleep(1) orderExec_df = app.execDetails print(orderExec_df)

打印數據工作正常

我收到此錯誤消息

TypeError: 無法連接類型為 '<class 'set'>' 的對象; 只有 Series 和 DataFrame obj 是有效的

我已將代碼編輯為

def execDetails(self, reqId, contract, execution):
     super().execDetails(reqId, contract, execution)
     print("ExecDetails. ReqId:", reqId, "Symbol:", contract.symbol, "SecType:", contract.secType, "Currency:", contract.currency, execution)
     dictionary = {"ExecDetails. ReqId": reqId, "Symbol": contract.symbol, "SecType": contract.secType, "Currency": contract.currency, 'ExecId': execution.ExecId}
     self.orderExec_df = self.orderExec_df.append(dictionary, ignore_index = 0)

我用

 app.reqExecutions(10001, ExecutionFilter())
 time.sleep(1)
 orderExec_df = app.execDetails

我仍然沒有得到一個數據框作為輸出。 我收到這條消息

<bound method TradingApp.execDetails of <__main__.TradingApp object at 0x0000024569D4ADF0>>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM