Exemple #1
0
    def get_buffered_position_with_multiplier(self,
                                              instrument_code,
                                              roundpositions=True):
        """
        Get the buffered position

        :param instrument_code: instrument to get

        :param roundpositions: Round positions to whole contracts
        :type roundpositions: bool

        :returns: Tx1 pd.DataFrame

        """

        self.log.msg("Calculating buffered positions with multiplier")
        optimal_position = self.get_actual_position(instrument_code)
        pos_buffers = self.get_actual_buffers_for_position(instrument_code)
        trade_to_edge = self.parent.config.buffer_trade_to_edge

        buffered_position = apply_buffer(
            optimal_position,
            pos_buffers,
            trade_to_edge=trade_to_edge,
            roundpositions=roundpositions)

        buffered_position.columns = ["position"]

        return buffered_position
Exemple #2
0
    def get_buffered_position_with_multiplier(self,
                                              instrument_code,
                                              roundpositions=True):
        """
        Get the buffered position

        :param instrument_code: instrument to get

        :param roundpositions: Round positions to whole contracts
        :type roundpositions: bool

        :returns: Tx1 pd.DataFrame

        """

        self.log.msg("Calculating buffered positions with multiplier")
        optimal_position = self.get_actual_position(instrument_code)
        pos_buffers = self.get_actual_buffers_for_position(instrument_code)
        trade_to_edge = self.parent.config.buffer_trade_to_edge

        buffered_position = apply_buffer(
            optimal_position,
            pos_buffers,
            trade_to_edge=trade_to_edge,
            roundpositions=roundpositions,
        )

        buffered_position.columns = ["position"]

        return buffered_position
        def _get_buffered_position(
                system, instrument_code, this_stage,  roundpositions):

            this_stage.log.msg("Calculating buffered positions")
            optimal_position=this_stage.get_notional_position(instrument_code)
            pos_buffers=this_stage.get_buffers_for_position(instrument_code)
            trade_to_edge=system.config.buffer_trade_to_edge
    
            buffered_position = apply_buffer(optimal_position, pos_buffers, 
                                             trade_to_edge=trade_to_edge, roundpositions=roundpositions)
            
            buffered_position.columns=["position"]
            
            return buffered_position
    def _get_buffered_position_given_optimal_position_and_buffers(self,
                                                                  optimal_position: pd.Series,
                                                                  pos_buffers: pd.DataFrame,
                                                                    roundpositions: bool=True) \
                                        -> pd.Series:

        self.log.msg("Calculating buffered positions")
        trade_to_edge = self.config.buffer_trade_to_edge

        buffered_position = apply_buffer(
            optimal_position,
            pos_buffers,
            trade_to_edge=trade_to_edge,
            roundpositions=roundpositions,
        )

        return buffered_position
Exemple #5
0
        def _get_buffered_position(system, instrument_code, this_stage,
                                   roundpositions):

            this_stage.log.msg("Calculating buffered positions")
            optimal_position = this_stage.get_notional_position(
                instrument_code)
            pos_buffers = this_stage.get_buffers_for_position(instrument_code)
            trade_to_edge = system.config.buffer_trade_to_edge

            buffered_position = apply_buffer(optimal_position,
                                             pos_buffers,
                                             trade_to_edge=trade_to_edge,
                                             roundpositions=roundpositions)

            buffered_position.columns = ["position"]

            return buffered_position
Exemple #6
0
    def get_buffered_position(self, instrument_code, roundpositions=True):
        """
        Get the buffered position

        :param instrument_code: instrument to get

        :param roundpositions: Round positions to whole contracts
        :type roundpositions: bool

        :returns: Tx1 pd.DataFrame

        >>> from systems.basesystem import System
        >>> from systems.tests.testdata import get_test_object_futures_with_portfolios
        >>> (portfolio, posobject, combobject, capobject, rules, rawdata, data, config)=get_test_object_futures_with_portfolios()
        >>> system=System([portfolio, posobject, combobject, capobject, rules, rawdata, Account()], data, config)
        >>>
        >>> system.accounts.get_buffered_position("EDOLLAR").tail(3)
                    position
        2015-12-09         1
        2015-12-10         1
        2015-12-11         1
        """

        self.log.msg("Calculating buffered positions")
        optimal_position = self.get_notional_position(instrument_code)
        pos_buffers = self.get_buffers_for_position(instrument_code)
        trade_to_edge = self.parent.config.buffer_trade_to_edge

        buffered_position = apply_buffer(
            optimal_position,
            pos_buffers,
            trade_to_edge=trade_to_edge,
            roundpositions=roundpositions,
        )

        buffered_position.columns = ["position"]

        return buffered_position
    def get_buffered_position(self, instrument_code, roundpositions=True):
        """
        Get the buffered position

        :param instrument_code: instrument to get

        :param roundpositions: Round positions to whole contracts
        :type roundpositions: bool

        :returns: Tx1 pd.DataFrame

        >>> from systems.basesystem import System
        >>> from systems.tests.testdata import get_test_object_futures_with_portfolios
        >>> (portfolio, posobject, combobject, capobject, rules, rawdata, data, config)=get_test_object_futures_with_portfolios()
        >>> system=System([portfolio, posobject, combobject, capobject, rules, rawdata, Account()], data, config)
        >>>
        >>> system.accounts.get_buffered_position("EDOLLAR").tail(3)
                    position
        2015-12-09         1
        2015-12-10         1
        2015-12-11         1
        """

        self.log.msg("Calculating buffered positions")
        optimal_position = self.get_notional_position(instrument_code)
        pos_buffers = self.get_buffers_for_position(instrument_code)
        trade_to_edge = self.parent.config.buffer_trade_to_edge

        buffered_position = apply_buffer(
            optimal_position,
            pos_buffers,
            trade_to_edge=trade_to_edge,
            roundpositions=roundpositions)

        buffered_position.columns = ["position"]

        return buffered_position