К основному содержанию
скилл CX Codex

residual-edge-analyzer — скилл для Claude Code: как установить

Скилл отделяет доходность торговой стратегии от базовых рыночных факторов через регрессию OLS. Он помогает проверить наличие реальной альфы после бэктеста.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add tradermonty/claude-trading-skills --skill residual-edge-analyzer -a claude-code
Открыть на GitHub

Что делает residual-edge-analyzer

Скилл оценивает результаты бэктеста или реальной торговли. Он раскладывает ряд доходностей стратегии на влияние базовых бенчмарков и остаточную альфу с помощью регрессии OLS с константой и поправкой HAC/Newey-West. Инструмент сразу выявляет, чем вызван спад: общим движением рынка или логикой самой модели.

Для расчётов нужен Python 3.9+ и скрипт analyze_residual_edge.py. На вход подаётся файл CSV с датами в формате ISO и доходностями выше -100%, а также конфигурация JSON. Если скрыть выборку или передать только итоговые метрики без дат, анализ остановится. Это жёсткий фильтр против подгонки данных.

Отчёт формируется в форматах JSON и Markdown с одним из статусов: RESIDUAL_EDGE, BASELINE_EXPLAINED, RESIDUAL_FRAGILE или INSUFFICIENT_EVIDENCE. При наличии проблем с качеством данных или мультиколлинеарности статус проверки требует внимания оператора. Скилл передаёт результаты другим агентам и никогда не меняет торговые ордера сам.

Какие задачи решает

  • Отделить чистую альфу стратегии от рыночных бенчмарков
  • Определить причину просадки между рыночным фактором и моделью
  • Провести проверку устойчивости стратегии после бэктеста
  • Оценить чувствительность к смене альтернативных базовых активов

Примеры запросов агенту

  • Проанализируй доходность из reports/strategy_returns.csv по конфигурации reports/residual_edge_config.json.
  • Проверь остаточную альфу стратегии против рыночного бенчмарка и сохрани отчёт в reports/residual_edge_report.md.
  • Выясни, вызвана ли просадка стратегии общим падением рынка или самой моделью, используя OLS-атрибуцию.

Как установить residual-edge-analyzer

1Через Skills CLI (Vercel)

npx skills add tradermonty/claude-trading-skills --skill residual-edge-analyzer -a claude-code

2Вручную: положить файлы

~/.claude/skills/residual-edge-analyzer/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/residual-edge-analyzer/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о residual-edge-analyzer

Как установить residual-edge-analyzer в Claude Code?

Для установки выполните команду npx skills add tradermonty/claude-trading-skills --skill residual-edge-analyzer -a claude-code.

Что делает residual-edge-analyzer?

Скилл разделяет доходность стратегии на рыночную базу и остаточную альфу с помощью регрессии OLS. Он формирует отчёты в форматах JSON и Markdown для проверки устойчивости результатов.

Какие данные нужны для запуска анализа?

Требуется Python 3.9+, файл CSV с датами в формате ISO и доходностями больше -100%, а также файл конфигурации JSON. Агрегированные метрики вроде коэффициента Шарпа без ряда доходностей использовать нельзя.

Исходный текст

SKILL.md · MIT
---
name: residual-edge-analyzer
description: Separate a strategy return series into declared baseline exposure and residual edge with returns-based OLS attribution, HAC inference, rolling stability, alternate-baseline sensitivity, and regime breakdowns. Use when evaluating whether backtest, out-of-sample, or live returns contain independent alpha beyond market, equal-weight, momentum, sector, or user-supplied factor returns; when explaining whether a drawdown came from baseline exposure or strategy-specific behavior; or when a strategy needs an attribution quality gate after backtesting. Do not use for holdings-based Brinson attribution, feature-level Shapley explanations, or analysis from summary metrics without a dated return series.
---

# Residual Edge Analyzer

## Overview

