Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By minihellboy
Run end-to-end quantitative alpha-factor research: validate OHLCV market data, discover factors via discovery loops, evaluate out-of-sample decay, backtest composite signals under transaction costs, benchmark against baselines, and package results into tearsheets and reports. Connect to FactSet, Morningstar, Daloopa, and other financial data providers for live market data ingestion.
npx claudepluginhub minihellboy/factorminer --plugin factor-researcherCombine factors into a composite signal and quintile-backtest it
Run a FactorMiner benchmark — Table 1, ablation, cost pressure, or suite
Evaluate a factor library's out-of-sample IC, ICIR, and decay
Mine a new alpha-factor library from a market dataset
Generate a research note, plots, and exports from a finished run
Combine a factor library into a composite signal and quintile-backtest it under transaction costs — long-short return, monotonicity, turnover, and tearsheets. Use for the portfolio-level view that single-factor IC does not give. Triggers on "backtest", "composite signal", "combine factors", "long-short return", "portfolio", "quintile", "tearsheet", "transaction costs".
Run FactorMiner benchmark workflows — the Table 1 Top-K freeze benchmark, memory and strategy ablations, transaction-cost pressure tests, and the full suite. Use to compare FactorMiner against baselines or to reproduce paper results. Triggers on "benchmark", "ablation", "compare to baseline", "reproduce table 1", "cost pressure", "benchmark suite".
Validate, resample, and ingest market data for factor mining. Schema-checks OHLCV files (CSV/Parquet/HDF5), resamples bar frequencies, and pulls live data from external MCP connectors (FactSet, Daloopa, Morningstar). Use before any mining run. Triggers on "validate data", "check my dataset", "resample", "load market data", "fetch data", "ingest prices", "is this dataset usable".
Evaluate a factor library — recompute Information Coefficient (IC), ICIR, win rate, and turnover on held-out data, and surface train→test decay. Use to judge how good a mined library actually is out of sample. Triggers on "evaluate factors", "compute IC", "how good is this library", "factor metrics", "ICIR", "is this factor overfit", "out-of-sample".
Discover alpha factors by running the FactorMiner research engine — the paper-faithful Ralph loop or the enhanced Helix loop (causal validation, regime conditioning, multi-specialist debate, canonicalization). Use to generate a new factor library from a validated dataset. Triggers on "mine factors", "discover factors", "run mining", "find alpha", "helix loop", "ralph loop", "build a factor library".
External network access
Connects to servers outside your machine
Uses power tools
Uses Bash, Write, or Edit tools
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
FinLab quantitative trading skills for global stock markets (TW, US, KR, JP, HK) - includes strategy development, backtesting, data analysis, and factor research
量化交易策略開發
Backtest trading strategies with historical data, performance metrics, and risk analysis
Build and deploy agentic finance applications on the Alva platform. Access 250+ financial data sources, run cloud-side analytics, backtest trading strategies, and publish interactive playbooks.
Order lifecycle from entry through settlement, plus operational and counterparty risk. Serves advisor, algorithmic, and client-direct trading contexts.
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use
LLM-driven formulaic alpha mining with typed operators, structured memory, strict runtime recomputation, and a Phase 2 Helix research lane
FactorMiner is a research framework for discovering interpretable alpha factors from market data. It combines:
The implementation is based on FactorMiner: A Self-Evolving Agent with Skills and Experience Memory for Financial Alpha Discovery (Wang et al., 2026), then extended with a cleaner architecture layer and a broader research surface.
Current implementation focus:
110 paper factors shipped in the built-in catalogFor live local counts, run:
uv run pytest --collect-only -q factorminer/tests
uv run python - <<'PY'
from pathlib import Path
files = sorted(Path("factorminer").rglob("*.py"))
lines = sum(p.read_text(errors="ignore").count("\n") + 1 for p in files)
print(f"Python files: {len(files)}")
print(f"Python lines: {lines}")
PY
Primary execution surfaces:
RalphLoop: canonical paper-style mining loopHelixLoop: Phase 2 research loop with optional retrieval and validation extensionsfactorminer.benchmark.runtime: canonical benchmark runnerfactorminer.architecture: canonical contracts, policies, stages, and servicesflowchart TD
A["Market Data"] --> B["DatasetContract"]
B --> C["Typed DSL + Operator Registry"]
C --> D["Ralph / Helix Stage Pipeline"]
D --> E["EvaluationKernel"]
E --> F["FactorAdmissionService"]
F --> G["FactorLibrary"]
D --> H["MemoryPolicy"]
H --> I["PromptContextBuilder"]
I --> D
G --> J["Runtime Analysis"]
G --> K["Runtime Benchmarks"]
H --> K
B --> K
Two execution lanes share the same core contracts:
| Lane | Purpose | Canonical loop | Typical use |
|---|---|---|---|
| Paper lane | strict, benchmark-facing mining | RalphLoop | reproducible paper-style runs, library freeze, runtime evaluation |
| Helix lane | extended research mode | HelixLoop | debate, KG retrieval, family-aware prompts, canonicalization, Phase 2 validation |
Factors are formulas over the canonical feature set:
$open, $high, $low, $close, $volume, $amt, $vwap, $returns
The DSL is parsed into expression trees, executed through the operator registry, and recomputed on demand during analysis and benchmarks.
Paper appendix operator names such as SignedPower, Med, Rsquare,
Slope, Resi, Eq, Min2, Max2, TsDecay, and Scale are accepted by
the parser.
Mining is not plain prompt-and-filter generation. The loop builds a structured retrieval signal from experience memory and library state, then uses it to steer candidate generation.
Supported memory policies:
papernonekgfamily_awareregime_awareSaved library metadata is not treated as the final source of truth for analysis. The evaluate, combine, visualize, and benchmark paths recompute factor signals from formulas on the supplied dataset.
factorminer.benchmark.runtime is the canonical benchmark entry point. It supports:
memory policy × dependence metric × backend