building-custom-factor-definitions

Constructs proprietary factor definitions with signal specification, universe application, and orthogonalization methodology. Use when defining custom factors, creating proprietary signals, or building factor libraries.

11 stars

Best use case

building-custom-factor-definitions is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Constructs proprietary factor definitions with signal specification, universe application, and orthogonalization methodology. Use when defining custom factors, creating proprietary signals, or building factor libraries.

Teams using building-custom-factor-definitions should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/building-custom-factor-definitions/SKILL.md --create-dirs "https://raw.githubusercontent.com/CaseMark/skills/main/skills/capital/building-custom-factor-definitions/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/building-custom-factor-definitions/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How building-custom-factor-definitions Compares

Feature / Agentbuilding-custom-factor-definitionsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Constructs proprietary factor definitions with signal specification, universe application, and orthogonalization methodology. Use when defining custom factors, creating proprietary signals, or building factor libraries.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Building Custom Factor Definitions

## When To Use

- Defining a new proprietary signal (e.g., custom momentum, quality, or alternative-data factor) for systematic portfolio construction
- Extending an existing factor library with additional alpha or risk factors
- Formalizing an ad-hoc trading signal into a documented, production-ready factor definition
- Orthogonalizing a raw signal against standard risk factors (market, size, value, momentum) to isolate residual alpha
- Specifying universe filters, rebalance cadence, and neutralization rules for a new factor

## Inputs To Gather

- **Signal hypothesis**: Economic rationale for why the signal should predict returns (e.g., earnings revision momentum captures analyst under-reaction)
- **Raw data source(s)**: Vendor, frequency, history depth, point-in-time availability, and known gaps [VERIFY data lag and survivorship-bias treatment]
- **Investment universe**: Index membership, liquidity floor (e.g., minimum ADV), market-cap band, sector/country scope
- **Benchmark and risk model**: Which risk model (Barra, Axioma, in-house PCA) the factor will be orthogonalized against
- **Rebalance parameters**: Signal refresh frequency, portfolio rebalance cadence, and turnover constraints
- **Back-test window**: In-sample vs. out-of-sample date ranges; any structural-break dates to segment

## Workflow

1. **Specify the raw signal**
   - Define the formula or computation graph (e.g., `z-score of 3-month EPS revision breadth, winsorized at +/- 3σ`)
   - Document every transformation: scaling, winsorization, log-transform, lag
   - State the look-back window and decay function if applicable

2. **Apply universe and timing rules**
   - Filter the investable universe by liquidity, listing status, and sector exclusions
   - Align signal observation dates to point-in-time data availability — no look-ahead bias
   - Define the rebalance calendar (month-end, quarter-end, event-driven)

3. **Normalize and cross-section adjust**
   - Cross-sectional z-score or rank-normalize within appropriate groups (sector, country, or full universe)
   - Handle missing data: drop, fill-forward with decay, or impute with group median — document the choice
   - Winsorize or truncate outliers and state thresholds

4. **Orthogonalize against risk factors**
   - Regress the normalized signal on the chosen risk-model exposures (e.g., Barra style/industry factors)
   - Retain the residual as the pure alpha signal
   - Record R-squared and coefficient stability across rolling windows [VERIFY orthogonalization frequency matches rebalance cadence]

5. **Back-test and evaluate**
   - Construct long/short quintile or decile portfolios; compute annualized return, Sharpe ratio, IC/IR, max drawdown, and turnover
   - Split in-sample (model fitting) and out-of-sample (validation) periods
   - Run decay analysis: how quickly does signal efficacy fade after formation?
   - Check for crowding proxies (short-interest, ETF overlap) that could erode the signal forward

6. **Stress-test and robustness checks**
   - Vary look-back windows, winsorization bounds, and rebalance frequency
   - Test across sub-periods (pre/post regime changes, volatility regimes)
   - Confirm the factor is not subsumed by existing library factors (spanning test)

7. **Document the factor definition card**
   - Produce a single-page factor definition card (see Output section) plus a detailed methodology appendix

## Output

**Factor Definition Card** containing:

- **Factor name and mnemonic** (e.g., `EPS_REV_BREADTH_3M`)
- **Economic rationale** — one-paragraph hypothesis
- **Signal formula** — unambiguous mathematical or pseudo-code specification
- **Universe and rebalance rules** — eligibility criteria, calendar, turnover cap
- **Normalization method** — z-score vs. rank, group structure, outlier treatment
- **Orthogonalization spec** — risk model used, regression details, residual extraction
- **Back-test summary table** — annualized return, Sharpe, IC, IR, max drawdown, turnover (in-sample and out-of-sample)
- **Decay profile** — IC at T+1, T+5, T+20, T+60
- **Known limitations** — data gaps, regime sensitivity, crowding risk
- **Version and changelog** — factor version, author, date, and diffs from prior version

## Quality Checks

- **No look-ahead bias**: Confirm every data point is available strictly before the signal observation date
- **Point-in-time integrity**: Verify vendor timestamps; flag any restated financials or backfilled data [VERIFY]
- **Survivorship bias**: Universe must include delisted securities during the back-test window
- **Transaction cost realism**: Apply realistic spread and market-impact estimates; confirm net-of-cost Sharpe > threshold
- **Redundancy test**: Correlation with existing factor library < 0.5 (or fails spanning regression) to justify inclusion
- **Stability**: IC sign and magnitude stable across rolling 36-month windows; no single sub-period drives aggregate result
- **Reproducibility**: Another quant can recreate the signal from the definition card alone, producing matching quintile returns within rounding tolerance

Related Skills

We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.