---
name: investpilot-kb-ablation
description: "КодИнвест — свёрнут интрадей-эксперимент + замер ценности KB-грундинга (теневая абляция), результат зреет ~1-2 недели"
metadata:
  node_type: memory
  type: project
  originSessionId: 6f344612-b945-4107-b457-8ad2163cd988
  modified: 2026-07-20T10:20:16.901Z
---

**КодИнвест ([[investpilot-overview]]) — курс-коррекция 2026-07-14.** По итогам ревизии вектора: исходы 7W/33L пугают, но это ИНТРАДЕЙ-эксперимент, петля верно опознала его убыточным (5 правил «избегать пробой»); ядро PF 1.34 by design, бот честен (WAIT).

**1. Свёрнут интрадей-пробой:** `intraday_learning=False` (config). Приговор петли однозначен (0/5, VTBR 2/2 LOSS), копил убытки+шум. Уроки сохранены. Включать только под ОТФИЛЬТРОВАННУЮ гипотезу.

**2. Замер ценности KB (теневая абляция)** — главный непроверенный тезис «KB-грундинг = ров». На каждый LLM-кандидат скана с планом LONG/SHORT считаем вердикт ДВАЖДЫ: с грундингом и без (`build_dossier(ground=False)` обнуляет новости/KB/уроки/web_research). Пара → таблица `kb_ablation`. `scripts/kb_ablation_report.py` сверяет оба с ФОРВАРДНЫМ движением цены (ISS, без LLM → без lookahead); метрика на РАСХОЖДЕНИЯХ стойки. Флаг `kb_ablation=True`.

**✅ ЧЕКПОИНТ 2026-07-19 (порог по сдвигам ДОСТИГНУТ: 45 на fwd=1, 33 на fwd=2):** эффект грундинга **неотличим от нуля** — верных сдвигов 56%/52%/44% (fwd=1/2/3), |corr(conf,y)|≤0.2 у обеих сторон. Решение: грундинг в voter-досье ОСТАВЛЕН (лёгкий плюс на зрелейшем окне; замеренная неделя = один падающий режим), абляция копится дальше. Пересмотр — при накоплении разных рыночных режимов (~2+ недели данных): если и там ~0 → убрать KB из voter-досье (оставить чату/челленджеру).

**Слой CONFIDENCE в репорте (2026-07-15):** на живых данных стойка НЕ расходится (22/22 обе WAIT — расходится только confidence), одна стойк-метрика не дозреет. Репорт расширен: стойка-скорректированный форвард `y` (WAIT прав, когда план не сыграл), `corr(conf,y)` сторон, «верность сдвига» (|Δconf|≥10, верен при Δ·y>0). Чистые функции под тестами (`test_ablation_report.py`). Уроки интрадея #35-39 ретирнуты (дубль #36/#38, противоречие #35↔#39); активны swing #40/#41.

Правки: config, `analyzer.build_dossier(ground=)`, `app.analyze(ground=)`, `db.ablation_save`+таблица, `scheduler._ablation_capture`. 164 pytest. [[investpilot-cebersresearch-voter]].

**Интрадей (<8ч) переисследован и ОТВЕРГНУТ (2026-07-20, D33).** Владелец просил горизонт <8ч. Свёрнутый 14.07 пробойный движок (`signals/intraday.py`) честно переоткалиброван: `scripts/backtest_intraday.py`, walk-forward без lookahead, решётка vol_spike×RR×stop_atr (216 точек), 20 бумаг, 2024-2026. На всём периоде — плато PF~1.10-1.11 при широком стопе. **Out-of-sample (train=2024→PF1.26, test=2025-26→PF1.05) вскрыл переподгонку.** Диагностика: `target` срабатывает в 0.2-0.5% сделок — механизм не «пробой к цели», а «войти, отсидеть до EOD, редко получить стоп»; без комиссии/спреда PF~1.05 = шум. push НЕ включён, `intraday_learning=False` остаётся. Для <8ч нужен другой сетап, не эта стратегия — урок «слишком хорошо на решётке = сначала OOS» подтверждён второй раз ([[investpilot-momentum-filter]] винрейт-ловушка — тот же класс дисциплины).

**Запарковано до дозревания абляции (2026-07-15):** `writer/palmyra-fin-70b-32k` (Writer финмодель). Числится в NIM-каталоге, но наш аккаунт даёт 404 на вызов (не провижена) → даром недоступна. Плюс мисматч: обучена на US/англ. финансах, наша задача — MOEX по-русски; узкое место не «ум модели», а слабый эдж. ЕСЛИ абляция докажет, что LLM-вердикт двигает исходы → бенчить её (и др. сильные) как кандидата-ЧЕЛЛЕНДЖЕРА (0-3/скан, латентность неважна) через shadow-харнесс, не как voter. Сейчас гнаться — против выправленного вектора.
