microsoft/qlib · error · NotImplementedError

Please implement the `update_order` method

Error message

Please implement the `update_order` method

What it means

Error "Please implement the `update_order` method" thrown in microsoft/qlib.

Source

Thrown at qlib/backtest/position.py:70

        bool:
            if is the stock in the position
        """
        raise NotImplementedError(f"Please implement the `check_stock` method")

    def update_order(self, order: Order, trade_val: float, cost: float, trade_price: float) -> None:
        """
        Parameters
        ----------
        order : Order
            the order to update the position
        trade_val : float
            the trade value(money) of dealing results
        cost : float
            the trade cost of the dealing results
        trade_price : float
            the trade price of the dealing results
        """
        raise NotImplementedError(f"Please implement the `update_order` method")

    def update_stock_price(self, stock_id: str, price: float) -> None:
        """
        Updating the latest price of the order
        The useful when clearing balance at each bar end

        Parameters
        ----------
        stock_id :
            the id of the stock
        price : float
            the price to be updated
        """
        raise NotImplementedError(f"Please implement the `update stock price` method")

    def calculate_stock_value(self) -> float:
        """
        calculate the value of the all assets except cash in the position

View on GitHub (pinned to 79633dd950)

Solutions

  1. Implement the `update_order` method in your Position subclass before calling it.
  2. Use the built-in Position class which already implements `update_order`.

When it happens

Trigger: This error is raised at qlib/backtest/position.py:70 when the guard condition fails: "Please implement the `update_order` method". It triggers when the code path receives input or a state that violates the precondition checked at this point — e.g. an unimplemented abstract method being called, an unsupported argument type/value, or an invalid configuration. To avoid it, satisfy the documented precondition before this call: implement the required method in your subclass, or pass a supported value of the expected type as described by the message.

Common situations: See trigger scenarios.


AI-assisted analysis of microsoft/qlib@79633dd950 (2026-08-15). Data as JSON: /api/errors/df54d137eb04c811. Report an issue: GitHub.