Skip to content

Commit 000cb14

Browse files
committed
fix lint issues in research suites
1 parent 4e448fc commit 000cb14

15 files changed

Lines changed: 37 additions & 55 deletions

research/backtest_cash_buffer_branch_daily_overlay.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,10 @@
1717
if str(SCRIPT_DIR) not in sys.path:
1818
sys.path.insert(0, str(SCRIPT_DIR))
1919

20-
import backtest_growth_pullback_suite as gp
21-
import backtest_growth_pullback_v1_2_geometry_repair as v12
22-
import backtest_stock_alpha_suite as suite
23-
import backtest_stock_alpha_v1_1_spec_lock as v11
24-
import backtest_stock_alpha_v1_robustness as robust
20+
import backtest_growth_pullback_suite as gp # noqa: E402
21+
import backtest_growth_pullback_v1_2_geometry_repair as v12 # noqa: E402
22+
import backtest_stock_alpha_suite as suite # noqa: E402
23+
import backtest_stock_alpha_v1_robustness as robust # noqa: E402
2524

2625

2726
DEFAULT_RESULTS_DIR = SCRIPT_DIR / "results"
@@ -913,7 +912,7 @@ def write_summary_markdown(
913912
f"- sector_cap={float(baseline_payload['sector_cap']):.0%}",
914913
f"- hold_bonus={float(baseline_payload['hold_bonus']):.2f}",
915914
f"- benchmark={baseline_payload['benchmark_symbol']}",
916-
f"- non-rebalance days=no-op baseline; overlay only changes exposure / existing-name weights / BOXX",
915+
"- non-rebalance days=no-op baseline; overlay only changes exposure / existing-name weights / BOXX",
917916
"",
918917
"## Overlay families tested",
919918
"- daily_portfolio_throttle_overlay",
@@ -1030,7 +1029,6 @@ def main() -> None:
10301029
best_portfolio_row = family_scores.loc[family_scores["family"] == "daily_portfolio_throttle_overlay"].iloc[0]
10311030
best_name_row = family_scores.loc[family_scores["family"] == "daily_name_level_trim_overlay"].iloc[0]
10321031

1033-
combo_rows: pd.DataFrame | None = None
10341032
combo_candidate: OverlayStrategyConfig | None = None
10351033
if overlay_has_incremental_value(best_portfolio_row, baseline_oos_row) and overlay_has_incremental_value(best_name_row, baseline_oos_row):
10361034
portfolio_cfg = next(candidate for candidate in portfolio_candidates if candidate.name == str(best_portfolio_row["strategy"]))
@@ -1041,7 +1039,6 @@ def main() -> None:
10411039
combo_candidate_rows = candidate_rows_from_artifacts(combo_candidate.name, combo_candidate.family, combo_artifacts, benchmark_returns, cost_bps_values=COST_LEVELS)
10421040
all_rows_df = pd.concat([all_rows_df, pd.DataFrame(combo_candidate_rows)], ignore_index=True)
10431041
family_scores = build_family_selection_table(all_rows_df, oos_benchmark_cagr=qqq_oos_cagr)
1044-
combo_rows = family_scores.loc[family_scores["strategy"] == combo_candidate.name].copy()
10451042

10461043
# qqq_plus_current_default reference
10471044
qqq_rows = build_reference_rows_from_existing_results(

research/backtest_growth_pullback_suite.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import json
1616
import math
1717
import sys
18-
from dataclasses import dataclass, replace
18+
from dataclasses import dataclass
1919
from pathlib import Path
2020
from typing import Iterable, Mapping
2121

@@ -26,9 +26,9 @@
2626
if str(SCRIPT_DIR) not in sys.path:
2727
sys.path.insert(0, str(SCRIPT_DIR))
2828

29-
import backtest_stock_alpha_suite as suite
30-
import backtest_stock_alpha_v1_1_spec_lock as v11
31-
import backtest_stock_alpha_v1_robustness as robust
29+
import backtest_stock_alpha_suite as suite # noqa: E402
30+
import backtest_stock_alpha_v1_1_spec_lock as v11 # noqa: E402
31+
import backtest_stock_alpha_v1_robustness as robust # noqa: E402
3232

3333

3434
DEFAULT_RESULTS_DIR = SCRIPT_DIR / "results"
@@ -1157,8 +1157,6 @@ def build_recommendation(
11571157
broad_best = family_best_df.loc[family_best_df["family"] == "broad_growth_leadership_pullback"].iloc[0] if (family_best_df["family"] == "broad_growth_leadership_pullback").any() else None
11581158
tech_best = family_best_df.loc[family_best_df["family"] == "tech_heavy_pullback"].iloc[0] if (family_best_df["family"] == "tech_heavy_pullback").any() else None
11591159
crypto_best = family_best_df.loc[family_best_df["family"] == "crypto_equity_theme_pullback"].iloc[0] if (family_best_df["family"] == "crypto_equity_theme_pullback").any() else None
1160-
trend_best = family_best_df.loc[family_best_df["family"] == "trend_only_control"].iloc[0] if (family_best_df["family"] == "trend_only_control").any() else None
1161-
naive_best = family_best_df.loc[family_best_df["family"] == "naive_dip_buy_control"].iloc[0] if (family_best_df["family"] == "naive_dip_buy_control").any() else None
11621160

11631161
if default_row["family"] == "broad_growth_leadership_pullback":
11641162
main_line = "broad_growth_leadership_pullback"

research/backtest_growth_pullback_v1_1_spec_lock.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import sys
1010
from dataclasses import replace
1111
from pathlib import Path
12-
from typing import Iterable
1312

1413
import numpy as np
1514
import pandas as pd
@@ -18,10 +17,9 @@
1817
if str(SCRIPT_DIR) not in sys.path:
1918
sys.path.insert(0, str(SCRIPT_DIR))
2019

21-
import backtest_growth_pullback_suite as gp
22-
import backtest_stock_alpha_v1_1_spec_lock as v11
23-
import backtest_stock_alpha_v1_robustness as robust
24-
import backtest_stock_alpha_suite as suite
20+
import backtest_growth_pullback_suite as gp # noqa: E402
21+
import backtest_stock_alpha_v1_robustness as robust # noqa: E402
22+
import backtest_stock_alpha_suite as suite # noqa: E402
2523

2624

2725
DEFAULT_RESULTS_DIR = SCRIPT_DIR / "results"
@@ -398,7 +396,6 @@ def build_local_plateau(local_oos_rows: pd.DataFrame, center_row: pd.Series) ->
398396
frame["within_100bps"] = frame["abs_delta_oos_cagr_vs_center"] <= 0.010
399397
frame["within_200bps"] = frame["abs_delta_oos_cagr_vs_center"] <= 0.020
400398
local_only = frame.loc[frame["strategy"] != str(center_row["strategy"])].copy()
401-
denom = max(len(local_only), 1)
402399
summary = {
403400
"variant_count_ex_center": int(len(local_only)),
404401
"local_plateau_50bps_share": float(local_only["within_50bps"].mean()) if not local_only.empty else float("nan"),
@@ -510,8 +507,6 @@ def write_markdown_report(
510507
comparison_df_5bps: pd.DataFrame,
511508
recommendation: dict[str, object],
512509
) -> None:
513-
center_occ = occupancy_summary_df.loc[occupancy_summary_df["strategy"] == center_config.name].iloc[0]
514-
stable_occ = occupancy_summary_df.loc[occupancy_summary_df["strategy"] == str(stable_result_5bps["strategy"])].iloc[0]
515510
lines = [
516511
"# growth_pullback_systematic_v1.1 spec lock",
517512
"",
@@ -639,7 +634,6 @@ def main() -> None:
639634
local_oos_main = local_df.loc[(local_df["cost_bps_one_way"] == MAIN_COST_BPS) & (local_df["period"] == "OOS Sample")].copy()
640635
local_plateau_df, local_plateau_summary = build_local_plateau(local_oos_main, center_oos)
641636

642-
center_full = extract_period_row(local_df, center_config.name, MAIN_COST_BPS, "Full Sample")
643637
local_summary_rows = []
644638
for strategy_name in sorted(local_df["strategy"].unique()):
645639
full_row = extract_period_row(local_df, strategy_name, MAIN_COST_BPS, "Full Sample")

research/backtest_growth_pullback_v1_2_geometry_repair.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
if str(SCRIPT_DIR) not in sys.path:
1919
sys.path.insert(0, str(SCRIPT_DIR))
2020

21-
import backtest_growth_pullback_suite as gp
22-
import backtest_growth_pullback_v1_1_spec_lock as v11g
23-
import backtest_stock_alpha_v1_robustness as robust
24-
import backtest_stock_alpha_suite as suite
21+
import backtest_growth_pullback_suite as gp # noqa: E402
22+
import backtest_growth_pullback_v1_1_spec_lock as v11g # noqa: E402
23+
import backtest_stock_alpha_v1_robustness as robust # noqa: E402
24+
import backtest_stock_alpha_suite as suite # noqa: E402
2525

2626

2727
DEFAULT_RESULTS_DIR = SCRIPT_DIR / "results"
@@ -672,7 +672,6 @@ def main() -> None:
672672
deployment_summary_rows.append(summarize_deployment(monthly))
673673

674674
candidate_df = pd.DataFrame(candidate_rows)
675-
deployment_monthly_df = pd.concat(deployment_monthly_frames, ignore_index=True)
676675
deployment_summary_df = pd.DataFrame(deployment_summary_rows)
677676

678677
reference_rows_df, reference_artifacts = gp.build_reference_rows(context, COST_LEVELS)

research/backtest_growth_pullback_v1_3_spec_normalization.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import sys
99
from dataclasses import replace
1010
from pathlib import Path
11-
from typing import Iterable
1211

1312
import numpy as np
1413
import pandas as pd
@@ -17,9 +16,9 @@
1716
if str(SCRIPT_DIR) not in sys.path:
1817
sys.path.insert(0, str(SCRIPT_DIR))
1918

20-
import backtest_growth_pullback_suite as gp
21-
import backtest_growth_pullback_v1_2_geometry_repair as v12
22-
import backtest_stock_alpha_v1_robustness as robust
19+
import backtest_growth_pullback_suite as gp # noqa: E402
20+
import backtest_growth_pullback_v1_2_geometry_repair as v12 # noqa: E402
21+
import backtest_stock_alpha_v1_robustness as robust # noqa: E402
2322

2423

2524
DEFAULT_RESULTS_DIR = SCRIPT_DIR / "results"

research/backtest_growth_pullback_v1_4_cash_buffer_refinement.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
if str(SCRIPT_DIR) not in sys.path:
1919
sys.path.insert(0, str(SCRIPT_DIR))
2020

21-
import backtest_growth_pullback_suite as gp
22-
import backtest_growth_pullback_v1_2_geometry_repair as v12
23-
import backtest_growth_pullback_v1_3_spec_normalization as v13
24-
import backtest_stock_alpha_v1_robustness as robust
21+
import backtest_growth_pullback_suite as gp # noqa: E402
22+
import backtest_growth_pullback_v1_2_geometry_repair as v12 # noqa: E402
23+
import backtest_growth_pullback_v1_3_spec_normalization as v13 # noqa: E402
24+
import backtest_stock_alpha_v1_robustness as robust # noqa: E402
2525

2626

2727
DEFAULT_RESULTS_DIR = SCRIPT_DIR / "results"

research/backtest_growth_pullback_v1_5_freeze_review.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
if str(SCRIPT_DIR) not in sys.path:
1717
sys.path.insert(0, str(SCRIPT_DIR))
1818

19-
import backtest_growth_pullback_suite as gp
20-
import backtest_growth_pullback_v1_2_geometry_repair as v12
21-
import backtest_growth_pullback_v1_3_spec_normalization as v13
22-
import backtest_growth_pullback_v1_4_cash_buffer_refinement as v14
23-
import backtest_stock_alpha_v1_robustness as robust
19+
import backtest_growth_pullback_suite as gp # noqa: E402
20+
import backtest_growth_pullback_v1_2_geometry_repair as v12 # noqa: E402
21+
import backtest_growth_pullback_v1_3_spec_normalization as v13 # noqa: E402
22+
import backtest_growth_pullback_v1_4_cash_buffer_refinement as v14 # noqa: E402
23+
import backtest_stock_alpha_v1_robustness as robust # noqa: E402
2424

2525

2626
DEFAULT_RESULTS_DIR = SCRIPT_DIR / "results"

research/backtest_stock_alpha_suite.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import json
1919
import math
2020
import sys
21-
from dataclasses import asdict, dataclass
21+
from dataclasses import dataclass
2222
from pathlib import Path
2323
from typing import Iterable, Mapping
2424

research/backtest_stock_alpha_v1_1_spec_lock.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
import argparse
1515
import json
16-
import math
1716
import sys
1817
from dataclasses import replace
1918
from pathlib import Path
@@ -26,8 +25,8 @@
2625
if str(SCRIPT_DIR) not in sys.path:
2726
sys.path.insert(0, str(SCRIPT_DIR))
2827

29-
import backtest_stock_alpha_suite as suite
30-
import backtest_stock_alpha_v1_robustness as robust
28+
import backtest_stock_alpha_suite as suite # noqa: E402
29+
import backtest_stock_alpha_v1_robustness as robust # noqa: E402
3130

3231

3332
DEFAULT_RESULTS_DIR = SCRIPT_DIR / "results"

research/backtest_stock_alpha_v1_1b_candidate_gate.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
if str(SCRIPT_DIR) not in sys.path:
2828
sys.path.insert(0, str(SCRIPT_DIR))
2929

30-
import backtest_stock_alpha_suite as suite
31-
import backtest_stock_alpha_v1_1_spec_lock as v11
32-
import backtest_stock_alpha_v1_robustness as robust
30+
import backtest_stock_alpha_suite as suite # noqa: E402
31+
import backtest_stock_alpha_v1_1_spec_lock as v11 # noqa: E402
32+
import backtest_stock_alpha_v1_robustness as robust # noqa: E402
3333

3434

3535
DEFAULT_RESULTS_DIR = SCRIPT_DIR / "results"
@@ -591,7 +591,7 @@ def main() -> None:
591591
& (candidate_gate_df["period"] == "OOS Sample")
592592
].iloc[0]
593593
neighbor_oos_rows_5bps = candidate_gate_df.loc[
594-
(candidate_gate_df["is_neighbor"] == True)
594+
(candidate_gate_df["is_neighbor"])
595595
& (candidate_gate_df["cost_bps_one_way"] == MAIN_COST_BPS)
596596
& (candidate_gate_df["period"] == "OOS Sample")
597597
].copy()

0 commit comments

Comments
 (0)