How to use the catalyst.utils.api_support.api_method function in catalyst

To help you get started, we’ve selected a few catalyst examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github enigmampc / catalyst / catalyst / exchange / exchange_algorithm.py View on Github external
    @api_method
    def cancel_order(self, order_param, symbol=None, params={}):
        """Cancel an open order.

        Parameters
        ----------
        order_param : str or Order
            The order_id or order object to cancel.
        symbol: str
            The tradingPair symbol
        params: dict, optional
            Extra parameters to pass to the exchange
        """
        log.info("canceling an order")
        order_id = order_param
        if isinstance(order_param, zp.Order) or \
                isinstance(order_param, Order):
github enigmampc / catalyst / catalyst / algorithm.py View on Github external
    @api_method
    def set_benchmark(self, benchmark):
        """Set the benchmark asset.

        Parameters
        ----------
        benchmark : Asset
            The asset to set as the new benchmark.

        Notes
        -----
        Any dividends payed out for that new benchmark asset will be
        automatically reinvested.
        """
        if self.initialized:
            raise SetBenchmarkOutsideInitialize()
github enigmampc / catalyst / catalyst / algorithm.py View on Github external
    @api_method
    def cancel_order(self, order_param):
        """Cancel an open order.

        Parameters
        ----------
        order_param : str or Order
            The order_id or order object to cancel.
        """
        order_id = order_param
        if isinstance(order_param, catalyst.protocol.Order):
            order_id = order_param.id

        self.blotter.cancel(order_id)
github enigmampc / catalyst / catalyst / algorithm.py View on Github external
    @api_method
    def set_benchmark(self, benchmark):
        """Set the benchmark asset.

        Parameters
        ----------
        benchmark : Asset
            The asset to set as the new benchmark.

        Notes
        -----
        Any dividends payed out for that new benchmark asset will be
        automatically reinvested.
        """
        if self.initialized:
            raise SetBenchmarkOutsideInitialize()
github enigmampc / catalyst / catalyst / algorithm.py View on Github external
    @api_method
    def set_long_only(self, on_error='fail'):
        """Set a rule specifying that this algorithm cannot take short
        positions.
        """
        self.register_trading_control(LongOnly(on_error))
github enigmampc / catalyst / catalyst / algorithm.py View on Github external
    @api_method
    def set_symbol_lookup_date(self, dt):
        """Set the date for which symbols will be resolved to their assets
        (symbols may map to different firms or underlying assets at
        different times)

        Parameters
        ----------
        dt : datetime
            The new symbol lookup date.
        """
        try:
            self._symbol_lookup_date = pd.Timestamp(dt, tz='UTC')
        except ValueError:
            raise UnsupportedDatetimeFormat(input=dt,
                                            method='set_symbol_lookup_date')
github enigmampc / catalyst / catalyst / algorithm.py View on Github external
    @api_method
    def get_order(self, order_id):
        """Lookup an order based on the order id returned from one of the
        order functions.

        Parameters
        ----------
        order_id : str
            The unique identifier for the order.

        Returns
        -------
        order : Order
            The order object.
        """
        if order_id in self.blotter.orders:
            return self.blotter.orders[order_id].to_api_obj()
github enigmampc / catalyst / catalyst / algorithm.py View on Github external
    @api_method
    def set_max_order_size(self,
                           asset=None,
                           max_shares=None,
                           max_notional=None,
                           on_error='fail'):
        """Set a limit on the number of shares and/or dollar value of any single
        order placed for sid.  Limits are treated as absolute values and are
        enforced at the time that the algo attempts to place an order for sid.

        If an algorithm attempts to place an order that would result in
        exceeding one of these limits, raise a TradingControlException.

        Parameters
        ----------
        asset : Asset, optional
            If provided, this sets the guard only on positions in the given
github enigmampc / catalyst / catalyst / algorithm.py View on Github external
    @api_method
    def symbols(self, *args):
        """Lookup multiple TradingPairs as a list.
        for example: symbols('eth_usd','btc_usd')

        Parameters
        ----------
        \*args : iterable[str]
            The ticker symbols to lookup.

        Returns
        -------
        tradingPairs : list[TradingPair]
            The tradingPairs that held the given ticker symbols on the current
            symbol lookup date.

        Raises
github enigmampc / catalyst / catalyst / exchange / exchange_algorithm.py View on Github external
    @api_method
    def get_dataset(self, data_source_name, start=None, end=None):
        if self._marketplace is None:
            self._marketplace = Marketplace()

        return self._marketplace.get_dataset(
            data_source_name, start, end,
        )