{"record":{"id":"6099ffb206c60227","repo":"microsoft/qlib","slug":"please-implement-the-get-stock-amount-method","errorCode":null,"errorMessage":"Please implement the `get_stock_amount` method","messagePattern":"Please implement the `get_stock_amount` method","errorType":"exception","errorClass":"NotImplementedError","httpStatus":null,"severity":"error","filePath":"qlib/backtest/position.py","lineNumber":131,"sourceCode":"            the code of the stock\n        \"\"\"\n        raise NotImplementedError(f\"Please implement the `get_stock_price` method\")\n\n    def get_stock_amount(self, code: str) -> float:\n        \"\"\"\n        get the amount of the stock\n\n        Parameters\n        ----------\n        code :\n            the code of the stock\n\n        Returns\n        -------\n        float:\n            the amount of the stock\n        \"\"\"\n        raise NotImplementedError(f\"Please implement the `get_stock_amount` method\")\n\n    def get_cash(self, include_settle: bool = False) -> float:\n        \"\"\"\n        Parameters\n        ----------\n        include_settle:\n            will the unsettled(delayed) cash included\n            Default: not include those unavailable cash\n\n        Returns\n        -------\n        float:\n            the available(tradable) cash in position\n        \"\"\"\n        raise NotImplementedError(f\"Please implement the `get_cash` method\")\n\n    def get_stock_amount_dict(self) -> dict:\n        \"\"\"","sourceCodeStart":113,"sourceCodeEnd":149,"githubUrl":"https://github.com/microsoft/qlib/blob/79633dd9506ea689e5400dea0197717b5b3d74b7/qlib/backtest/position.py#L113-L149","documentation":"Error \"Please implement the `get_stock_amount` method\" thrown in microsoft/qlib.","triggerScenarios":"This error is raised at qlib/backtest/position.py:131 when the guard condition fails: \"Please implement the `get_stock_amount` 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.","commonSituations":"See trigger scenarios.","solutions":["Implement the `get_stock_amount` method in your Position subclass before calling it.","Use the built-in Position class which already implements `get_stock_amount`."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"79633dd9506ea689e5400dea0197717b5b3d74b7","analyzedAt":"2026-08-15T07:01:27.511Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}