Home › Documentation › Edge discovery
A discovery engine with memory

🧺 Edge Library

The Scanner finds edges; the Library remembers them. Every edge you file away is saved with its full genome — its DNA, its history, its recipe — so you can come back to it, measure how it relates to the others and compose baskets. It is what turns AniQuant from an «analysis tool» into a discovery engine that accumulates knowledge.

🗂️
One module, two stores

It is a single window, called the Edge Library in the menu, in the title bar and on this page. What lives inside are two different stores, and it is worth knowing which one you are looking at:

  • ·The per-indicator catalog — one entry per indicator and market: «which indicator works best on daily @ES, and with which parameters». It answers «which brick do I use».
  • ·The genome archive — each individual edge with its full DNA, to browse them, correlate them and build baskets. It answers «which gems do I own and how do I combine them».

In Spanish, Biblioteca de Filos everywhere.

Phase 1 · The Genome

Press 🧺 Save to Library (next to the DNA, in the Edge Analysis). A genome is filed away: a complete, self-contained snapshot of the edge. With it, the gallery can draw everything without re-scanning, and the map can correlate.

What the genome saves
  • Identity — symbol, timeframe, direction (Long/Short), horizon and the condition's name.
  • DNA snapshot — the 0–100 Confidence and the 7 robustness dimensions.
  • Base metrics — t-stat, average return, % positive, In/Out-of-Sample, ±1 bar robustness.
  • AI verdict — if you computed it before saving.
  • Monthly vector — the return month by month: the time fingerprint that later lets you measure how much one edge resembles another.
  • Executable recipe — the serialized condition, so the edge can be reopened live.
example · a genome in biblioteca.json
{ "simbolo": "@ES", "tf": "DAILY", "dir": "L", "horizonte": 10, "nombre": "SMA(Open,30) > SMA(High,35)", "adn": { "nota": 84, "ver": "ROBUSTO", "dims": […] }, "tstat": 5.80, "nSenales": 348, "pctPos": 68.7, "mensual": [ {"ym":"2024-01", "usd":5812, "ret":6.39, "n":9}, … // 59 months ], "ia": { "veredicto":"ROBUSTO", "confianza":80, … }, "cond": {…} // executable recipe }

Phase 2 · The Library — the gallery

Menu Strategies → Edge Library. Each edge is a genetic profile card: symbol, direction, Confidence + stars + verdict, and a radar (the fingerprint of its 7 dimensions). Search, sort (confidence, t-stat, signals, date) and filter by direction.

The record card (double-click)

The genome in full: radar + dimension bars, monthly return curve, In/Out-of-Sample, metrics, half-life and seasonality and the AI verdict if there was one.

▶ Reopen live

From the record card, it reloads the symbol's data and re-runs the full Edge Analysis (trades, multi-horizon profile, per-signal curve, seasonality, magnifier). Identical to the Scanner's, with the same numbers — they share the same engine.

It is saved to disk

A single file, C:\AniQuant\biblioteca\biblioteca.json. Each × on a card deletes that edge (with confirmation).

Phase 3 · The Genetic Map — how they relate

The Gallery | 🔗 Genetic Map switch. Here the monthly vector comes into its own: the Pearson correlation is computed between the monthly return of each pair of edges, over their overlapping months (6 minimum; if two edges do not coincide in time, they are not comparable).

How to read the heatmap

Each cell is the correlation between two edges. The color shouts what matters:

  • Green (r < 0) — they move the other way: they diversify. Rare and valuable: when one suffers, the other tends to make up for it.
  • Neutral (r ≈ 0) — independent. They complement each other well.
  • Red (r > 0) — they move alike: redundant. Holding both adds almost nothing.
Families & Diversified basket

Families lists the most redundant pairs (prune one) and the most diverse ones (good to combine).

The 🧪 Diversified basket is built by greedy selection: it starts from the edge with the highest Confidence and keeps adding, one at a time, the one that correlates least with those already chosen. It shows the combined curve, the total $ and the basket's average correlation. A slider controls how many edges get in.

🧮
Example — reading a correlation

Two Long edges on @ES, one from SMA and another from ROC. The cell reads r = 0.85: even though the recipes differ, they win and lose in the same months — they are almost the same edge in disguise. In a portfolio they bring no diversification: keep the one with the higher Confidence and drop the other. A pair at r = −0.10, on the other hand, is a small gem: they hedge each other, smoothing the combined curve.

Phase 4 · Enrichments — half-life, seasonality and AI Advisor

🕰️ Half-life (is it fading out?)

On the record card. It compares the recent half of the edge's history with the old half to answer whether the edge is still alive or dying. It gives a verdict (Fresh / Stable / Decaying / Exhausted), the freshness (% it yields now against its history) and an estimated half-life in years (the time it takes to halve).

// example old half: 0.44% avg/month recent half: 0.22% avg/month → freshness 50% ≈ 7 years between the centers of the two halves half-life ≈ 7 years // it takes ~7 years to halve
📅 Seasonality

Twelve bars (Jan→Dec) with the average return per month of the year — green above, red below. It reveals whether the edge concentrates its performance in certain periods (sell in May, the year-end rally…) or spreads it evenly. Useful for understanding when it pays, and for not mistaking a calendar pattern for a structural edge.

🧠
AI Advisor — the collection seen all at once

On the Map, the 🧠 AI Advisor button sends Claude the complete inventory (every edge with its DNA) plus the correlations. The AI answers like a portfolio advisor: it scores the collection's diversity (0–100), points out the unique gems, the redundant cousins to prune, a suggested basket, the portfolio risks and recommendations. It cites the edges by their #index and symbol. It needs the API key in config.json.

example · the Advisor's verdict

Diversity 45/100. «The collection is dominated by Long moving-average edges on @ES that share a regime: #1 and #3 are nearly identical (r=0.85). Gem: #4 (a ROC Short), the only one that diversifies. Prune: keep #1 and drop #3. Suggested basket: #1 + #4 + #6. Risk: the whole basket depends on a single market — add edges from another symbol before trading it.»

The full flow

Scan → open an edge's DNA → 🧺 Save to Library
   → gallery of ID cards → record card (half-life, seasonality) → ▶ reopen live
      → 🔗 Map: correlation → families → 🧪 diversified basket
         → 🧠 AI Advisor: what to prune, what to combine, what the risks are

🆔 Every strategy has an identity of its own

A strategy is not identified by its rule, but by an identifier that never changes — E-7K3M9QX2 —, together with an optional name you give it and its code. It also records where it came from: which module found it, with which criterion and with which version of AniQuant.

Making the identity the code rather than the rule avoids two problems: truncated file names when the rule is long, and collisions between different strategies that happen to look alike in the fragment that survives the truncation.

✏️ Naming a strategy

In the Library, hover over a row and press the little pencil —or F2 with the row selected—. Up to 50 characters.

The named ones are shown in normal type and the rest in monospace, so at a glance you know which ones you have reviewed. The full rule still appears on hover. Leaving the name blank is valid: the row goes back to showing its rule.

Try it yourself

AniQuant can be tried free for 30 days, with every module and no card.

← Previous
AQ Mentor: reverse engineering
Next →
AQ Genesis: autonomous strategy research
More in Edge discovery