"""Portfolio management module for OpenClaw trading system.

This module provides multi-strategy portfolio management with weight allocation,
signal aggregation, and rebalancing capabilities.
"""

from openclaw.portfolio.strategy_portfolio import (
    StrategyPortfolio,
    StrategyConfig,
    PortfolioState,
)
from openclaw.portfolio.weights import (
    WeightMethod,
    calculate_equal_weights,
    calculate_risk_parity_weights,
    calculate_momentum_weights,
    calculate_inverse_volatility_weights,
)
from openclaw.portfolio.signal_aggregator import (
    AggregationMethod,
    SignalAggregator,
    AggregatedSignal,
)
from openclaw.portfolio.rebalancer import (
    RebalanceTrigger,
    Rebalancer,
    RebalanceResult,
)
from openclaw.portfolio.risk import (
    # Risk Alert Types
    RiskAlertLevel,
    RiskAlert,
    RiskInterceptionRecord,
    # Risk Metrics
    ConcentrationMetrics,
    CorrelationRiskMetrics,
    DrawdownMetrics,
    VaRMetrics,
    # Risk Controllers
    PositionConcentrationLimit,
    CorrelationRiskMonitor,
    DrawdownController,
    PortfolioVaR,
    PortfolioRiskManager,
)

__all__ = [
    # Strategy Portfolio
    "StrategyPortfolio",
    "StrategyConfig",
    "PortfolioState",
    # Weight Methods
    "WeightMethod",
    "calculate_equal_weights",
    "calculate_risk_parity_weights",
    "calculate_momentum_weights",
    "calculate_inverse_volatility_weights",
    # Signal Aggregation
    "AggregationMethod",
    "SignalAggregator",
    "AggregatedSignal",
    # Rebalancing
    "RebalanceTrigger",
    "Rebalancer",
    "RebalanceResult",
    # Risk Management
    "RiskAlertLevel",
    "RiskAlert",
    "RiskInterceptionRecord",
    "ConcentrationMetrics",
    "CorrelationRiskMetrics",
    "DrawdownMetrics",
    "VaRMetrics",
    "PositionConcentrationLimit",
    "CorrelationRiskMonitor",
    "DrawdownController",
    "PortfolioVaR",
    "PortfolioRiskManager",
]
