Esempio n. 1
0
def extract_totals_from_fill_data_for_contract_id(
        list_of_fills_for_contractid):
    """
    Sum up info over fills

    :param list_of_fills: list of named tuples
    :return: broker_clientid, broker_tempid, filled_price, fill_datetime, commission (as list of tuples)
    """
    qty_and_price_and_datetime_and_id = [
        (fill.cum_qty, fill.avg_price, fill.time, fill.temp_id, fill.client_id,
         fill.signed_qty) for fill in list_of_fills_for_contractid
    ]

    ## sort by total quantity
    qty_and_price_and_datetime_and_id.sort(key=lambda x: x[0])

    final_fill = qty_and_price_and_datetime_and_id[-1]
    _, filled_price, fill_datetime, broker_tempid, broker_clientid, signed_qty = final_fill

    commission = [
        currencyValue(fill.commission_ccy, fill.commission)
        for fill in list_of_fills_for_contractid
    ]

    return broker_clientid, broker_tempid, filled_price, fill_datetime, commission, signed_qty
Esempio n. 2
0
    def extract_totals_from_fill_data(self, list_of_fills):
        """
        Sum up info over fills

        :param list_of_fills: list of named tuples
        :return: average_filled_price, commission (as list of tuples), total quantity filled
        """
        if len(list_of_fills) == 0:
            return no_order_id, no_order_id, None, None, 0.0

        qty_and_price_and_datetime_and_id = [
            (fill.cum_qty, fill.avg_price, fill.time, fill.temp_id,
             fill.client_id) for fill in list_of_fills
        ]

        ## sort by total quantity
        qty_and_price_and_datetime_and_id.sort(key=lambda x: x[0])

        final_fill = qty_and_price_and_datetime_and_id[-1]
        _, filled_price, fill_datetime, broker_tempid, broker_clientid = final_fill

        commission = [
            currencyValue(fill.commission_ccy, fill.commission)
            for fill in list_of_fills
        ]

        return broker_clientid, broker_tempid, filled_price, fill_datetime, commission
Esempio n. 3
0
    def broker_get_account_value_across_currency_across_accounts(
            self, account_id=arg_not_supplied):
        list_of_currencies = self.get_list_of_currencies_for_liquidation_values(
        )
        list_of_values_per_currency = list([
            currencyValue(
                currency,
                self.get_liquidation_value_for_currency_across_accounts(
                    currency)) for currency in list_of_currencies
        ])

        return list_of_values_per_currency