模块以 base.py 中的 DataLoaderProtocol(Protocol)定义统一契约:每个 loader 暴露 name、markets、requires_auth 以及 is_available()/fetch(codes, start_date, end_date, interval, fields) 方法;具体实现散落在 *_loader.py / *.py 文件中(如 tushare、yfinance、ccxt、eastmoney、okx、binance、futu、mt5、local 等),并通过 registry.py 的 @register 装饰器在首次导入时注册到全局 LOADER_REGISTRY。