chore: remove dead functions and write-only state (no behaviour change)
Zero callers anywhere (tests included), verified by grep/AST: - dashboard_publisher.DashboardPublisher.publish_all (run_cycle inlines both publishes) - signal_log.SignalLogger.advance_with_bars (the backfill script uses backfill_seeds / resolve_from_store / reseed_unresolvable) and the never-read SignalLogger.path property plus its write-only self._path - llm_client.reset_llm_client (tests reset the singleton by assignment) - market_outlook._last_run_ts, residue of the old "now - last < 3600" dedup; _last_run_hour (the UTC hour bucket) is the live key - news_engine FundamentalContext.event_impact_on_pairs: written once, read by nothing; its only feeder NewsEngine._get_affected_pairs and that helper's unit test go with it - position_sizing.LIVE_DEPTH_BARS (referenced only by its own docstring, which now states the depths inline), the unused Iterable import and the unused atr_ok parameter of _fill_geometry - analyze_signal_log: unused `field` import and the unused `rows` parameter of persona_scorecard / news_outcome_buckets (both read the DB directly) The two backfill/label scripts' --db help text now names the config.json setting it actually falls back to. Suite: 463 passed, 0 failed (one test removed with its subject). Claude-Session: https://claude.ai/code/session_0156YhogLytzj9P2iH1skGbL
This commit is contained in:
+8
-19
@@ -10,11 +10,11 @@ inputs (rule 4: live == backtest parity).
|
||||
Design contract
|
||||
---------------
|
||||
* **Bounded lookbacks.** No feature may read further back than the live
|
||||
fetch depth of its timeframe (``LIVE_DEPTH_BARS``). The primary frame
|
||||
is hard-capped at ``MAX_LOOKBACK_BARS`` rows, confirmation frames at
|
||||
60 rows, and the burst scan at 200 rows, so a feature computed on a
|
||||
full backtest frame equals the same feature computed on the shorter
|
||||
live tail.
|
||||
fetch depth of its timeframe (5000 bars on M5/M15, 1460 on H1, 380 on
|
||||
H4). The primary frame is hard-capped at ``MAX_LOOKBACK_BARS`` rows,
|
||||
confirmation frames at 60 rows, and the burst scan at 200 rows, so a
|
||||
feature computed on a full backtest frame equals the same feature
|
||||
computed on the shorter live tail.
|
||||
* **Closed bars only.** The frames handed in are exactly the frames
|
||||
``analyze_from_dataframes`` received: UTC tz-aware, oldest-first,
|
||||
capitalized OHLCV columns, forming candle already dropped. The last
|
||||
@@ -46,7 +46,7 @@ import json
|
||||
import logging
|
||||
import math
|
||||
from pathlib import Path
|
||||
from typing import Dict, Iterable, Optional, Sequence, Tuple
|
||||
from typing import Dict, Optional, Sequence, Tuple
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
@@ -60,17 +60,6 @@ logger = logging.getLogger(__name__)
|
||||
#: A trained artifact carrying a different value is ignored.
|
||||
FEATURE_VERSION = 1
|
||||
|
||||
#: Bars each timeframe actually holds in LIVE mode. Any feature whose
|
||||
#: lookback exceeds its timeframe's depth here would be unreproducible
|
||||
#: live, so the windows below stay far inside these numbers.
|
||||
LIVE_DEPTH_BARS: Dict[Timeframe, int] = {
|
||||
Timeframe.M5: 5000,
|
||||
Timeframe.M15: 5000,
|
||||
Timeframe.H1: 1460,
|
||||
Timeframe.H4: 380,
|
||||
Timeframe.D1: 300,
|
||||
}
|
||||
|
||||
#: Hard cap on any primary-timeframe window used in this module.
|
||||
MAX_LOOKBACK_BARS = 500
|
||||
|
||||
@@ -338,7 +327,7 @@ def _fill_time(out: Dict[str, float], dt: pd.Timestamp) -> None:
|
||||
|
||||
|
||||
def _fill_geometry(out: Dict[str, float], P: pd.DataFrame, setup,
|
||||
atr: float, atr_ok: bool, norm, d: float) -> None:
|
||||
atr: float, norm, d: float) -> None:
|
||||
out["f_atr"] = max(0.0, _finite(atr))
|
||||
ranges = (P["High"] - P["Low"]).astype(float)
|
||||
last_range = _finite(ranges.iloc[-1])
|
||||
@@ -566,7 +555,7 @@ def build_features(
|
||||
|
||||
for step, args in (
|
||||
(_fill_time, (out, decision_time(P, primary_tf))),
|
||||
(_fill_geometry, (out, P, setup, atr, atr_ok, norm, d)),
|
||||
(_fill_geometry, (out, P, setup, atr, norm, d)),
|
||||
(_fill_exhaustion, (out, report, KL, px, d, norm)),
|
||||
(_fill_quality, (out, report, setup, IND, d)),
|
||||
(_fill_mtf, (out, report, primary_tf, confirmation_tfs, d)),
|
||||
|
||||
Reference in New Issue
Block a user