modular_trader.framework.portfolio_construction =============================================== .. py:module:: modular_trader.framework.portfolio_construction Submodules ---------- .. toctree:: :maxdepth: 1 /autoapi/modular_trader/framework/portfolio_construction/base/index /autoapi/modular_trader/framework/portfolio_construction/equal/index Classes ------- .. autoapisummary:: modular_trader.framework.portfolio_construction.BasePortfolioConstruction modular_trader.framework.portfolio_construction.EqualWeightPortfolioConstruction Package Contents ---------------- .. py:class:: BasePortfolioConstruction Bases: :py:obj:`abc.ABC` .. autoapi-inheritance-diagram:: modular_trader.framework.portfolio_construction.BasePortfolioConstruction :parts: 1 :private-bases: Base class for portfolio construction. This class defines the interface for all portfolio construction strategies. The `__call__` method is called by the framework to construct the portfolio. It is expected to clear the current allocations and add the new allocations. The `run` method is called by `__call__` to perform the portfolio construction. It must be implemented by subclasses to return an iterable of `Allocation` objects. .. py:method:: __call__(context: modular_trader.context.Context, signals: modular_trader.signal.SignalCollection) -> Any .. py:method:: run(context: modular_trader.context.Context, signals: modular_trader.signal.SignalCollection) -> collections.abc.Iterable[modular_trader.allocation.Allocation] :abstractmethod: Must be implemented by subclasses. Called by `__call__` to perform portfolio construction. .. py:class:: EqualWeightPortfolioConstruction Bases: :py:obj:`modular_trader.framework.portfolio_construction.base.BasePortfolioConstruction` .. autoapi-inheritance-diagram:: modular_trader.framework.portfolio_construction.EqualWeightPortfolioConstruction :parts: 1 :private-bases: Assigns equal weight to all signals. Liquidates positions no longer in signals. .. py:method:: run(context: modular_trader.context.Context, signals: modular_trader.signal.SignalCollection) -> collections.abc.Iterable[modular_trader.allocation.Allocation] Must be implemented by subclasses. Called by `__call__` to perform portfolio construction.