microsoft/qlib · error · NotImplementedError

Please implement the `calculate_value` method

Error message

Please implement the `calculate_value` method

What it means

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

Source

Thrown at qlib/backtest/position.py:98

            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

        Returns
        -------
        float:
            the value(money) of all the stock
        """
        raise NotImplementedError(f"Please implement the `calculate_stock_value` method")

    def calculate_value(self) -> float:
        raise NotImplementedError(f"Please implement the `calculate_value` method")

    def get_stock_list(self) -> List[str]:
        """
        Get the list of stocks in the position.
        """
        raise NotImplementedError(f"Please implement the `get_stock_list` method")

    def get_stock_price(self, code: str) -> float:
        """
        get the latest price of the stock

        Parameters
        ----------
        code :
            the code of the stock
        """
        raise NotImplementedError(f"Please implement the `get_stock_price` method")

View on GitHub (pinned to 79633dd950)

Solutions

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

When it happens

Trigger: This error is raised at qlib/backtest/position.py:98 when the guard condition fails: "Please implement the `calculate_value` 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/99ab9c5d99b790d9. Report an issue: GitHub.