0

データフレームを使用してポートフォリオ情報を保存し、毎分更新したいと考えています。しかし、以下のコードの結果は空です。何か不足していますか?

from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.contract import Contract
from ibapi.ticktype import TickTypeEnum
import pandas as pd
import time


class IBapi(EWrapper, EClient):


    def __init__(self):
        EClient.__init__(self, self)
        self.all_positions = pd.DataFrame([], columns=['ConID', 'Symbol', 'Quantity', 'Average Cost', 'MarketPrice', 'marketValue', 'unrealizedONL', 'realizedPNL'])

    def updatePortfolio(self, contract: Contract, position: float, marketPrice: float, marketValue: float,averageCost: float, unrealizedPNL: float, realizedPNL:float, accountName:str):
        super().updatePortfolio(contract, position, marketPrice, marketValue, averageCost, unrealizedPNL, realizedPNL, accountName)
        index = str(contract.conId)
        self.all_positions.loc[index] = contract.conId, contract.symbol, position, averageCost, marketPrice, marketValue, unrealizedPNL, realizedPNL


def main():

    app = IBapi()
    app.connect('127.0.0.1', 7497, 0)
    app.reqAccountUpdates(True, "XXXXXXXX")
    current_positions = app.reqAccountUpdates(True, "XXXXXXX")

    app.run()
    print(current_positions.to_string())
    app.disconnect()

if __name__ == "__main__":
    main()
4

1 に答える 1