Test whether a strategy's apparent performance survives explicit comparison with
predeclared baseline return series. Produce an auditable JSON artifact and a concise
Markdown report without fetching data or changing trading exposure.

Treat this as a falsification gate after `backtest-expert`, not as trade authorization.

## Prerequisites

- Use Python 3.9+.
- Prepare one CSV containing an ISO date, strategy return, and every baseline return on
  the same row.
- Prepare a JSON specification following the
  [input contract](https://github.com/tradermonty/claude-trading-skills/blob/main/skills/residual-edge-analyzer/references/input-contract.md).
- Supply actual period returns. Do not substitute CAGR, Sharpe, cumulative P&L, or other
  summary metrics.

## Workflow

### 1. Define the question before inspecting results

State the claimed independent edge in one sentence. Select a primary baseline that is a
plausible simple copy of the strategy, then select at least one alternate baseline model.

Record these declarations in the config:

- `baseline_selection: predeclared`
- `strategy_return_basis` and `baseline_return_basis`: both `gross` or both `net`
- `analysis_scope`: `out_of_sample`, `live`, or `in_sample`
- `universe_data`: `point_in_time`, `current_constituents`, or `not_applicable`

Every declaration is mandatory for a decision-grade verdict. Omitting one is treated as
undeclared, not as benign, and drops the report to `REVIEW_REQUIRED`. `not_applicable`
exists so that a baseline with no universe membership can be declared explicitly rather
than left blank.

Do not choose a baseline because it gives the preferred residual result.

### 2. Validate the return-series contract

Require:

- unique ISO dates;
- finite numeric returns greater than -100%;
- identical frequency and cost basis across strategy and baselines;
- point-in-time membership for same-universe equal-weight or momentum baselines;
- regime labels defined independently of the loss periods being explained.

Stop if the input lacks a dated strategy return series. Report summary-only input as
insufficient rather than inventing observations.

### 3. Run the analyzer

```bash
python3 skills/residual-edge-analyzer/scripts/analyze_residual_edge.py \
  --input reports/strategy_returns.csv \
  --config reports/residual_edge_config.json \
  --output-json reports/residual_edge_report.json \
  --output-markdown reports/residual_edge_report.md
```

The script runs the predeclared primary model and all sensitivity models in one execution.
It uses an intercept OLS model and HAC/Newey-West standard errors. It reports the residual
edge ratio as annualized alpha divided by annualized residual volatility; do not calculate
a Sharpe ratio from raw OLS residual mean because an intercept makes that mean zero.

### 4. Interpret the evidence

Use the four statuses as diagnostic labels:

- `RESIDUAL_EDGE`: alpha, residual edge ratio, and rolling stability clear configured
  thresholds.
- `BASELINE_EXPLAINED`: baseline R-squared is high while residual evidence is weak.
- `RESIDUAL_FRAGILE`: results fail one or more robustness gates or change across declared
  baseline models. Also use this status when rolling analysis is disabled, unavailable,
  incomplete, or no sensitivity model was supplied.
- `INSUFFICIENT_EVIDENCE`: the sample is below the configured minimum.

Read `decision_eligibility` separately. A statistically interesting result remains
`REVIEW_REQUIRED` when critical provenance, cost-basis, sample, or multicollinearity
warnings exist, when rolling evidence is unavailable, or when no alternate baseline was
tested.

Inspect:

1. primary and sensitivity-model status;
2. annualized alpha and HAC t-stat;
3. residual edge ratio and residual autocorrelation;
4. rolling alpha stability;
5. VIF for multi-factor models;
6. active-return breakdown across predeclared regimes.

### 5. Hand off findings

- Send baseline-choice, OOS, and stability findings back to `backtest-expert`.
- Send recurring residual failure regimes to `signal-postmortem`.
- Pass only evidence and operating constraints to `trade-performance-coach`.
- Never change position size, exposure, or orders automatically.

## Boundaries

- Do not call this holdings-based contribution analysis. Brinson allocation, selection,
  and interaction effects require historical holdings, benchmark weights, and constituent
  returns.
- Do not claim stock-selection alpha from a market-index-only baseline.
- Do not build equal-weight baselines from current constituents and label them
  point-in-time.
- Do not interpret in-sample residual edge as confirmed alpha.
- Do not mine many regime definitions after seeing losses. Predeclare a small set and
  confirm findings out of sample.
- Do not assume high R-squared makes a strategy worthless; capacity, tail behavior, costs,
  and implementation value require separate evidence.

## Resources

- `scripts/analyze_residual_edge.py` — deterministic CSV-to-JSON/Markdown analyzer.
- `references/input-contract.md` — CSV/config contract and runnable example.
- `references/methodology.md` — statistical definitions, interpretation, and limitations.

© tradermonty · MIT · tradermonty/claude-trading-skills

Похожие скиллы

Всё по теме «Финансы и бизнес» →
polymarket-analyzer mjunaidca Ищет арбитраж, анализирует стакан котировок и всплески объёмов на Polymarket. Пригодится трейдерам на рынках предсказаний для расчёта расхождений цен без ключей API. CX Codex +1 486установок trader-backtest ruvnet Скилл выполняет исторический бэктест стратегий через neural-trader и заверяет итог подписью Ed25519 для допуска к торгам. CX Codex +1 745установок trader-regime ruvnet Скилл просит у neural-trader текущий режим рынка и подбирает тип стратегии под него. Нужен перед бэктестом или выбором стратегии. CX Codex +1 731установок crypto-ta-analyzer dkyazzentwatwa Считает индикаторы по свечным данным крипты или рынка и показывает, где сигналы совпадают, а где спорят. CX Codex +1 1 600установок embl-ebi-ols google-deepmind Скилл ищет термины, определения и связи в онтологиях EMBL-EBI OLS через готовые скрипты. Пригодится, когда агент разбирает болезни, фенотипы или функции генов. CX Codex +1 2 100установок optimize marketcalls Генерирует Python-скрипты для перебора параметров торговых стратегий на VectorBT, строит тепловые карты Plotly и сверяет результаты с бенчмарком NIFTY. CX Codex +1 2 300установок

Из того же набора73

stockbee-episodic-pivot-analyzer Оценивает акции на паттерн Episodic Pivot по методике Stockbee. Сопоставляет силу корпоративных новостей со всплеском объёма и дневным ценовым импульсом. CX Codex +1 2 600установок fxmacrodata-calendar Тянет официальные даты релизов макроданных из FXMacroData, чтобы планировать сделки и не входить в рынок перед CPI или решением центробанка. CX Codex +1 2 500установок contrarian-setup-gate Скилл объединяет отчёты по позиционированию COT, реакции на новости и ценовому подтверждению в единый статус сделки. Пригодится перед расчётом размера позиции в торговом пайплайне. CX Codex +1 2 500установок news-reaction-failure-analyzer Проверяет, не проигнорировал ли рынок новости, выгодные переполненной спекулятивной позиции. Это второй этап контртрендового процесса по COT. CX Codex +1 2 500установок cot-contrarian-detector Скрипт проходит по фьючерсным рынкам CFTC и ищет, где крупные спекулянты столпились на одной стороне. Пригодится, когда нужен повод копать в сторону контртрендовой сделки. CX Codex +1 2 500установок futures-position-sizer Скилл рассчитывает размер позиции по фьючерсам на основе точки входа, стоп-лосса и риск-бюджета с учётом спецификаций контракта. Работает локально через Python без ключей API. CX Codex +1 2 500установок manifoldbt-backtester Прогоняет декларативное описание стратегии по OHLCV-барам через движок manifoldbt и отдаёт восемь метрик для оценки. CX Codex +1 1 700установок us-undervalued-growth-screener Ищет недооценённые растущие компании на NYSE, Nasdaq и NYSE American и доводит отбор до ранжированного отчёта с аудитом. CX Codex +1 1 600установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой