import pandas as pd
import plotly.graph_objects as go

def calculate_turnover_stats(dfw: pd.DataFrame) -> dict: ...
def calculate_weight_stats(dfw: pd.DataFrame) -> pd.DataFrame: ...
def plot_weight_histogram_kde(dfw: pd.DataFrame, title: str = '仓位分布直方图与核密度估计', height: int = 800, width: int = 900) -> go.Figure: ...
def plot_weight_cdf(dfw: pd.DataFrame, title: str = '仓位分布累积分布函数(CDF)对比', height: int = 600, width: int = 800, show_percentiles: bool = True) -> go.Figure: ...
def plot_turnover_overview(dfw: pd.DataFrame, title: str = '策略换手率分析总览', height: int = 600) -> go.Figure: ...
def plot_turnover_cost_analysis(dfw: pd.DataFrame, fee_rate: float = 0.0003, title: str = '换手成本分析', height: int = 500) -> go.Figure: ...
def plot_weight_time_series(dfw: pd.DataFrame, title: str = '策略持仓权重分布分析', height: int = 800, show_position_count: bool = True) -> go.Figure: ...
