microsoft/qlib · error · NotImplementedError
Please implement the `get_stock_weight_dict` method
Error message
Please implement the `get_stock_weight_dict` method
What it means
Error "Please implement the `get_stock_weight_dict` method" thrown in microsoft/qlib.
Source
Thrown at qlib/backtest/position.py:176
def get_stock_weight_dict(self, only_stock: bool = False) -> dict:
"""
generate stock weight dict {stock_id : value weight of stock in the position}
it is meaningful in the beginning or the end of each trade step
- During execution of each trading step, the weight may be not consistent with the portfolio value
Parameters
----------
only_stock : bool
If only_stock=True, the weight of each stock in total stock will be returned
If only_stock=False, the weight of each stock in total assets(stock + cash) will be returned
Returns
-------
Dict:
{stock_id : value weight of stock in the position}
"""
raise NotImplementedError(f"Please implement the `get_stock_weight_dict` method")
def add_count_all(self, bar: str) -> None:
"""
Will be called at the end of each bar on each level
Parameters
----------
bar :
The level to be updated
"""
raise NotImplementedError(f"Please implement the `add_count_all` method")
def update_weight_all(self) -> None:
"""
Updating the position weight;
# TODO: this function is a little weird. The weight data in the position is in a wrong state after dealing order
# and before updating weight.View on GitHub (pinned to 79633dd950)
Solutions
- Implement the `get_stock_weight_dict` method in your Position subclass before calling it.
- Use the built-in Position class which already implements `get_stock_weight_dict`.
When it happens
Trigger: This error is raised at qlib/backtest/position.py:176 when the guard condition fails: "Please implement the `get_stock_weight_dict` 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/b1857af431e31a11.
Report an issue: GitHub.