{ "generated_at": "2026-05-03T11:26:49.943362+00:00", "module_count": 81, "import_results": [ { "name": "afml.cache", "status": "pass", "functions": 14, "classes": 2 }, { "name": "afml.cache.backtest_cache", "status": "pass", "functions": 2, "classes": 3 }, { "name": "afml.cache.cache_monitoring", "status": "pass", "functions": 6, "classes": 3 }, { "name": "afml.cache.cv_cache", "status": "pass", "functions": 12, "classes": 0 }, { "name": "afml.cache.data_access_tracker", "status": "pass", "functions": 4, "classes": 1 }, { "name": "afml.cache.mlflow_integration", "status": "pass", "functions": 3, "classes": 1 }, { "name": "afml.cache.mql5_backtest_bridge", "status": "pass", "functions": 1, "classes": 5 }, { "name": "afml.cache.mql5_bridge", "status": "pass", "functions": 1, "classes": 4 }, { "name": "afml.cache.robust_cache_keys", "status": "pass", "functions": 9, "classes": 2 }, { "name": "afml.cache.selective_cleaner", "status": "pass", "functions": 12, "classes": 1 }, { "name": "afml.cache.startup_script", "status": "pass", "functions": 9, "classes": 0 }, { "name": "afml.cache.unified_cache_system", "status": "pass", "functions": 14, "classes": 2 }, { "name": "afml.cross_validation", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.cross_validation.anchored_walkforward", "status": "pass", "functions": 1, "classes": 0 }, { "name": "afml.cross_validation.combinatorial", "status": "pass", "functions": 7, "classes": 2 }, { "name": "afml.cross_validation.cpcv_usage", "status": "pass", "functions": 2, "classes": 0 }, { "name": "afml.cross_validation.cross_validation", "status": "pass", "functions": 3, "classes": 3 }, { "name": "afml.cross_validation.hyper_fit", "status": "pass", "functions": 3, "classes": 0 }, { "name": "afml.cross_validation.hyper_fit_analysis", "status": "pass", "functions": 7, "classes": 0 }, { "name": "afml.cross_validation.optuna_hyper_fit", "status": "pass", "functions": 7, "classes": 2 }, { "name": "afml.cross_validation.pbo", "status": "pass", "functions": 1, "classes": 0 }, { "name": "afml.cross_validation.scoring", "status": "pass", "functions": 1, "classes": 0 }, { "name": "afml.cross_validation.trial_tracker", "status": "pass", "functions": 0, "classes": 1 }, { "name": "afml.data_structures", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.data_structures.bars", "status": "pass", "functions": 4, "classes": 0 }, { "name": "afml.datasets", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.datasets.load_datasets", "status": "pass", "functions": 3, "classes": 0 }, { "name": "afml.features", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.features.advanced_features", "status": "pass", "functions": 1, "classes": 0 }, { "name": "afml.features.fracdiff", "status": "pass", "functions": 6, "classes": 0 }, { "name": "afml.features.fractals", "status": "pass", "functions": 7, "classes": 0 }, { "name": "afml.features.meta_labeling_features", "status": "pass", "functions": 3, "classes": 0 }, { "name": "afml.features.moving_averages", "status": "pass", "functions": 2, "classes": 0 }, { "name": "afml.features.returns", "status": "pass", "functions": 4, "classes": 0 }, { "name": "afml.features.stationary", "status": "pass", "functions": 1, "classes": 0 }, { "name": "afml.features.trading_session", "status": "pass", "functions": 3, "classes": 0 }, { "name": "afml.features.volatility_regime", "status": "pass", "functions": 4, "classes": 0 }, { "name": "afml.filters", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.filters.filters", "status": "pass", "functions": 2, "classes": 0 }, { "name": "afml.labeling", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.labeling.fixed_time_horizon", "status": "pass", "functions": 1, "classes": 0 }, { "name": "afml.labeling.trend_scanning", "status": "pass", "functions": 4, "classes": 0 }, { "name": "afml.labeling.triple_barrier", "status": "pass", "functions": 7, "classes": 0 }, { "name": "afml.mt5", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.mt5.clean_data", "status": "pass", "functions": 2, "classes": 0 }, { "name": "afml.mt5.load_data", "status": "pass", "functions": 8, "classes": 0 }, { "name": "afml.mt5.tick_data_loader", "status": "pass", "functions": 0, "classes": 1 }, { "name": "afml.numba_warmup", "status": "pass", "functions": 5, "classes": 0 }, { "name": "afml.production", "status": "pass", "functions": 1, "classes": 0 }, { "name": "afml.production.dual_model_development", "status": "pass", "functions": 2, "classes": 1 }, { "name": "afml.production.model_development", "status": "pass", "functions": 17, "classes": 7 }, { "name": "afml.production.model_development_optuna", "status": "pass", "functions": 1, "classes": 1 }, { "name": "afml.production.model_export", "status": "pass", "functions": 4, "classes": 0 }, { "name": "afml.production.optimization_framework", "status": "pass", "functions": 1, "classes": 2 }, { "name": "afml.production.parameter_grid_search", "status": "pass", "functions": 0, "classes": 2 }, { "name": "afml.production.utils", "status": "pass", "functions": 0, "classes": 2 }, { "name": "afml.sample_weights", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.sample_weights.attribution", "status": "pass", "functions": 3, "classes": 0 }, { "name": "afml.sample_weights.optimized_attribution", "status": "pass", "functions": 3, "classes": 0 }, { "name": "afml.sampling", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.sampling.bootstrapping", "status": "pass", "functions": 5, "classes": 0 }, { "name": "afml.sampling.concurrent", "status": "pass", "functions": 4, "classes": 0 }, { "name": "afml.sampling.optimized_concurrent", "status": "pass", "functions": 3, "classes": 0 }, { "name": "afml.strategies", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.strategies.bollinger_features", "status": "pass", "functions": 3, "classes": 0 }, { "name": "afml.strategies.genetic_optimizer", "status": "pass", "functions": 6, "classes": 5 }, { "name": "afml.strategies.ma_crossover_feature_engine", "status": "pass", "functions": 0, "classes": 1 }, { "name": "afml.strategies.ma_whipsaw_ratio", "status": "pass", "functions": 2, "classes": 0 }, { "name": "afml.strategies.signal_processing", "status": "pass", "functions": 1, "classes": 0 }, { "name": "afml.strategies.strategy_optimizer", "status": "pass", "functions": 2, "classes": 6 }, { "name": "afml.strategies.trading_strategies", "status": "pass", "functions": 0, "classes": 3 }, { "name": "afml.strategies.trend_scanning_optimizer", "status": "pass", "functions": 0, "classes": 1 }, { "name": "afml.strategies.trend_scanning_optimizer_1", "status": "pass", "functions": 0, "classes": 1 }, { "name": "afml.util", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.util.constants", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.util.fix_mlfinlab_imports", "status": "pass", "functions": 1, "classes": 0 }, { "name": "afml.util.misc", "status": "pass", "functions": 20, "classes": 1 }, { "name": "afml.util.multiprocess", "status": "pass", "functions": 7, "classes": 0 }, { "name": "afml.util.pipelines", "status": "pass", "functions": 2, "classes": 1 }, { "name": "afml.util.test", "status": "pass", "functions": 0, "classes": 0 }, { "name": "afml.util.volatility", "status": "pass", "functions": 6, "classes": 0 } ], "inventory": { "afml.cache": { "functions": [ "_configure_numba", "_setup_cache_directories", "apply_decorator_to_methods", "clear_afml_cache", "clear_cache_by_pattern", "clear_cache_stats", "get_cache_hit_rate", "get_cache_size_info", "get_cache_stats", "get_cache_summary", "get_comprehensive_cache_status", "initialize_cache_system", "optimize_cache_system", "setup_production_cache" ], "classes": [ "CacheAnalyzer", "CacheStats" ] }, "afml.cache.backtest_cache": { "functions": [ "cached_backtest", "get_backtest_cache" ], "classes": [ "BacktestCache", "BacktestMetadata", "BacktestResult" ] }, "afml.cache.cache_monitoring": { "functions": [ "analyze_cache_patterns", "debug_function_cache", "diagnose_cache_issues", "get_cache_efficiency_report", "get_cache_monitor", "print_cache_health" ], "classes": [ "CacheHealthReport", "CacheMonitor", "FunctionCacheStats" ] }, "afml.cache.cv_cache": { "functions": [ "_cv_cacheable_enhanced", "_cv_cacheable_legacy", "_generate_cv_cache_key", "_hash_classifier", "_hash_cv_generator", "_hash_dataframe_fast", "_hash_series_fast", "_log_cv_metrics_to_mlflow", "_track_cv_data_access", "clear_cv_cache", "cv_cache_with_classifier_state", "cv_cacheable" ], "classes": [] }, "afml.cache.data_access_tracker": { "functions": [ "clear_data_access_log", "get_data_tracker", "log_data_access", "print_contamination_report" ], "classes": [ "DataAccessTracker" ] }, "afml.cache.mlflow_integration": { "functions": [ "get_mlflow_cache", "mlflow_cached", "setup_mlflow_cache" ], "classes": [ "MLflowCacheIntegration" ] }, "afml.cache.mql5_backtest_bridge": { "functions": [ "run_quick_backtest" ], "classes": [ "AFMLBacktestBridge", "BacktestConfig", "BacktestSignal", "BacktestTrade", "BarData" ] }, "afml.cache.mql5_bridge": { "functions": [ "setup_mql5_monitoring" ], "classes": [ "MQL5Bridge", "MQL5CachedStrategy", "MarketDataPacket", "SignalPacket" ] }, "afml.cache.robust_cache_keys": { "functions": [ "_clear_corrupted_cache", "_is_trackable_dataframe", "_log_dataframe_access", "_track_dataframe_access", "create_robust_cacheable", "data_tracking_cacheable", "robust_cacheable", "time_aware_cacheable", "time_aware_data_tracking_cacheable" ], "classes": [ "CacheKeyGenerator", "TimeSeriesCacheKey" ] }, "afml.cache.selective_cleaner": { "functions": [ "_format_maintenance_report", "analyze_cache_versions", "cache_maintenance", "clean_orphaned_caches", "cleanup_by_age", "cleanup_by_size", "clear_orphaned_features_caches", "clear_orphaned_labeling_caches", "clear_orphaned_ml_caches", "find_orphaned_caches", "get_version_tracker", "print_version_analysis" ], "classes": [ "FunctionVersionTracker" ] }, "afml.cache.startup_script": { "functions": [ "check_port_available", "generate_test_features", "generate_test_signal", "main_live_mode", "main_test_mode", "print_startup_instructions", "run_startup_checks", "verify_server_listening", "wait_for_connection" ], "classes": [] }, "afml.cache.unified_cache_system": { "functions": [ "_get_closure_hash", "_get_function_file_mtime", "_get_function_source_hash", "_track_data_access", "cacheable", "create_cacheable_param_grid", "cv_cacheable", "data_tracking_cacheable", "disable_auto_versioning", "get_unified_monitor", "print_cache_report", "reconstruct_param_grid", "robust_cacheable", "time_aware_cacheable" ], "classes": [ "UnifiedCacheKeyGenerator", "UnifiedCacheMonitor" ] }, "afml.cross_validation": { "functions": [], "classes": [] }, "afml.cross_validation.anchored_walkforward": { "functions": [ "vin_v_anchored_walkforward" ], "classes": [] }, "afml.cross_validation.combinatorial": { "functions": [ "_apply_bet_method_static", "_avg_train_size", "_compute_path_metrics", "_fit_predict_fold", "_n_splits", "_n_test_paths", "optimal_folds_number" ], "classes": [ "CPCVAnalyzer", "CombinatorialPurgedCV" ] }, "afml.cross_validation.cpcv_usage": { "functions": [ "build_demo_data", "main" ], "classes": [] }, "afml.cross_validation.cross_validation": { "functions": [ "analyze_cross_val_scores", "ml_cross_val_score", "ml_get_train_times" ], "classes": [ "PurgedKFold", "PurgedSplit", "PurgedWalkForwardCV" ] }, "afml.cross_validation.hyper_fit": { "functions": [ "clf_hyper_fit", "clf_hyper_fit_cached", "clf_hyper_fit_internal" ], "classes": [] }, "afml.cross_validation.hyper_fit_analysis": { "functions": [ "_get_param_columns", "_safe_groupby_param", "analyze_hyperparameter_results", "analyze_your_results", "display_hyperparameter_report", "generate_complete_hyperparameter_report", "generate_hyperparameter_markdown_report" ], "classes": [] }, "afml.cross_validation.optuna_hyper_fit": { "functions": [ "check_for_overfitting", "optimize_trading_model", "optimize_trading_model_with_pruning", "optuna_to_cv_results", "plot_model_vs_baseline", "print_best_trial", "save_intermediate_results" ], "classes": [ "FinancialModelSuggester", "TradingModelPruner" ] }, "afml.cross_validation.pbo": { "functions": [ "compute_pbo" ], "classes": [] }, "afml.cross_validation.scoring": { "functions": [ "probability_weighted_accuracy" ], "classes": [] }, "afml.cross_validation.trial_tracker": { "functions": [], "classes": [ "StrategyTrialTracker" ] }, "afml.data_structures": { "functions": [], "classes": [] }, "afml.data_structures.bars": { "functions": [ "_get_bar_tick_indices", "_make_bar_type_grouper", "calculate_ticks_per_period", "make_bars" ], "classes": [] }, "afml.datasets": { "functions": [], "classes": [] }, "afml.datasets.load_datasets": { "functions": [ "load_dollar_bar_sample", "load_stock_prices", "load_tick_sample" ], "classes": [] }, "afml.features": { "functions": [], "classes": [] }, "afml.features.advanced_features": { "functions": [ "build_advanced_features" ], "classes": [] }, "afml.features.fracdiff": { "functions": [ "adf_data", "frac_diff", "frac_diff_ffd", "fracdiff_optimal", "plot_ffd_vs_data", "plot_min_ffd" ], "classes": [] }, "afml.features.fractals": { "functions": [ "calculate_basic_fractals", "calculate_enhanced_fractals", "calculate_fractal_levels", "calculate_fractal_trend_features", "comprehensive_fractal_analysis", "generate_fractal_signals", "get_fractal_features" ], "classes": [] }, "afml.features.meta_labeling_features": { "functions": [ "add_meta_label_features", "calculate_market_regime_features", "calculate_rolling_metrics" ], "classes": [] }, "afml.features.moving_averages": { "functions": [ "calculate_ma_differences", "get_ma_crossovers" ], "classes": [] }, "afml.features.returns": { "functions": [ "get_lagged_returns", "get_period_autocorr", "get_period_returns", "get_return_dist_features" ], "classes": [] }, "afml.features.stationary": { "functions": [ "is_stationary" ], "classes": [] }, "afml.features.trading_session": { "functions": [ "encode_cyclical_features", "get_time_features", "trading_session_encoded_features" ], "classes": [] }, "afml.features.volatility_regime": { "functions": [ "combine_regime_features", "create_regime_duration_features", "identify_structural_breaks", "plot_structural_breaks" ], "classes": [] }, "afml.filters": { "functions": [], "classes": [] }, "afml.filters.filters": { "functions": [ "cusum_filter", "z_score_filter" ], "classes": [] }, "afml.labeling": { "functions": [], "classes": [] }, "afml.labeling.fixed_time_horizon": { "functions": [ "fixed_time_horizon" ], "classes": [] }, "afml.labeling.trend_scanning": { "functions": [ "plot_event_tvalues", "plot_trend_labels", "t_val_linreg", "trend_scanning_labels" ], "classes": [] }, "afml.labeling.triple_barrier": { "functions": [ "add_vertical_barrier", "apply_pt_sl_on_t1_optimized", "drop_labels", "get_bins", "get_event_weights", "get_events", "triple_barrier_labels" ], "classes": [] }, "afml.mt5": { "functions": [], "classes": [] }, "afml.mt5.clean_data": { "functions": [ "clean_tick_data", "save_cleaned_data_parquet" ], "classes": [] }, "afml.mt5.load_data": { "functions": [ "get_bars", "get_credentials_from_env", "get_ticks", "load_tick_data", "login_mt5", "process_symbol", "save_data_to_parquet", "verify_or_create_account_info" ], "classes": [] }, "afml.mt5.tick_data_loader": { "functions": [], "classes": [ "TickDataLoader" ] }, "afml.numba_warmup": { "functions": [ "_default_dummy_for_dispatcher", "_iter_modules_in_package", "lazy_warmup", "prewarm_numba_in_package", "register_numba_dummy" ], "classes": [] }, "afml.production": { "functions": [ "__getattr__" ], "classes": [] }, "afml.production.dual_model_development": { "functions": [ "main", "train_bidask_longshort_models" ], "classes": [ "BidAskLongShortPipeline" ] }, "afml.production.model_development": { "functions": [ "_coerce_pipeline_kwargs", "_default_target_config", "best_weighting_scheme", "calculate_rolling_metrics", "compare_runs", "create_feature_engineering_pipeline", "develop_production_model", "develop_production_model_with_enhanced_logging", "generate_events_triple_barrier", "get_bar_size", "get_model_type", "get_optimal_sample_weight", "is_tree", "load_and_prepare_training_data", "load_ticks", "train_model_with_cv", "weighted_estimator" ], "classes": [ "LogAnalyzer", "LoggingModelDevelopmentPipeline", "ModelDevelopmentLogger", "ModelDevelopmentPipeline", "PipelineMonitor", "ProductionReadinessChecker", "_WeightedEstimator" ] }, "afml.production.model_development_optuna": { "functions": [ "get_model_type" ], "classes": [ "ModelDevelopmentPipelineOptuna" ] }, "afml.production.model_export": { "functions": [ "complete_export_workflow", "export_model_to_onnx", "extract_onnx_metadata", "validate_onnx_predictions" ], "classes": [] }, "afml.production.optimization_framework": { "functions": [ "print_optimization_insights" ], "classes": [ "ParameterOptimizer", "StrategyConfig" ] }, "afml.production.parameter_grid_search": { "functions": [], "classes": [ "MultiConfigPipeline", "ParameterGridSearch" ] }, "afml.production.utils": { "functions": [], "classes": [ "ConfigPathGenerator", "ModelFileManager" ] }, "afml.sample_weights": { "functions": [], "classes": [] }, "afml.sample_weights.attribution": { "functions": [ "_apply_weight_by_return", "get_weights_by_return", "get_weights_by_time_decay" ], "classes": [] }, "afml.sample_weights.optimized_attribution": { "functions": [ "_apply_weight_by_return_optimized", "get_weights_by_return_optimized", "get_weights_by_time_decay_optimized" ], "classes": [] }, "afml.sampling": { "functions": [], "classes": [] }, "afml.sampling.bootstrapping": { "functions": [ "get_active_indices", "get_ind_mat_average_uniqueness", "get_ind_matrix", "pack_active_indices", "seq_bootstrap" ], "classes": [] }, "afml.sampling.concurrent": { "functions": [ "_get_average_uniqueness", "get_av_uniqueness_from_triple_barrier", "get_num_conc_events", "num_concurrent_events" ], "classes": [] }, "afml.sampling.optimized_concurrent": { "functions": [ "_get_average_uniqueness_optimized", "get_av_uniqueness_from_triple_barrier_optimized", "get_num_conc_events_optimized" ], "classes": [] }, "afml.strategies": { "functions": [], "classes": [] }, "afml.strategies.bollinger_features": { "functions": [ "create_bollinger_features", "plot_bbands", "plot_bbands_dual_bbp_bw" ], "classes": [] }, "afml.strategies.genetic_optimizer": { "functions": [ "calculate_performance_metrics", "get_dynamic_seed", "get_optimal_triple_barrier_labels", "get_positions_from_events", "save_optimization_results", "select_knee_point" ], "classes": [ "GAOptimal", "OptimizationConfig", "ParetoOptimizer", "SingleObjectiveOptimizer", "TripleBarrierEvaluator" ] }, "afml.strategies.ma_crossover_feature_engine": { "functions": [], "classes": [ "ForexFeatureEngine" ] }, "afml.strategies.ma_whipsaw_ratio": { "functions": [ "calculate_enhanced_whipsaw_metrics", "calculate_ma_whipsaw_ratio" ], "classes": [] }, "afml.strategies.signal_processing": { "functions": [ "get_entries" ], "classes": [] }, "afml.strategies.strategy_optimizer": { "functions": [ "create_example_test_suite", "optimize_strategy_barriers" ], "classes": [ "BarrierOptimizationResult", "GeometricBrownianMotion", "IntegratedTestResult", "OrnsteinUhlenbeck", "ProcessSelector", "StrategyTestFramework" ] }, "afml.strategies.trading_strategies": { "functions": [], "classes": [ "BaseStrategy", "BollingerStrategy", "MACrossoverStrategy" ] }, "afml.strategies.trend_scanning_optimizer": { "functions": [], "classes": [ "TrendScanningEvaluator" ] }, "afml.strategies.trend_scanning_optimizer_1": { "functions": [], "classes": [ "TrendScanningEvaluator" ] }, "afml.util": { "functions": [], "classes": [] }, "afml.util.constants": { "functions": [], "classes": [] }, "afml.util.fix_mlfinlab_imports": { "functions": [ "replace_imports_in_folder" ], "classes": [] }, "afml.util.misc": { "functions": [ "count_max_decimals", "crop_data_frame_in_batches", "date_conversion", "dict_to_key", "expand_params", "flatten_column_names", "get_folder_size", "indices_to_mask", "is_first_weekday", "is_last_weekday", "is_trading_day", "log_column_changes", "log_df_info", "log_performance", "markdown_to_notebook", "optimize_dtypes", "set_resampling_freq", "smart_subscript", "to_subscript", "value_counts_data" ], "classes": [ "DataFrameFormatter" ] }, "afml.util.multiprocess": { "functions": [ "expand_call", "lin_parts", "mp_pandas_obj", "nested_parts", "process_jobs", "process_jobs_", "report_progress" ], "classes": [] }, "afml.util.pipelines": { "functions": [ "make_custom_pipeline", "set_pipeline_params" ], "classes": [ "MyPipeline" ] }, "afml.util.test": { "functions": [], "classes": [] }, "afml.util.volatility": { "functions": [ "get_daily_vol", "get_garman_klass_vol", "get_parkinson_vol", "get_period_vol", "get_yang_zhang_vol", "two_time_scale_realized_vol" ], "classes": [] } }, "smoke_results": [ { "name": "datasets.load_samples", "status": "pass", "output": { "tick": [ 100, 2 ], "stock": [ 2141, 23 ], "dollar": [ 1000, 7 ] } }, { "name": "data_structures.make_bars", "status": "pass", "output": { "tick_bars": [ 5, 9 ], "time_bars": [ 3, 9 ] } }, { "name": "features.core", "status": "pass", "output": { "lagged": [ 400, 9 ], "dist": [ 400, 3 ], "time_features": [ 400, 20 ], "frac_diff": [ 357 ], "is_stationary": [] } }, { "name": "filters.core", "status": "pass", "output": { "cusum_events": 154, "z_score_events": 0 } }, { "name": "labeling.core", "status": "pass", "output": { "triple_events": [ 30, 4 ], "fixed": [ 500 ], "trend": [ 481, 7 ] } }, { "name": "sampling.sample_weights", "status": "pass", "output": { "concurrent": [ 15 ], "weights": [ 10 ] } }, { "name": "cross_validation.core", "status": "pass", "output": { "splits": 3, "train_times": [ 53 ], "pbo": 1.0 } }, { "name": "strategies.basic", "status": "pass", "output": { "bollinger_signals": { "0": 262, "1": 23, "-1": 15 }, "ma_signals": { "-1": 148, "1": 123, "0": 29 } } }, { "name": "mt5.live_xau_btc_m5", "status": "pass", "output": { "XAUUSD": 390, "BTCUSD": 864 } } ] }