Code for Machine Learning for Trading, 3rd edition — from data sourcing to live execution.
This report presents the forensic synthetic code analysis of stefan-jansen/machine-learning-for-trading, a Jupyter Notebook project with 19,844 GitHub stars. SynthScan v2.0 examined 170,049 lines of code across 352 source files, recording 3511 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 34.0 places this repository in the Strong AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 3511 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | pyproject.toml | 11 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 13 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 22 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 24 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 29 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 31 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 42 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 44 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 50 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 52 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 79 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 81 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 90 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 92 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 97 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 99 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 104 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 106 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 118 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 120 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 123 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 125 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 129 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 131 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 133 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 135 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 150 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 152 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 161 | # =================== | COMMENT |
| MEDIUM⚡ | pyproject.toml | 163 | # =================== | COMMENT |
| MEDIUM | pyproject.toml | 65 | # =================== | COMMENT |
| MEDIUM | pyproject.toml | 67 | # =================== | COMMENT |
| MEDIUM | docker-compose.yml | 60 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 63 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 75 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 78 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 98 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 103 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 137 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 141 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 177 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 182 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 202 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 213 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 232 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 235 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 254 | # ============================================ | COMMENT |
| MEDIUM | docker-compose.yml | 257 | # ============================================ | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 196 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 198 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 202 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 379 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 381 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 385 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 423 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 425 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 428 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 999 | # ================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1001 | # ================================================================= | COMMENT |
| MEDIUM⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1004 | # ================================================================= | COMMENT |
| 821 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 81 | # =================== | COMMENT |
| LOW | docker-compose.yml | 1 | # ML4T 3rd Edition — Docker Compose Configuration | COMMENT |
| LOW | docker-compose.yml | 21 | # WHICH IMAGE DO I NEED? | COMMENT |
| LOW | docker-compose.yml | 201 | COMMENT | |
| LOW | 05_synthetic_data/00_classical_simulation.py | 1 | # --- | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 21 | # | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 41 | # | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 61 | # ## Statistical Note | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 101 | # --- | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 121 | # differential equation: | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 221 | # ### GBM Limitations | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 241 | # - $dN$ = Poisson process with intensity $\lambda$ (jumps per year) | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 361 | COMMENT | |
| LOW | 05_synthetic_data/00_classical_simulation.py | 381 | # - **Stationary**: Prices fluctuate around equilibrium | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 521 | # %% [markdown] | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 541 | # - $\theta$ = long-term variance | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 681 | # %% | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 701 | # - $\omega$ = base variance (intercept) | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 981 | sns.despine(ax=ax) | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 1041 | title="Return Distributions by Model (Log-Returns)", | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 1061 | # | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 1101 | # | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 1161 | print(f"arch IIDBootstrap (100 samples): mean of means = {np.mean(means):.6f}") | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 1241 | print(f"arch MovingBlockBootstrap (100 samples): mean of means = {np.mean(means):.6f}") | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 1401 | # **Stationary** bootstrap. The ACF of squared returns shows preservation quality. | COMMENT |
| LOW | 05_synthetic_data/00_classical_simulation.py | 1421 | # | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 1 | # --- | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 21 | # | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 41 | # | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 61 | # - Variable time intervals between observations | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 81 | # | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 101 | # ### Results Context | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 441 | sequences_norm = (sequences - seq_min) / (seq_max - seq_min + 1e-8) | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 701 | COMMENT | |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 1281 | fig.show() | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 1541 | COMMENT | |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 1641 | # ## Key Takeaways | COMMENT |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 1661 | # **Use Cases**: | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 1 | # --- | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 21 | # **Section Reference**: Section 5.5 (Diffusion Models for Financial Time Series) | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 41 | # predicts $x_0$ directly. The Fourier-domain loss further regularizes spectral | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 61 | # --- | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 81 | # for General Time Series Generation." ICLR 2024. | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 141 | # %% [markdown] | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 401 | COMMENT | |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 801 | # ## 5. Diffusion Process | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 1381 | COMMENT | |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 1401 | # ### Visual Comparison | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 1461 | synthetic_sequences, | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 1661 | COMMENT | |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 1681 | # ### Hidden Markov Models for Regime Detection | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 2061 | COMMENT | |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 2221 | COMMENT | |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 2241 | # | COMMENT |
| LOW | 05_synthetic_data/06_llm_tabular_great.py | 1 | # --- | COMMENT |
| LOW | 05_synthetic_data/06_llm_tabular_great.py | 21 | # **Section Reference**: Section 5.6 (LLMs for Structured Financial Data) | COMMENT |
| LOW | 05_synthetic_data/06_llm_tabular_great.py | 41 | # - Fine-tune GPT-2 on serialized financial records using the GReaT framework | COMMENT |
| LOW | 05_synthetic_data/06_llm_tabular_great.py | 61 | # - Captures complex feature dependencies through attention | COMMENT |
| LOW | 05_synthetic_data/06_llm_tabular_great.py | 121 | "n_generate": N_GENERATE, | COMMENT |
| LOW | 05_synthetic_data/06_llm_tabular_great.py | 321 | print(f"Generated {len(synthetic_df)} samples") | COMMENT |
| 1094 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 05_synthetic_data/00_classical_simulation.py | 398 | def simulate_mean_reversion_euler( | CODE |
| LOW | 05_synthetic_data/00_classical_simulation.py | 456 | def simulate_mean_reversion_exact( | CODE |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 230 | def generate_synthetic_irregular_bars(n_bars: int = 1000, seed: int = 42) -> pl.DataFrame: | CODE |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 330 | def compute_inter_arrival_times(df: pl.DataFrame) -> np.ndarray: | CODE |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 361 | def create_irregular_sequences( | CODE |
| LOW | 05_synthetic_data/timegan_metrics.py | 186 | def compute_predictive_score_yoon( | CODE |
| LOW | 05_synthetic_data/timegan_metrics.py | 298 | def compute_discriminative_score_yoon( | CODE |
| LOW | 05_synthetic_data/timegan_metrics.py | 549 | def compute_discriminative_score( | CODE |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 651 | def compute_signature_with_factorial_norm( | CODE |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 700 | def augment_and_signature_paper( | CODE |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 814 | def compute_signatures_batch_paper( | CODE |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 1204 | def compute_expected_signature_gpu( | CODE |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 1672 | def plot_path_comparison_unconditional( | CODE |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 1776 | def tstr_evaluation_unconditional( | CODE |
| LOW | 05_synthetic_data/02_tailgan_tail_risk.py | 277 | def deterministic_neural_sort(s: torch.Tensor, tau: float) -> torch.Tensor: | CODE |
| LOW | 09_model_based_features/12_wasserstein_regimes.py | 188 | def _wasserstein_distance_to_centroid( | CODE |
| LOW | 09_model_based_features/12_wasserstein_regimes.py | 587 | def simulate_merton_jump_log_returns( | CODE |
| LOW | 09_model_based_features/12_wasserstein_regimes.py | 619 | def simulate_two_regime_stream( | CODE |
| LOW | 09_model_based_features/02_structural_breaks.py | 608 | def distribution_shift_features(series: np.ndarray, boundary: int, n_bins: int = 50) -> dict: | CODE |
| LOW | 09_model_based_features/02_structural_breaks.py | 650 | def dependence_shift_features(series: np.ndarray, boundary: int) -> dict: | CODE |
| LOW | 09_model_based_features/02_structural_breaks.py | 724 | def compute_all_break_features(series: np.ndarray, boundary: int) -> dict: | CODE |
| LOW | 09_model_based_features/09_har_rough_volatility.py | 1032 | def compute_features_for_symbol(symbol: str, etf_df: pl.DataFrame) -> dict | None: | CODE |
| LOW | 02_financial_data_universe/06_futures_continuous.py | 269 | def identify_front_month_calendar( | CODE |
| LOW | …financial_data_universe/14_point_in_time_validation.py | 187 | def leakage_corr_scale_invariant(df: pl.DataFrame, feature: str, price: str = "close") -> float: | CODE |
| LOW | …financial_data_universe/14_point_in_time_validation.py | 234 | def validate_signal_trade_lag(signals: pl.DataFrame, execution_lag: int = 1) -> pl.DataFrame: | CODE |
| LOW | 02_financial_data_universe/09_options_continuous.py | 114 | def select_constant_maturity_straddle(raw_options: pl.DataFrame) -> pl.DataFrame: | CODE |
| LOW | 02_financial_data_universe/09_options_continuous.py | 567 | def build_continuous_straddle_series(cm_series: pl.DataFrame) -> pl.DataFrame: | CODE |
| LOW | 02_financial_data_universe/17_complete_pipeline.py | 123 | def _combine_pipeline_sources( | CODE |
| LOW | 02_financial_data_universe/17_complete_pipeline.py | 472 | def _validate_crypto_coverage(df: pl.DataFrame, symbol: str) -> dict[str, Any]: | CODE |
| LOW | 02_financial_data_universe/17_complete_pipeline.py | 515 | def _add_crypto_session_features(df: pl.DataFrame) -> pl.DataFrame: | CODE |
| LOW | …ancial_data_universe/15_survivorship_bias_detection.py | 1028 | def check_universe_completeness( | CODE |
| LOW | 02_financial_data_universe/20_storage_benchmark_file.py | 175 | def read_parquet_materialized() -> pl.DataFrame: | CODE |
| LOW | 02_financial_data_universe/20_storage_benchmark_file.py | 215 | def read_feather_materialized() -> pl.DataFrame: | CODE |
| LOW | 02_financial_data_universe/02_corporate_actions.py | 389 | def demonstrate_split_adjustment( | CODE |
| LOW | 02_financial_data_universe/02_corporate_actions.py | 418 | def demonstrate_dividend_adjustment(price_before_ex: float = 100.0, dividend: float = 5.0) -> None: | CODE |
| LOW | 02_financial_data_universe/16_provider_comparison.py | 539 | def compare_providers_detailed( | CODE |
| LOW | 03_market_microstructure/16_itch_information_bars.py | 165 | def calculate_tick_imbalance_bars_manual( | CODE |
| LOW | 03_market_microstructure/07_itch_stylized_facts.py | 229 | def load_add_cancel_for_ticker(base_dir: Path, ticker: str) -> tuple[pl.DataFrame, pl.DataFrame]: | CODE |
| LOW | 03_market_microstructure/07_itch_stylized_facts.py | 302 | def analyze_order_flow_for_ticker(base_dir: Path, ticker: str) -> tuple[dict, pl.DataFrame]: | CODE |
| LOW | 03_market_microstructure/07_itch_stylized_facts.py | 483 | def compute_tick_autocorrelation(trades_df: pl.DataFrame, ticker: str, max_lags: int = 20) -> dict: | CODE |
| LOW | 03_market_microstructure/07_itch_stylized_facts.py | 587 | def compare_liquidity_metrics(trades_df: pl.DataFrame, tickers: list[str]) -> pl.DataFrame: | CODE |
| LOW | 03_market_microstructure/15_itch_lee_ready.py | 275 | def classify_trades_lee_ready_databento( | CODE |
| LOW | 03_market_microstructure/17_databento_bar_sampling.py | 646 | def _calibrate_imbalance_bars( | CODE |
| LOW | 03_market_microstructure/limit_orderbook.py | 1000 | def classify_trades_lee_ready( | CODE |
| LOW | 03_market_microstructure/18_algoseek_jump_detection.py | 235 | def lee_mykland_jumps_session(rets: pl.DataFrame, k: int, threshold: float) -> pl.DataFrame: | CODE |
| LOW | 03_market_microstructure/10_iex_lob_reconstruction.py | 486 | def reconstruct_lob_snapshots( | CODE |
| LOW | 03_market_microstructure/05_itch_trading_activity.py | 417 | def enrich_execution_messages(message_dir: Path) -> dict[str, int]: | CODE |
| LOW | 03_market_microstructure/03_itch_lob_analysis.py | 123 | def discover_available_symbols(base_dir: Path) -> list[str]: | CODE |
| LOW | 03_market_microstructure/03_itch_lob_analysis.py | 1223 | def compute_liquidity_summary(lob_df: pl.DataFrame) -> dict: | CODE |
| LOW | …undamental_alternative_data/14_text_data_extraction.py | 567 | def calculate_text_statistics(text: str) -> dict: | STRING |
| LOW | …undamental_alternative_data/14_text_data_extraction.py | 663 | def calculate_text_similarity(text1: str, text2: str) -> dict: | CODE |
| LOW | …fundamental_alternative_data/08_futures_positioning.py | 215 | def calculate_positioning_zscore( | CODE |
| LOW | tests/test_download_coverage.py | 40 | def test_every_free_script_is_mapped_to_a_drift_source(): | CODE |
| LOW⚡ | tests/test_download_coverage.py | 61 | def test_mapped_scripts_exist_on_disk(): | CODE |
| LOW⚡ | tests/test_download_coverage.py | 67 | def test_drift_sources_match_mapping(): | CODE |
| LOW⚡ | tests/test_download_coverage.py | 77 | def test_every_drift_source_has_a_test(): | CODE |
| LOW | tests/generate_test_microstructure.py | 667 | def generate_individual_futures() -> None: | CODE |
| LOW | tests/conftest.py | 303 | def _migrate_predictions_schema(preds_root: Path) -> None: | CODE |
| LOW | tests/conftest.py | 323 | def _patch_presets_for_testing(config_dir: Path) -> None: | CODE |
| LOW | tests/conftest.py | 400 | def pytest_collection_modifyitems(items): | CODE |
| 530 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 137 | CODE | |
| LOW | 05_synthetic_data/timegan_metrics.py | 35 | CODE | |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 105 | CODE | |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 148 | CODE | |
| LOW | 05_synthetic_data/02_tailgan_tail_risk.py | 59 | CODE | |
| LOW | 05_synthetic_data/01_timegan.py | 70 | CODE | |
| LOW | 09_model_based_features/09_har_rough_volatility.py | 1145 | CODE | |
| LOW | …_financial_data_universe/11_crypto_premium_analysis.py | 544 | CODE | |
| LOW | 02_financial_data_universe/17_complete_pipeline.py | 62 | CODE | |
| LOW | 02_financial_data_universe/20_storage_benchmark_file.py | 66 | CODE | |
| LOW | 03_market_microstructure/07_itch_stylized_facts.py | 74 | CODE | |
| LOW | 03_market_microstructure/13_algoseek_minute_bars_eda.py | 68 | CODE | |
| LOW | 03_market_microstructure/18_algoseek_jump_detection.py | 64 | CODE | |
| LOW | 03_market_microstructure/10_iex_lob_reconstruction.py | 153 | CODE | |
| LOW | …rket_microstructure/08_databento_lob_reconstruction.py | 55 | CODE | |
| LOW | 03_market_microstructure/03_itch_lob_analysis.py | 84 | CODE | |
| LOW | tests/test_download_coverage.py | 13 | CODE | |
| LOW | tests/add_missing_parameters_cells.py | 11 | CODE | |
| LOW | tests/generate_test_microstructure.py | 13 | CODE | |
| LOW | tests/conftest.py | 413 | CODE | |
| LOW | tests/test_artifact_specs.py | 1 | CODE | |
| LOW | tests/test_data_quality.py | 11 | CODE | |
| LOW | tests/test_notebook_output_hygiene.py | 15 | CODE | |
| LOW | tests/notebook_catalog.py | 1 | CODE | |
| LOW | tests/test_signals.py | 20 | CODE | |
| LOW | tests/test_case_study_analytics.py | 31 | CODE | |
| LOW | tests/test_registry_metrics.py | 28 | CODE | |
| LOW | tests/notebook_worker.py | 1 | CODE | |
| LOW | tests/test_backtest_presets.py | 1 | CODE | |
| LOW | tests/test_import_coverage.py | 19 | CODE | |
| LOW | tests/test_import_coverage.py | 21 | CODE | |
| LOW | tests/test_import_coverage.py | 26 | CODE | |
| LOW | tests/test_download_all_dispatch.py | 16 | CODE | |
| LOW | tests/test_data_exceptions.py | 9 | CODE | |
| LOW | tests/test_uncertainty_cscv.py | 13 | CODE | |
| LOW | tests/test_compose_mounts.py | 16 | CODE | |
| LOW | tests/test_allocation.py | 24 | CODE | |
| LOW | tests/test_registry_specs.py | 11 | CODE | |
| LOW | tests/test_cv_window_fold_splits.py | 17 | CODE | |
| LOW | tests/test_chapter_imports.py | 16 | CODE | |
| LOW | tests/test_slot_strategy.py | 18 | CODE | |
| LOW | tests/test_firm_characteristics_extract.py | 12 | CODE | |
| LOW | tests/generate_skip_data.py | 23 | CODE | |
| LOW | tests/test_download_scripts_registry.py | 11 | CODE | |
| LOW | tests/test_external_drift.py | 26 | CODE | |
| LOW | tests/test_warmup_periods_for.py | 8 | CODE | |
| LOW | tests/test_backtest_runner_helpers.py | 13 | CODE | |
| LOW | tests/test_list_loaders.py | 11 | CODE | |
| LOW | tests/test_download_helpers.py | 14 | CODE | |
| LOW | tests/test_notebook_sync.py | 15 | CODE | |
| LOW | tests/test_cv_splits.py | 20 | CODE | |
| LOW | tests/test_registry_completeness.py | 15 | CODE | |
| LOW | tests/test_paths.py | 9 | CODE | |
| LOW | tests/test_registry_queries_cohort.py | 19 | CODE | |
| LOW | tests/test_latent_factors_no_leak.py | 3 | CODE | |
| LOW | tests/test_sequence_dataset.py | 16 | CODE | |
| LOW | tests/test_sequence_dataset.py | 20 | CODE | |
| LOW | tests/test_sweep_config_seam.py | 18 | CODE | |
| LOW | tests/test_futures_loader.py | 8 | CODE | |
| LOW | utils/cv_splits.py | 29 | CODE | |
| 257 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | 05_synthetic_data/00_classical_simulation.py | 112 | # | **Heston** | Stochastic volatility | Vol surfaces, leverage effect | | COMMENT |
| MEDIUM | 05_synthetic_data/00_classical_simulation.py | 543 | # - $\rho$ = correlation between price and variance shocks (leverage effect) | COMMENT |
| MEDIUM | 05_synthetic_data/00_classical_simulation.py | 660 | rho=-0.7, # Strong leverage effect | CODE |
| MEDIUM | 09_model_based_features/01_visual_diagnostics.py | 140 | # Using two tests with opposite null hypotheses provides robust conclusions: | COMMENT |
| MEDIUM | 09_model_based_features/01_visual_diagnostics.py | 208 | # The three-test consensus (ADF + KPSS + Phillips-Perron) is more robust than | COMMENT |
| MEDIUM | 09_model_based_features/01_visual_diagnostics.py | 443 | # 2. **Use both ADF and KPSS**: opposite null hypotheses give robust | COMMENT |
| MEDIUM | 09_model_based_features/02_structural_breaks.py | 517 | # The core test is Welch's t-test on absolute values (robust to scale differences). | COMMENT |
| MEDIUM | 09_model_based_features/02_structural_breaks.py | 589 | # Fligner-Killeen test (robust to non-normality, Alphabot f05) | COMMENT |
| MEDIUM | 09_model_based_features/02_structural_breaks.py | 997 | # 5. **Fisher aggregation** combines p-values across window sizes for robust | COMMENT |
| MEDIUM | 09_model_based_features/14_panel_features.py | 961 | # scale-invariant, outlier-robust, and stationary, making heterogeneous | COMMENT |
| MEDIUM | 09_model_based_features/09_har_rough_volatility.py | 729 | # DFA is more robust than R/S for non-stationary series. It removes local trends | COMMENT |
| MEDIUM | 09_model_based_features/09_har_rough_volatility.py | 917 | # DFA is more robust than R/S for shorter windows | COMMENT |
| MEDIUM | 09_model_based_features/13_regime_as_feature.py | 606 | # Generate a comprehensive feature set in one pipeline | COMMENT |
| MEDIUM⚡ | 09_model_based_features/10_uncertainty_features.py | 447 | # robust for position sizing. | COMMENT |
| MEDIUM | 09_model_based_features/10_uncertainty_features.py | 509 | # Forecast std from the CI width on original scale (robust to negative log-CIs) | COMMENT |
| MEDIUM | 09_model_based_features/05_spectral_features.py | 23 | # production spectral features, and Welch's method for robust power | COMMENT |
| MEDIUM | 09_model_based_features/05_spectral_features.py | 443 | # variance at the cost of frequency resolution. It is more robust than a | COMMENT |
| MEDIUM | 09_model_based_features/05_spectral_features.py | 684 | # 3. **Welch's method is more robust**: Averaging over overlapping segments | COMMENT |
| MEDIUM | 09_model_based_features/08_garch_volatility.py | 22 | # conditional volatility, persistence parameters, and leverage effects. | COMMENT |
| MEDIUM | 09_model_based_features/08_garch_volatility.py | 266 | # EGARCH allows for asymmetric responses (leverage effect): | COMMENT |
| MEDIUM | 09_model_based_features/08_garch_volatility.py | 271 | # Fit EGARCH(1,1,1) — the o=1 asymmetry order adds the gamma leverage term so | COMMENT |
| MEDIUM | 09_model_based_features/08_garch_volatility.py | 328 | # negative shocks (the leverage effect). (b) Standardized residuals should look like | COMMENT |
| MEDIUM | 09_model_based_features/08_garch_volatility.py | 657 | # 3. **EGARCH captures leverage effect** — negative shocks increase volatility more | COMMENT |
| MEDIUM | 09_model_based_features/11_hmm_regimes.py | 932 | # combine both approaches for robust regime features | COMMENT |
| MEDIUM | 09_model_based_features/03_fractional_differencing.py | 92 | # This is simpler, more robust, and avoids overfitting to in-sample data. | COMMENT |
| MEDIUM | 09_model_based_features/03_fractional_differencing.py | 501 | # comprehensive diagnostic summary. | COMMENT |
| MEDIUM | 09_model_based_features/06_path_signatures.py | 381 | # a simple GBM as a test harness. This is **feature evaluation, not model | COMMENT |
| MEDIUM | 02_financial_data_universe/13_data_quality_framework.py | 247 | # **MAD** (median absolute deviation, robust to extreme tails), **Z-score** | COMMENT |
| MEDIUM | …nancial_data_universe/08_options_greeks_computation.py | 207 | # We'll use Brent's method (a robust root-finding algorithm) to solve this. | COMMENT |
| MEDIUM | 02_financial_data_universe/16_provider_comparison.py | 339 | # For production systems, we need a robust strategy that handles: | COMMENT |
| MEDIUM | 03_market_microstructure/13_algoseek_minute_bars_eda.py | 25 | # This notebook provides a comprehensive exploration of the AlgoSeek TAQ minute bar dataset. | COMMENT |
| MEDIUM | 03_market_microstructure/02_itch_lob_reconstruction.py | 316 | # This approach is more robust than order-by-order tracking because it doesn't | COMMENT |
| MEDIUM | 03_market_microstructure/15_itch_lee_ready.py | 390 | # Run validation across multiple days to get robust statistics. | COMMENT |
| MEDIUM | 03_market_microstructure/17_databento_bar_sampling.py | 28 | # robust are imbalance-bar parameters across market conditions? | COMMENT |
| MEDIUM | 03_market_microstructure/17_databento_bar_sampling.py | 1559 | # (more robust to outlier days) | COMMENT |
| MEDIUM | 03_market_microstructure/17_databento_bar_sampling.py | 1663 | # DataBento's multi-day MBO data enables robust threshold selection that | COMMENT |
| MEDIUM | 03_market_microstructure/18_algoseek_jump_detection.py | 152 | # is jump-robust: a single large $|r_i|$ is multiplied by its small | COMMENT |
| MEDIUM | 03_market_microstructure/18_algoseek_jump_detection.py | 205 | # intraday volatility regimes and is robust to the jumps it is trying to | COMMENT |
| MEDIUM | 03_market_microstructure/18_algoseek_jump_detection.py | 478 | # jumps; bipower variation gives a jump-robust continuous-variance | COMMENT |
| MEDIUM | 03_market_microstructure/03_itch_lob_analysis.py | 59 | # microstructure. See Bouchaud et al. (2018) for a comprehensive treatment. | COMMENT |
| MEDIUM | …undamental_alternative_data/14_text_data_extraction.py | 45 | # - **10-K**: Annual report with comprehensive company information | COMMENT |
| MEDIUM | tests/conftest.py | 338 | # Max configs per family in label config files (keep tests fast but comprehensive). | COMMENT |
| MEDIUM | tests/test_chapter_imports.py | 31 | # exercises the sitecustomize hook rather than a path the harness added. | COMMENT |
| MEDIUM | 08_financial_features/02_microstructure_features.py | 588 | # dollar traded. Using multiple liquidity proxies provides a more robust picture | COMMENT |
| MEDIUM | 08_financial_features/07_event_studies.py | 546 | # The `ml4t-diagnostic` library adds robust variance adjustment (BMP test, | COMMENT |
| MEDIUM | 08_financial_features/07_event_studies.py | 612 | # | BMP test (robust variance) | No | Yes | | COMMENT |
| MEDIUM | 08_financial_features/01_price_volume_features.py | 902 | # Rank-based features are robust to outliers. | COMMENT |
| MEDIUM | 08_financial_features/06_robustness_sensitivity.py | 26 | # A robust signal maintains performance across reasonable variations in | COMMENT |
| MEDIUM | 08_financial_features/06_robustness_sensitivity.py | 167 | # surface** and identify a **robust region**. | COMMENT |
| MEDIUM | 08_financial_features/06_robustness_sensitivity.py | 255 | # within 90% of the best. A robust signal has a broad plateau; a fragile | COMMENT |
| MEDIUM | 08_financial_features/06_robustness_sensitivity.py | 265 | """Compute the robust region as parameters within threshold_pct of best.""" | STRING |
| MEDIUM | 08_financial_features/06_robustness_sensitivity.py | 305 | # Visualize robust region | COMMENT |
| MEDIUM | 08_financial_features/06_robustness_sensitivity.py | 410 | # A robust signal maintains predictive power across market regimes. We use | COMMENT |
| MEDIUM | 08_financial_features/06_robustness_sensitivity.py | 715 | # Different implementation choices are hyperparameters. A robust signal | COMMENT |
| MEDIUM | 08_financial_features/05_feature_selection.py | 708 | # 5. **Bootstrap stability** separates features with robust IC from those | COMMENT |
| MEDIUM | …ining_the_learning_task/01_data_quality_diagnostics.py | 1251 | # excess kurtosis (fat tails). This confirms that robust scaling and | COMMENT |
| MEDIUM | 07_defining_the_learning_task/06_ic_inference.py | 28 | # IC series and block bootstrap for robust confidence intervals. | COMMENT |
| MEDIUM | 07_defining_the_learning_task/06_ic_inference.py | 277 | # We use the `arch` library's `StationaryBootstrap` for robust inference. | COMMENT |
| MEDIUM | 07_defining_the_learning_task/06_ic_inference.py | 656 | # 2. **Report block bootstrap CIs** - distribution-free and robust | COMMENT |
| MEDIUM | 07_defining_the_learning_task/05_signal_evaluation.py | 812 | # 3. **Overfitting detection**: Consistent IC across folds suggests robust signal | COMMENT |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 09_model_based_features/01_visual_diagnostics.py | 355 | except Exception: | CODE |
| LOW | 09_model_based_features/09_har_rough_volatility.py | 1050 | except Exception: | CODE |
| LOW | 09_model_based_features/09_har_rough_volatility.py | 1061 | except Exception: | CODE |
| LOW | …nancial_data_universe/21_storage_benchmark_database.py | 181 | except Exception: | CODE |
| LOW | …nancial_data_universe/21_storage_benchmark_database.py | 193 | except Exception: | CODE |
| LOW | …nancial_data_universe/21_storage_benchmark_database.py | 213 | except Exception: | CODE |
| LOW | …nancial_data_universe/21_storage_benchmark_database.py | 233 | except Exception: | CODE |
| LOW | …nancial_data_universe/21_storage_benchmark_database.py | 253 | except Exception: | CODE |
| LOW | …nancial_data_universe/21_storage_benchmark_database.py | 1194 | except Exception as e: | STRING |
| LOW | …nancial_data_universe/21_storage_benchmark_database.py | 1208 | except Exception as e: | STRING |
| LOW | …nancial_data_universe/21_storage_benchmark_database.py | 1246 | except Exception as e: | STRING |
| LOW | …_financial_data_universe/22_pandas_polars_benchmark.py | 142 | except Exception: | CODE |
| LOW | …_financial_data_universe/22_pandas_polars_benchmark.py | 155 | except Exception: | CODE |
| LOW | …_financial_data_universe/22_pandas_polars_benchmark.py | 218 | except Exception: | CODE |
| LOW | …_financial_data_universe/22_pandas_polars_benchmark.py | 875 | except Exception: | CODE |
| MEDIUM | …nancial_data_universe/08_options_greeks_computation.py | 259 | print(f"Error: {abs(test_vol - recovered_iv):.2e}") | CODE |
| LOW | 02_financial_data_universe/16_provider_comparison.py | 291 | except Exception as e: | CODE |
| LOW | 02_financial_data_universe/16_provider_comparison.py | 316 | except Exception as e: | CODE |
| LOW | 02_financial_data_universe/16_provider_comparison.py | 410 | except Exception as e: | CODE |
| LOW | 02_financial_data_universe/16_provider_comparison.py | 471 | except Exception as e: | CODE |
| LOW | 02_financial_data_universe/16_provider_comparison.py | 481 | except Exception as e: | CODE |
| LOW | 02_financial_data_universe/16_provider_comparison.py | 559 | except Exception as e: | CODE |
| LOW | …ket_microstructure/04_itch_order_lifecycle_analysis.py | 268 | except Exception as e: | CODE |
| MEDIUM | …ket_microstructure/04_itch_order_lifecycle_analysis.py | 269 | print(f"Error loading {msg_type}: {e}") | CODE |
| LOW | …ket_microstructure/04_itch_order_lifecycle_analysis.py | 288 | except Exception: | CODE |
| LOW | 03_market_microstructure/01_itch_parser.py | 500 | except Exception as e: | CODE |
| LOW⚡ | 03_market_microstructure/07_itch_stylized_facts.py | 250 | except Exception: | CODE |
| LOW⚡ | 03_market_microstructure/07_itch_stylized_facts.py | 253 | except Exception: | CODE |
| LOW⚡ | 03_market_microstructure/07_itch_stylized_facts.py | 258 | except Exception: | CODE |
| LOW⚡ | 03_market_microstructure/07_itch_stylized_facts.py | 273 | except Exception: | CODE |
| LOW⚡ | 03_market_microstructure/07_itch_stylized_facts.py | 282 | except Exception: | CODE |
| LOW⚡ | 03_market_microstructure/07_itch_stylized_facts.py | 285 | except Exception: | CODE |
| LOW⚡ | 03_market_microstructure/07_itch_stylized_facts.py | 290 | except Exception: | CODE |
| LOW | 03_market_microstructure/15_itch_lee_ready.py | 417 | except Exception as e: | CODE |
| MEDIUM | 03_market_microstructure/15_itch_lee_ready.py | 418 | print(f"Error processing {file.name}: {e}") | CODE |
| LOW | 03_market_microstructure/17_databento_bar_sampling.py | 427 | except Exception as e: | CODE |
| MEDIUM | 03_market_microstructure/17_databento_bar_sampling.py | 428 | print(f"Error building {bar_type} bars: {e}") | CODE |
| LOW | 03_market_microstructure/17_databento_bar_sampling.py | 612 | except Exception: | CODE |
| LOW | 03_market_microstructure/10_iex_lob_reconstruction.py | 138 | except Exception: | CODE |
| LOW | 03_market_microstructure/10_iex_lob_reconstruction.py | 309 | except Exception: | CODE |
| LOW | 03_market_microstructure/14_itch_bar_sampling.py | 335 | except Exception as e: | CODE |
| LOW | 03_market_microstructure/14_itch_bar_sampling.py | 636 | except Exception as e: | CODE |
| MEDIUM | 03_market_microstructure/05_itch_trading_activity.py | 144 | print(f"Error reading {sub.name}: {e}") | CODE |
| LOW | 03_market_microstructure/05_itch_trading_activity.py | 145 | except Exception as e: | CODE |
| MEDIUM | 03_market_microstructure/05_itch_trading_activity.py | 554 | print(f"Error loading {msg_type}: {e}") | CODE |
| LOW | 03_market_microstructure/05_itch_trading_activity.py | 555 | except Exception as e: | CODE |
| LOW | …_alternative_data/03_sec_form4_insider_transactions.py | 234 | except Exception as exc: | CODE |
| LOW | 04_fundamental_alternative_data/05_entity_resolution.py | 388 | except Exception as exc: # offline + uncached, or optional dependency missing | CODE |
| LOW | …fundamental_alternative_data/02_sec_filing_explorer.py | 252 | except Exception as exc: | CODE |
| LOW | …fundamental_alternative_data/02_sec_filing_explorer.py | 274 | except Exception: | CODE |
| MEDIUM | …fundamental_alternative_data/02_sec_filing_explorer.py | 271 | def _has_sales(f): | CODE |
| LOW | tests/notebook_worker.py | 120 | except Exception as exc: | CODE |
| LOW | tests/pm_helpers.py | 315 | except Exception: | CODE |
| LOW | tests/pm_helpers.py | 336 | except Exception as e: | CODE |
| LOW | tests/test_external_drift.py | 222 | except Exception as exc: # network/geo block — optional dataset | CODE |
| LOW | utils/downloading.py | 308 | except Exception as e: | CODE |
| LOW | utils/modeling.py | 510 | except Exception as exc: | CODE |
| LOW | utils/modeling.py | 1291 | except Exception as exc: | CODE |
| LOW | utils/storage_benchmarks.py | 260 | except Exception: | CODE |
| LOW | utils/storage_benchmarks.py | 308 | except Exception: | CODE |
| 116 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 05_synthetic_data/timegan_metrics.py | 549 | CODE | |
| LOW | 05_synthetic_data/07_dp_gan.py | 353 | CODE | |
| LOW | 09_model_based_features/02_structural_breaks.py | 422 | CODE | |
| LOW | 09_model_based_features/13_regime_as_feature.py | 342 | CODE | |
| LOW | 03_market_microstructure/09_databento_mbo_analysis.py | 362 | CODE | |
| LOW | 03_market_microstructure/09_databento_mbo_analysis.py | 398 | CODE | |
| LOW | 03_market_microstructure/07_itch_stylized_facts.py | 229 | CODE | |
| LOW | 03_market_microstructure/15_itch_lee_ready.py | 183 | CODE | |
| LOW | 03_market_microstructure/15_itch_lee_ready.py | 229 | CODE | |
| LOW | 03_market_microstructure/15_itch_lee_ready.py | 275 | CODE | |
| LOW | 03_market_microstructure/15_itch_lee_ready.py | 394 | CODE | |
| LOW | 03_market_microstructure/17_databento_bar_sampling.py | 379 | CODE | |
| LOW | 03_market_microstructure/limit_orderbook.py | 234 | CODE | |
| LOW | 03_market_microstructure/limit_orderbook.py | 484 | CODE | |
| LOW | 03_market_microstructure/limit_orderbook.py | 1000 | CODE | |
| LOW | 03_market_microstructure/10_iex_lob_reconstruction.py | 202 | CODE | |
| LOW | …rket_microstructure/08_databento_lob_reconstruction.py | 476 | CODE | |
| LOW | 03_market_microstructure/05_itch_trading_activity.py | 527 | CODE | |
| LOW | tests/add_missing_parameters_cells.py | 45 | CODE | |
| LOW | tests/generate_test_microstructure.py | 462 | CODE | |
| LOW | tests/generate_test_microstructure.py | 667 | CODE | |
| LOW | tests/conftest.py | 60 | CODE | |
| LOW | tests/conftest.py | 143 | CODE | |
| LOW | tests/conftest.py | 400 | CODE | |
| LOW | tests/generate_intermediates.py | 179 | CODE | |
| LOW | tests/generate_skip_data.py | 75 | CODE | |
| LOW | tests/test_sweep_config_seam.py | 175 | CODE | |
| LOW | utils/cv_splits.py | 93 | CODE | |
| LOW | utils/style.py | 617 | CODE | |
| LOW | utils/downloading.py | 177 | CODE | |
| LOW | utils/downloading.py | 189 | CODE | |
| LOW | utils/modeling.py | 168 | CODE | |
| LOW | utils/modeling.py | 1002 | CODE | |
| LOW | utils/storage_benchmarks.py | 382 | CODE | |
| LOW | 08_financial_features/07_event_studies.py | 140 | CODE | |
| LOW | 08_financial_features/06_robustness_sensitivity.py | 126 | CODE | |
| LOW | 08_financial_features/06_robustness_sensitivity.py | 453 | CODE | |
| LOW | 08_financial_features/06_robustness_sensitivity.py | 721 | CODE | |
| LOW | 08_financial_features/05_feature_selection.py | 280 | CODE | |
| LOW | 07_defining_the_learning_task/03_label_methods.py | 1100 | CODE | |
| LOW | …efining_the_learning_task/02_preprocessing_pipeline.py | 442 | CODE | |
| LOW | …_defining_the_learning_task/08_causal_sanity_checks.py | 510 | CODE | |
| LOW | 07_defining_the_learning_task/_benchmark_utils.py | 395 | CODE | |
| LOW | scripts/download_artifacts.py | 100 | CODE | |
| LOW | scripts/verify_installation.py | 627 | CODE | |
| LOW | envs/scan_imports.py | 121 | CODE | |
| LOW | envs/test_all_imports.py | 407 | CODE | |
| LOW | data/futures/loader.py | 174 | CODE | |
| LOW | data/futures/market/download.py | 125 | CODE | |
| LOW | data/futures/market/download.py | 483 | CODE | |
| LOW | data/futures/market/download.py | 557 | CODE | |
| LOW | data/prediction_markets/download.py | 101 | CODE | |
| LOW | data/prediction_markets/download.py | 198 | CODE | |
| LOW | data/fx/market/download.py | 84 | CODE | |
| LOW | data/equities/fundamentals/xbrl_download.py | 185 | CODE | |
| LOW | data/equities/fundamentals/filings_download.py | 278 | CODE | |
| LOW | data/equities/firm_characteristics/download.py | 82 | CODE | |
| LOW | data/equities/firm_characteristics/download.py | 125 | CODE | |
| LOW | data/equities/market/microstructure/mbo_download.py | 96 | CODE | |
| LOW | data/equities/market/microstructure/dataset_card.py | 166 | CODE | |
| 47 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | 02_financial_data_universe/13_data_quality_framework.py | 195 | # Fault 3: null close at row 30. Use a genuine null, not NumPy NaN: Polars stores | COMMENT |
| HIGH⚡ | tests/test_data_quality.py | 49 | assert out.equals(df) | CODE |
| HIGH⚡ | tests/test_data_quality.py | 55 | assert out.equals(df) | CODE |
| HIGH⚡ | tests/test_data_quality.py | 61 | assert out.equals(df) | CODE |
| HIGH⚡ | tests/test_registry_metrics.py | 271 | """With only one fold, cross-fold stddev is undefined; the function reports 0.""" | STRING |
| HIGH⚡ | tests/test_backtest_runner_helpers.py | 40 | assert out.equals(other) | CODE |
| HIGH | utils/data_quality.py | 439 | """Check feature columns for infinities, all-null, and extreme values. | STRING |
| HIGH | 08_financial_features/05_feature_selection.py | 177 | # ``pl.corr`` returns a float NaN (not a null) on any date where a feature is | COMMENT |
| HIGH | 07_defining_the_learning_task/07_multiple_testing.py | 351 | # P-value histogram (should be uniform under null) | COMMENT |
| HIGH | …efining_the_learning_task/10_ml4t_library_ecosystem.py | 260 | # NaN is distinct from null, so guard against both before averaging. | COMMENT |
| HIGH | …_defining_the_learning_task/08_causal_sanity_checks.py | 406 | # that vanishes by 21d and flips sign across VIX regimes): a near-null, | COMMENT |
| HIGH | case_studies/utils/notebook_render.py | 321 | raise ValueError("forest plot received empty (or fully-null) data") | STRING |
| HIGH | case_studies/utils/sweep_config.py | 482 | exit_signal_q: [null, 0.30, ...] # slot only — stay threshold, null disables | STRING |
| HIGH | case_studies/utils/registry/registration.py | 854 | completeness contract (``ic_mean`` non-null, etc.) does not apply to | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 186 | # chromadb<1.2, which conflicts with the Ch22 RAG stack. | COMMENT |
| MEDIUM | README.md | 311 | ### [22. RAG for Financial Research](22_rag_financial_research/) | COMMENT |
| MEDIUM | 05_synthetic_data/06_llm_tabular_great.py | 335 | # limitation of autoregressive generation: the model can "hallucinate" tokens that | COMMENT |
| MEDIUM | 05_synthetic_data/06_llm_tabular_great.py | 369 | # indicate parsing errors or LLM hallucination on certain feature combinations. | COMMENT |
| MEDIUM | 09_model_based_features/11_hmm_regimes.py | 755 | # during event-driven spikes. Neither is "correct" — they measure different | COMMENT |
| MEDIUM | 02_financial_data_universe/13_data_quality_framework.py | 395 | # `AnomalyManager` orchestrates the three detectors and provides batch | COMMENT |
| MEDIUM | 03_market_microstructure/01_itch_parser.py | 250 | # frame, `_decode_message` unpacks and converts it, and `parse_itch_file` orchestrates | COMMENT |
| MEDIUM | …fundamental_alternative_data/11_defi_tvl_evaluation.py | 374 | # A weighted composite is a teaching scaffold, not a calibrated metric: | COMMENT |
| MEDIUM | 04_fundamental_alternative_data/05_entity_resolution.py | 366 | # matching entirely. A sentence-embedding model maps each name to a vector whose | COMMENT |
| MEDIUM | 08_financial_features/07_event_studies.py | 361 | # The wrapper orchestrates the three stages: estimate market model, compute | COMMENT |
| MEDIUM | 08_financial_features/04_fundamentals_macro_calendar.py | 89 | # ### Scope: scaffolding for the construction mechanics, not a real-data value pipeline | COMMENT |
| MEDIUM | 08_financial_features/04_fundamentals_macro_calendar.py | 96 | # **scaffolding** value: it lets the downstream `compute_value_factors()` cell | COMMENT |
| MEDIUM | 08_financial_features/04_fundamentals_macro_calendar.py | 165 | # > `market_cap` is the `2 × book_value` scaffolding from §1.1. The cell | COMMENT |
| MEDIUM | …_defining_the_learning_task/08_causal_sanity_checks.py | 1166 | # event-driven, so the check does not apply here. Chapter 8 demonstrates | COMMENT |
| MEDIUM⚡ | 10_text_feature_engineering/03_sentiment_evolution.py | 361 | # **Critical Note**: This is NOT "zero-shot" since FinBERT-tone already has a | COMMENT |
| MEDIUM | 10_text_feature_engineering/03_sentiment_evolution.py | 573 | # specific fine-tuning" — not "zero-shot" in the prompted-LLM sense, | COMMENT |
| MEDIUM | 10_text_feature_engineering/02_asset_embeddings.py | 490 | # Get context window (positions around the masked one) | COMMENT |
| MEDIUM | 10_text_feature_engineering/01_word2vec_training.py | 47 | # - Familiarity with token-level NLP terminology (vocabulary, context window). | COMMENT |
| MEDIUM | 10_text_feature_engineering/06_finbert_cross_dataset.py | 238 | # This notebook measures **one** number: ProsusAI/finbert's zero-shot | COMMENT |
| MEDIUM | 01_process_is_edge/README.md | 61 | - **Justina Lee** (2025). [Man Group Says Agentic AI Is Now Devising Quant Trading Signals](https://www.bloomberg.com/ne | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 590 | # Step 1: Scale(2, dim=0) - scale first dimension by 2 | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 593 | # Step 2: AddTime - prepend time coordinate | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 596 | # Step 3: LeadLag - lead-lag transform | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 599 | # Step 4: VisiTrans("I") - I-visibility transform | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1181 | # Step 1: Scale(2, dim=0) | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1184 | # Step 2: AddTime | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1187 | # Step 3: LeadLag | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1190 | # Step 4: VisiTrans("I") | COMMENT |
| LOW | 09_model_based_features/14_panel_features.py | 898 | # WARNING: This ranks each asset's volatility over its FULL history — a look-ahead | COMMENT |
| LOW⚡ | 09_model_based_features/10_uncertainty_features.py | 454 | # Step 1: AutoARIMA order selection on first training window | COMMENT |
| LOW | 09_model_based_features/10_uncertainty_features.py | 470 | # Step 2: Rolling forecast with fixed order (fast) | COMMENT |
| LOW | 02_financial_data_universe/19_incremental_updates.py | 90 | # ### Step 1: Initial Load (Full History) | COMMENT |
| LOW | 02_financial_data_universe/19_incremental_updates.py | 107 | # ### Step 2: Incremental Update (Only New Data) | COMMENT |
| LOW⚡ | 03_market_microstructure/01_itch_parser.py | 199 | # Step 1: Raw binary from download | COMMENT |
| LOW⚡ | 03_market_microstructure/01_itch_parser.py | 207 | # Step 2: Parsed messages (single uppercase letter = message type) | COMMENT |
| LOW⚡ | …mental_alternative_data/01_academic_characteristics.py | 307 | # Step 1: Compute IC (correlation with returns) for each characteristic, per month | COMMENT |
| LOW⚡ | …mental_alternative_data/01_academic_characteristics.py | 314 | # Step 2: Compute mean IC, i.i.d. t-stat, and Newey-West HAC t-stat across months | COMMENT |
| LOW⚡ | tests/generate_test_data.sh | 25 | # Step 1: Generate subsampled raw data | COMMENT |
| LOW⚡ | tests/generate_test_data.sh | 34 | # Step 2: Deploy latest notebooks from third-edition -> review repo | COMMENT |
| LOW⚡ | tests/generate_test_data.sh | 40 | # Step 3: Generate intermediates (runs pipeline notebooks via Papermill) | COMMENT |
| LOW⚡ | …efining_the_learning_task/02_preprocessing_pipeline.py | 558 | # ### Step 1: Remove penny stocks | COMMENT |
| LOW | …efining_the_learning_task/02_preprocessing_pipeline.py | 573 | # ### Step 2: Domain filters | COMMENT |
| LOW | …efining_the_learning_task/02_preprocessing_pipeline.py | 601 | # ### Step 3: Extreme returns | COMMENT |
| LOW | …efining_the_learning_task/02_preprocessing_pipeline.py | 615 | # ### Step 4: Spike detection | COMMENT |
| LOW⚡ | case_studies/utils/backtest_loaders.py | 1263 | # Step 1: Calendar-aware schedule resolution | COMMENT |
| LOW⚡ | case_studies/utils/backtest_loaders.py | 1266 | # Step 2: Apply design-time non-overlapping step | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 186 | RETRAIN = False # Set True to retrain even if checkpoint exists | CODE |
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 1483 | # Check if interpolated values are bounded by adjacent real values (soft check) | COMMENT |
| LOW | 05_synthetic_data/timegan_metrics.py | 226 | # Check if data appears to be normalized to [0, 1] | COMMENT |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 178 | RETRAIN = False # Set True to retrain even if checkpoint exists | CODE |
| LOW | 05_synthetic_data/06_llm_tabular_great.py | 127 | RETRAIN = False # Set True to retrain even if checkpoint exists | CODE |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 189 | RETRAIN = False # Set True to force retraining even if checkpoint exists | CODE |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 1365 | # Check if checkpoint exists and RETRAIN is False | COMMENT |
| LOW | 05_synthetic_data/07_dp_gan.py | 128 | RETRAIN = False # Set True to retrain even if checkpoint exists | CODE |
| LOW | 05_synthetic_data/02_tailgan_tail_risk.py | 84 | RETRAIN = False # Set True to force retraining even if checkpoint exists | CODE |
| LOW | 05_synthetic_data/02_tailgan_tail_risk.py | 552 | # Check if constraint violated: W*v >= e | COMMENT |
| LOW | 05_synthetic_data/01_timegan.py | 92 | RETRAIN = True # Set True to force re-training even if checkpoint exists | CODE |
| LOW | …nancial_data_universe/21_storage_benchmark_database.py | 1171 | # Check if process started successfully | STRING |
| LOW | …nancial_data_universe/08_options_greeks_computation.py | 232 | # Check if solution exists within bounds | COMMENT |
| LOW | …ket_microstructure/04_itch_order_lifecycle_analysis.py | 129 | # Check if we have message data to analyze | COMMENT |
| LOW | 03_market_microstructure/14_itch_bar_sampling.py | 522 | # Check if we have actual buy/sell variance | COMMENT |
| LOW | 03_market_microstructure/05_itch_trading_activity.py | 107 | # Check if we have message data to analyze | COMMENT |
| LOW | 03_market_microstructure/05_itch_trading_activity.py | 458 | # Check if enrichment already done | COMMENT |
| LOW | 03_market_microstructure/05_itch_trading_activity.py | 582 | # Print message type breakdown | COMMENT |
| LOW | 03_market_microstructure/03_itch_lob_analysis.py | 926 | # Check if OFI column exists (generated by reconstruct_lob_with_ofi) | COMMENT |
| LOW | …undamental_alternative_data/14_text_data_extraction.py | 706 | # Check if paragraph is substantially new (low similarity to all old paragraphs) | COMMENT |
| LOW | tests/test_model_registry.py | 394 | # Check if this notebook is expected to register (match on suffix) | COMMENT |
| LOW | utils/data_quality.py | 546 | # Print results | COMMENT |
| LOW⚡ | utils/storage_benchmarks.py | 671 | # Assign quotes to symbols (weighted: some symbols more active) | COMMENT |
| LOW⚡ | utils/storage_benchmarks.py | 736 | # Assign trades to symbols (same distribution as quotes) | COMMENT |
| LOW | 08_financial_features/07_event_studies.py | 171 | # Check if new high | COMMENT |
| LOW⚡ | 07_defining_the_learning_task/_benchmark_utils.py | 680 | # Assign quotes to symbols (weighted: some symbols more active) | COMMENT |
| LOW⚡ | 07_defining_the_learning_task/_benchmark_utils.py | 745 | # Assign trades to symbols (same distribution as quotes) | COMMENT |
| LOW | data/futures/market/download.py | 234 | # Check if year is complete | COMMENT |
| LOW | data/equities/loader.py | 1147 | # Check if raw files exist but aren't parsed | COMMENT |
| LOW | data/equities/market/us_equities/download.py | 90 | # Check if already exists | COMMENT |
| LOW | 10_text_feature_engineering/02_asset_embeddings.py | 635 | # Display results | COMMENT |
| LOW | case_studies/utils/model_analysis.py | 180 | # Check if fold_metrics table exists | STRING |
| LOW | case_studies/utils/registry/store.py | 383 | # Check if backtest_runs table exists at all | COMMENT |
| LOW | case_studies/utils/registry/store.py | 561 | # Check if this table still has tall format | COMMENT |
| LOW | case_studies/utils/registry/queries.py | 1072 | # Check if stage column exists (the CREATE TABLE IF NOT EXISTS | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 590 | # Step 1: Scale(2, dim=0) - scale first dimension by 2 | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 593 | # Step 2: AddTime - prepend time coordinate | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 596 | # Step 3: LeadLag - lead-lag transform | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 599 | # Step 4: VisiTrans("I") - I-visibility transform | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1181 | # Step 1: Scale(2, dim=0) | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1184 | # Step 2: AddTime | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1187 | # Step 3: LeadLag | COMMENT |
| LOW⚡ | 05_synthetic_data/03_sigcwgan_signatures.py | 1190 | # Step 4: VisiTrans("I") | COMMENT |
| LOW⚡ | 09_model_based_features/10_uncertainty_features.py | 454 | # Step 1: AutoARIMA order selection on first training window | COMMENT |
| LOW | 09_model_based_features/10_uncertainty_features.py | 470 | # Step 2: Rolling forecast with fixed order (fast) | COMMENT |
| LOW | 02_financial_data_universe/19_incremental_updates.py | 90 | # ### Step 1: Initial Load (Full History) | COMMENT |
| LOW | 02_financial_data_universe/19_incremental_updates.py | 107 | # ### Step 2: Incremental Update (Only New Data) | COMMENT |
| LOW⚡ | 03_market_microstructure/01_itch_parser.py | 199 | # Step 1: Raw binary from download | COMMENT |
| LOW⚡ | 03_market_microstructure/01_itch_parser.py | 207 | # Step 2: Parsed messages (single uppercase letter = message type) | COMMENT |
| LOW⚡ | …mental_alternative_data/01_academic_characteristics.py | 307 | # Step 1: Compute IC (correlation with returns) for each characteristic, per month | COMMENT |
| LOW⚡ | …mental_alternative_data/01_academic_characteristics.py | 314 | # Step 2: Compute mean IC, i.i.d. t-stat, and Newey-West HAC t-stat across months | COMMENT |
| LOW⚡ | tests/generate_test_data.sh | 25 | # Step 1: Generate subsampled raw data | COMMENT |
| LOW⚡ | tests/generate_test_data.sh | 34 | # Step 2: Deploy latest notebooks from third-edition -> review repo | COMMENT |
| LOW⚡ | tests/generate_test_data.sh | 40 | # Step 3: Generate intermediates (runs pipeline notebooks via Papermill) | COMMENT |
| LOW⚡ | …efining_the_learning_task/02_preprocessing_pipeline.py | 558 | # ### Step 1: Remove penny stocks | COMMENT |
| LOW | …efining_the_learning_task/02_preprocessing_pipeline.py | 573 | # ### Step 2: Domain filters | COMMENT |
| LOW | …efining_the_learning_task/02_preprocessing_pipeline.py | 601 | # ### Step 3: Extreme returns | COMMENT |
| LOW | …efining_the_learning_task/02_preprocessing_pipeline.py | 615 | # ### Step 4: Spike detection | COMMENT |
| LOW⚡ | case_studies/utils/backtest_loaders.py | 1263 | # Step 1: Calendar-aware schedule resolution | COMMENT |
| LOW⚡ | case_studies/utils/backtest_loaders.py | 1266 | # Step 2: Apply design-time non-overlapping step | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/pm_helpers.py | 185 | Execute a notebook via Papermill with parameter injection. This is the core test helper. It: 1. Syncs .py -> .i | STRING |
| HIGH | utils/paths.py | 136 | Get the directory path for a chapter. Args: chapter: Chapter number (1-27) Returns: Absolute p | STRING |
| HIGH | utils/paths.py | 172 | Get output directory for cross-chapter data flow. This is the primary function for case study data that flows betwe | STRING |
| HIGH | utils/paths.py | 240 | Get the case study directory for a strategy. Case studies are centralized under CASE_STUDIES_DIR (default: repo_roo | STRING |
| HIGH | utils/data_quality.py | 507 | Run all data quality checks before modeling. This is the gate between data preparation (labels + features) and | STRING |
| HIGH | data/futures/loader.py | 78 | List CME product codes available in the local data store. Args: frequency: ``"hourly"`` (default) lists pro | STRING |
| HIGH | data/futures/loader.py | 309 | Load CFTC Commitment of Traders (COT) data. Reads per-product parquets written by ``data/futures/positioning/cot_do | STRING |
| HIGH | data/fx/loader.py | 13 | List currency pairs available in the local data store. Args: frequency: Which parquet to probe (``"daily"`` | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 05_synthetic_data/04_gtgan_irregular.py | 704 | CODE | |
| LOW | 05_synthetic_data/timegan_metrics.py | 388 | CODE | |
| LOW | 05_synthetic_data/timegan_metrics.py | 549 | CODE | |
| LOW | 05_synthetic_data/timegan_metrics.py | 697 | CODE | |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 728 | CODE | |
| LOW | 05_synthetic_data/05_diffusion_ts.py | 831 | CODE | |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 602 | CODE | |
| LOW | 05_synthetic_data/03_sigcwgan_signatures.py | 1193 | CODE | |
| LOW | …undamental_alternative_data/14_text_data_extraction.py | 640 | CODE | |
| LOW | …efining_the_learning_task/02_preprocessing_pipeline.py | 214 | CODE | |
| LOW | …efining_the_learning_task/02_preprocessing_pipeline.py | 337 | CODE | |
| LOW | …earning_task/04_maximum_favorable_adverse_excursion.py | 215 | CODE | |
| LOW | data/futures/loader.py | 12 | CODE | |
| LOW | data/equities/loader.py | 141 | CODE | |
| LOW | case_studies/utils/deep_learning.py | 410 | CODE | |
| LOW | case_studies/utils/signals.py | 322 | CODE | |
| LOW | case_studies/utils/notebook_render.py | 289 | CODE | |
| LOW | case_studies/utils/tabular_dl.py | 292 | CODE | |
| LOW | case_studies/utils/slot_strategy.py | 228 | CODE | |
| LOW | case_studies/utils/causal.py | 452 | CODE | |
| LOW | case_studies/utils/analytics.py | 467 | CODE | |
| LOW | case_studies/utils/model_viz.py | 482 | CODE | |
| LOW | case_studies/utils/model_viz.py | 591 | CODE | |
| LOW | case_studies/utils/latent_factors/library_bridge.py | 133 | CODE | |
| LOW | case_studies/utils/latent_factors/library_bridge.py | 188 | CODE | |
| LOW | case_studies/utils/latent_factors/library_bridge.py | 245 | CODE | |
| LOW | case_studies/utils/latent_factors/sae.py | 13 | CODE | |
| LOW | case_studies/utils/latent_factors/sdf.py | 14 | CODE | |
| LOW | case_studies/utils/latent_factors/cv.py | 68 | CODE | |
| LOW | case_studies/utils/latent_factors/cae.py | 13 | CODE | |
| LOW | case_studies/utils/registry/registration.py | 277 | CODE | |
| LOW | case_studies/utils/registry/registration.py | 514 | CODE | |
| LOW | case_studies/utils/registry/specs.py | 123 | CODE | |
| LOW | case_studies/utils/registry/metrics.py | 10 | CODE | |
| LOW | case_studies/utils/registry/metrics.py | 416 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | data/futures/market/dataset_card.py | 78 | # DATABENTO_API_KEY=db-your-api-key-here | COMMENT |
| HIGH | data/fx/market/dataset_card.py | 67 | # OANDA_API_KEY=your-api-key-here | COMMENT |
| HIGH | data/equities/market/microstructure/dataset_card.py | 72 | # DATABENTO_API_KEY=db-your-api-key-here | COMMENT |
| HIGH | data/equities/market/us_equities/dataset_card.py | 66 | # QUANDL_API_KEY=your-api-key-here | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | utils/style.py | 773 | __all__ = [ | CODE |
| LOW | utils/paths.py | 351 | __all__ = [ | CODE |
| LOW | utils/reproducibility.py | 15 | def set_global_seeds(seed: int = 42) -> None: | CODE |
| LOW | utils/__init__.py | 42 | __all__ = [ | CODE |
| LOW | utils/artifact_specs.py | 128 | __all__ = [ | CODE |
| LOW | data/__init__.py | 126 | __all__ = [ | CODE |
| LOW | case_studies/utils/notebook_render.py | 763 | __all__ = [ | STRING |
| LOW | case_studies/utils/uncertainty.py | 1171 | __all__ = [ | CODE |
| LOW | case_studies/utils/latent_factors/__init__.py | 30 | __all__ = [ | CODE |
| LOW | case_studies/utils/latent_factors/common.py | 156 | __all__ = [ | CODE |
| LOW | case_studies/utils/latent_factors/case_study.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | case_studies/utils/latent_factors/panel.py | 273 | __all__ = [ | CODE |
| LOW⚡ | case_studies/utils/registry/registration.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | case_studies/utils/registry/specs.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | case_studies/utils/registry/store.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | case_studies/utils/registry/metrics.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | case_studies/utils/registry/__init__.py | 124 | __all__ = [ | CODE |
| LOW | case_studies/utils/registry/completeness.py | 373 | __all__ = [ | CODE |
| LOW | case_studies/utils/registry/queries.py | 30 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | 05_synthetic_data/07_dp_gan.py | 374 | # Create a clean discriminator copy for generator training (no DP hooks) | COMMENT |
| MEDIUM | 09_model_based_features/10_uncertainty_features.py | 163 | # Define the model as a function for reuse across walk-forward folds. | COMMENT |
| MEDIUM | …_financial_data_universe/22_pandas_polars_benchmark.py | 917 | # Create a smaller lookup table for join benchmark | COMMENT |
| MEDIUM | 03_market_microstructure/01_itch_parser.py | 150 | # Create a sample Add Order message to demonstrate parsing | COMMENT |
| MEDIUM | 04_fundamental_alternative_data/05_entity_resolution.py | 120 | # Create a reference database with standard identifiers | COMMENT |
| MEDIUM | 07_defining_the_learning_task/03_label_methods.py | 504 | # This method is from De Prado's *Advances in Financial Machine Learning*. | COMMENT |
| MEDIUM | case_studies/utils/model_analysis.py | 741 | # Create a key for merge | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/generate_test_data.sh | 9 | # Usage: | COMMENT |
| LOW | data/crypto/market/config.yaml | 11 | # Usage: | COMMENT |
| LOW | data/prediction_markets/config.yaml | 8 | # Usage: | COMMENT |
| LOW | data/fx/market/config.yaml | 10 | # Usage: | COMMENT |
| LOW | data/macro/config.yaml | 10 | # Usage: | COMMENT |
| LOW | data/etfs/market/config.yaml | 17 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 05_synthetic_data/07_dp_gan.py | 416 | fake_data = generator(z) | CODE |
| LOW | 05_synthetic_data/07_dp_gan.py | 420 | d_fake = discriminator_private(fake_data) | CODE |
| LOW | 05_synthetic_data/07_dp_gan.py | 448 | fake_data = generator(z) | CODE |
| LOW | 05_synthetic_data/07_dp_gan.py | 451 | d_fake = discriminator_for_g(fake_data) | CODE |
| LOW | …undamental_alternative_data/14_text_data_extraction.py | 802 | # export EDGAR_IDENTITY="Jane Doe jane@example.org" | STRING |
| LOW | …undamental_alternative_data/14_text_data_extraction.py | 815 | '`export EDGAR_IDENTITY="Jane Doe jane@example.org"`.' | STRING |
| LOW | …fundamental_alternative_data/02_sec_filing_explorer.py | 78 | # `export EDGAR_IDENTITY="Jane Doe jane@example.org"`. | COMMENT |
| LOW | …fundamental_alternative_data/02_sec_filing_explorer.py | 85 | '`export EDGAR_IDENTITY="Jane Doe jane@example.org"`.' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | 06_strategy_definition/exploration.md | 35 | ├── figures/ # Book figures (AI-generated + notebook) | CODE |