import pandas as pd
from clickhouse_connect.driver.client import Client as Client

def init_latest_weights_view(db: Client | None = None, database: str = 'czsc_strategy', **kwargs): ...
def init_tables(db: Client | None = None, database: str = 'czsc_strategy', **kwargs): ...
def initialize(db: Client | None = None, database: str = 'czsc_strategy', **kwargs): ...
def get_meta(strategy, db: Client | None = None, database: str = 'czsc_strategy', logger=..., tz=...) -> dict: ...
def get_all_metas(db: Client | None = None, database: str = 'czsc_strategy', tz=...) -> pd.DataFrame: ...
def set_meta(strategy, base_freq, description, author, outsample_sdt, weight_type: str = 'ts', status: str = '实盘', memo: str = '', logger=..., overwrite: bool = False, database: str = 'czsc_strategy', db: Client | None = None, tz=...): ...
def get_strategy_weights(strategy, db: Client | None = None, sdt=None, edt=None, symbols=None, database: str = 'czsc_strategy', tz=...): ...
def get_latest_weights(db: Client | None = None, strategy=None, database: str = 'czsc_strategy', tz=...) -> pd.DataFrame: ...
def publish_weights(strategy: str, df: pd.DataFrame, batch_size: int = 100000, logger=..., db: Client | None = None, database: str = 'czsc_strategy', tz=...): ...
def publish_returns(strategy: str, df: pd.DataFrame, batch_size: int = 100000, logger=..., database: str = 'czsc_strategy', db: Client | None = None, tz=...): ...
def get_strategy_returns(strategy, db: Client | None = None, sdt=None, edt=None, symbols=None, database: str = 'czsc_strategy', tz=...): ...
def update_strategy_status(strategy, status, db: Client | None = None, logger=..., database: str = 'czsc_strategy', tz=...): ...
def get_strategies_by_status(status=None, db: Client | None = None, database: str = 'czsc_strategy', tz=...) -> pd.DataFrame: ...
def clear_strategy(strategy, db: Client | None = None, logger=..., human_confirm: bool = True, database: str = 'czsc_strategy', tz=...): ...
