Получение имен портфелей и существующих заказов с помощью Interactive Brokers IBPy

Я экспериментировал с IBPy некоторое время; однако две следующие вещи ускользали от меня:

а) Как называется реальное портфолио, которому принадлежат позиции? Я знаю, как найти позиции, их стоимость, значения и т. Д. (Используя message.UpdatePortfolio), но в нашей торговой симуляции, вероятно, будет много портфелей, и это поможет узнать, какому портфелю принадлежит каждая позиция. Можно ли даже отправить информацию в IB в нескольких портфелях?

б) Как узнать существующие заказы, используя IBPy? Поэтому, когда я запускаю код, я хочу, чтобы он отображал все позиции, а также их типы ордеров и лимиты (например, если это лимитный ордер для AAPL, я хочу найти лимитную цену и т. Д.)

Большое спасибо!

1 ответ

А) Насколько я знаю, IB API не имеет понятия "Портфолио". Вероятно, вам нужно сохранить список заказов, для которых был составлен портфель, а затем сопоставить данные заказов, предоставленные IB, с данными вашего портфеля и данными заказов.

б) IB отслеживает клиента (то есть вашего клиента, который вызывает код API - обычно по умолчанию 0), который выставил ордера.

Если вы хотите узнать, какие открытые ордера были введены через ваш клиент, тогда: client.reqOpenOrders();

Если вы хотите знать все открытые ордера, т. Е. Ордера, введенные через вашего клиента плюс других клиентов или TWS, тогда: client.reqAllOpenOrders();

Другие вопросы по тегам