Kompletna mapa testiranog

2026-05-09 nalaz

Prvi pun presek. Samo regime_cycle ima pozitivan mean PnL. Workhorse je strukturno neispravan za slot-portfolio (−75% pri N=4).

↑ Svi izveštaji ← Futures backfill — live mrežni test Kline-source counterfactual →

DB: database/crypto_scanner_prod_20260509_safe.db (294 MB, WAL-checkpointed prod backup). Slot-portfolio: $1000 startup, 0.1% fee per side, 365d window ending pri max signal time, fixed mode. Counterfactual: snapshot range 2026-02-25 -> 2026-05-06, MFE arm threshold 1.0%.

A. Generatori sa prod podacima (paper-trade istorija)

GeneratorSigsTradesWR%mean%med%best%worst%avg_hStatus
growth_threshold_cycle15 8877 92023.6-0.47-0.74+137.11-14.5226.4workhorse, slot-saturation
dual_growth_liquidity_cancel_test10 116(cancel-shape)------exit ide kroz cancel path; 5077 buy / 5009 cancel / 30 sell
dual_growth_liquidity3 2682025.0-0.89-3.26+13.33-4.9024.7sparse fire u 365d window
growth_threshold_quality_cycle_v227613837.7-0.05-0.83+14.29-7.4621.6best WR od svih
growth_threshold_regime_cycle1085431.5+0.05-1.17+14.29-4.3424.9jedini sa pozitivnim mean
growth_threshold_quality_regime_combo4250.0-0.76-0.76+1.66-3.1722.0premalo data
dual_growth_trailing_stop30 (only buys)------nema sells u prod-u jos

B. Slot-portfolio capital % po N (1000$ start, 0.1% fee, 365d window, fixed mode)

GeneratorN=1N=2N=3N=4N=5
growth_threshold_cycle-2.65-50.39-66.81-75.34-80.02
growth_threshold_regime_cycle+7.21+5.54+2.30+4.16+2.13
growth_threshold_quality_cycle_v2-1.56-11.73-12.57-10.30-8.58
dual_growth_liquidity-0.96-7.38-6.16-5.45-4.36
growth_threshold_quality_regime_combo-3.37-0.95-0.64-0.48-0.38

B2. Slot-portfolio max drawdown % po N (isti window)

GeneratorN=1N=2N=3N=4N=5
growth_threshold_cycle0.0049.1560.7570.4875.84
dual_growth_liquidity0.0011.768.066.134.91
growth_threshold_quality_cycle_v20.0012.2445.7262.7070.90
growth_threshold_regime_cycle7.0650.8967.1775.1880.06
growth_threshold_quality_regime_combo0.000.000.000.000.00

C. Profit-lock counterfactual (POST - PRE delta % po N)

GeneratorN=1 dN=2 dN=3 dN=4 dN=5 dlockedno_cov
growth_threshold_quality_cycle_v2+0.00+7.15+8.33+7.09+5.962472
growth_threshold_regime_cycle+1.47+4.31+4.23+3.17+3.321322
dual_growth_liquidity+0.00+1.76+1.17+0.88+0.70216
growth_threshold_cycle+0.00+0.03+0.11+0.01+0.571 0921 913
growth_threshold_quality_regime_combo+0.00+0.00+0.00+0.00+0.0000

Lift snimljen kroz tools/analysis/slot_portfolio_counterfactual.py (snapshot range 2026-02-25 -> 2026-05-06; trades izvan window-a su no_cov i ostavljeni netaknuti — counterfactual je KONZERVATIVAN).

D. Definisani ali ne-fire-uju u prod-u (svi 0 events)

KategorijaGeneratori
Quality family (cekaju aktivaciju)growth_threshold_quality_cycle, *_best_symbols_cycle, *_best_symbols_cycle_v2, *_best_symbols_cycle_v3, *_blacklist_cycle, *_largecap_cycle
Trend / momentumema_trend_pullback, rsi_macd_trend, donchian_volume_breakout, adx_di_trend, bollinger_volume_expansion
Meta / kombinatorexternal_trend_confirmed_cycle, high_conviction_combo, combinator_template
Test / templatetemplate_python, green2_red1_test

E. Indikatori (FeatureStore — src/feature_store.py, jedan izvor istine)

Defaults iz _DEFAULT_FEATURES:

IndikatorDefault paramKolone u features tabeli
EMA fast / slow / long20 / 50 / 200ema_fast, ema_slow, ema_long
SMAlength param(samo helper)
RSIlength=14rsi
MACD(helper, ne persistira)-
ATRlength=14atr
ADX / +DI / -DIlength=14adx, plus_di, minus_di
Stochastic(helper, ne persistira)-
Bollinger Band Widthlength=20, std=2.0bb_width
Volume Z-scorelength=20vol_z
Taker buy ratioiz Binance kline-ataker_buy_ratio
BTC referenceEMA fast 20btc_close, btc_ema_fast, btc_ret_pct
Funding ratez-window=60 eventsfunding_rate, funding_rate_z
Open interest change4h, 24h windowsoi_change_pct_4h, oi_change_pct_24h

F. Headline takeaways

  1. Samo growth_threshold_regime_cycle ima pozitivan mean PnL (+0.05%) i pozitivan slot-portfolio na svim N. Sa profit-lock-om: postaje +7.34% pri N=4.
  2. Workhorse growth_threshold_cycle strukturno ne radi za slot-portfolio — -75% pri N=4. Profit-lock daje samo +0.01% lift; problem je slot-saturation, ne exit-logika. Drzi ga kao webhook-alarm.
  3. growth_threshold_quality_cycle_v2 je najveci beneficijar profit-lock-a (+7-8% lift across N), ali baseline ostaje negativan; potrebno vise istorije pre selekcije.
  4. Nijedan generator NIJE statisticki znacajan (p>0.05 za sve testirane) — paper trading istorija je jos uvek pre-znacajnost.
  5. 16 generatora ceka aktivaciju — strogi gates su pravi oblik za N-slot strategiju, treba ih ukljuciti u prod i sakupljati istoriju pre selekcije.

G. Reproduce komande

# Per-generator base stats (sigs/trades/WR/mean):
python -c "
import sys, sqlite3, statistics
sys.path.insert(0,'.')
from datetime import timedelta
from tools.analysis.capital_benchmark_monthly import load_trades, parse_dt
from tools.analysis.slot_portfolio_compare import _detect_signal_names, _list_active_generators
db='database/crypto_scanner_prod_20260509_safe.db'; c=sqlite3.connect(db)
for g in _list_active_generators(c):
    table=f'signal_events__{g}'
    n=c.execute(f'SELECT COUNT(*) FROM \"{table}\"').fetchone()[0]
    buy,sell=_detect_signal_names(c,g)
    if not buy or not sell: continue
    trades=load_trades(c,table,buy,sell)
    if not trades: continue
    pnls=[((t['exit_price']-t['entry_price'])/t['entry_price']*100.0) for t in trades]
    wr=sum(1 for p in pnls if p>0)/len(pnls)*100
    print(f'{g} sigs={n} trades={len(trades)} WR={wr:.1f}% mean={statistics.mean(pnls):+.2f}%')
"

# Slot-portfolio comparison:
python -m tools.analysis.slot_portfolio_compare \
    --db-path database/crypto_scanner_prod_20260509_safe.db --slots 1,2,3,4,5

# Counterfactual:
python -m tools.analysis.slot_portfolio_counterfactual \
    --db-path database/crypto_scanner_prod_20260509_safe.db --slots 4 --arm-pct 1.0

Izvor: crypto_scanner/reports/analysis/2026-05-09_generator_stats_complete.md