¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

querying the cash remaining @ IB account


Stuart Cracraft
 

Hi,

Currently I am using this code (provided by the group) to list the current open positions in my paper-trading account at IB.

My question is, what would I need to add to this query to find out what the remaining cash position is in the account?

If I can get that, it would be most helpful for being able to calculate the rise and fall of the portfolio.

Thanks if anybody knows.

Stuart

#!/usr/local/bin/python3

from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.common import *
from ibapi.contract import *

import os

class TestApp(EClient, EWrapper):
? ? posns = []
? ? fname = 'fname.txt'

? ? def __init__(self):
? ? ? ? EClient.__init__(self, self)

? ? def nextValidId(self, orderId:int):
? ? ? ? print("id", orderId)
? ? ? ? print("starting program")
? ? ? ? self.reqPositions()

? ? def error(self, reqId:TickerId, errorCode:int, errorString:str):
? ? ? ? print("Error: ", reqId, "", errorCode, "", errorString)

? ? def position(self, account: str, contract: Contract, position: float, avgCost: float):
? ? ? ? self.posns.append((account, contract.symbol, position, avgCost))
? ? ? ? print(contract.symbol, position)

? ? def positionEnd(self):
? ? ? ? print("end, disconnecting")
? ? ? ? self.disconnect()

? ? ? ? #write posns to file or delete file if no positions
? ? ? ? if self.posns: #means not empty
? ? ? ? ? ? with open(self.fname, "w") as outfile:
? ? ? ? ? ? ? ? outfile.write('\n'.join(str(posn) for posn in self.posns))
? ? ? ? else: # no posns so delete file
? ? ? ? ? ? os.remove(self.fname)

def main():
? ? app = TestApp()
? ? app.connect("127.0.0.1", 7497, 421)
? ? app.run()

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

Join [email protected] to automatically receive all group messages.