Per-instrument algorithmic synthesis methodology
How the observational qualitative classification per instrument is computed (ZYXmon, operated by ACME).
Summary
The algorithmic synthesis produces a qualitative classification per instrument (e.g. FAVORABLE ZONE, MIXED SIGNALS, ELEVATED RISK ZONE) computed deterministically from six canonical signals. The classification is universal: the same instrument receives the same result for any user at the same point in time. It is observational information and does not constitute financial advice or an investment recommendation.
What the synthesis is
The algorithmic synthesis is a deterministic composition of quantitative signals computed from public data. Its output is an observational qualitative label (one of five zones) accompanied, where applicable, by a historical reference price band.
It is not an investment recommendation. It is not a buy or sell decision. It does not consider any individual user's risk profile, objectives, time horizon or tax situation. It is an informational summary of the current state of the quantitative signals for the instrument.
Canonical input signals
The synthesis is computed from the latest state of the following six canonical signals (persisted in a shared database under the single-writer-many-reader pattern):
- Overall score (overall_score) on a 0–100 scale: weighted composition of the valuation, quality, dividend, technical and risk pillars.
- Fair value: qualitative label and percentage upside/downside, derived from the weighted consensus of discounted cash flow (DCF), sector-relative multiples and external analyst consensus.
- Financial health: classification based on the Piotroski F-Score, leverage ratio, interest coverage and dividend coverage by free cash flow.
- Dividend safety: category (Safe / Watch / At Risk / Danger) based on payment history, payout over free cash flow, prior cuts and coverage.
- Value trap: qualitative label combining fundamental and behavioural signals (e.g. low structural quality, persistent margin deterioration, dilution).
- Technical recommendation derived from RSI(14), MACD, moving averages (SMA 50/200), Aroon and chart patterns where applicable.
The six signals are computed once per instrument (nightly process) and stored; the synthesis reads them, it does not recompute. Details of each individual signal are available on the general methodology page.
The five zones
The engine maps the weighted composition of the six signals to one of five qualitative zones. All are observational: they describe the current state of the signals, they do not prescribe action.
- VERY FAVORABLE ZONE — Most of the canonical signals point in the same positive direction with margin: valuation below fair value, solid financial health, bullish technical, no value-trap or dividend-safety alerts. Information, not a recommendation.
- FAVORABLE ZONE — Most of the canonical signals point in a positive direction, although with less margin or with some mixed signal. Information, not a recommendation.
- MIXED SIGNALS — The canonical signals do not converge in a clear direction: some favourable, others unfavourable, or the set sits near the thresholds. Information, not a recommendation.
- ELEVATED RISK ZONE — One or several canonical signals issue alerts with margin (e.g. material overvaluation, critical dividend safety, value trap, bearish technical). Information, not a recommendation.
- INSUFFICIENT DATA — Too many canonical signals are missing to issue a reliable classification (e.g. instrument recently added to the universe, limited data provider coverage). The engine explicitly abstains rather than guess.
The labels are not buy or sell signals. ZYXmon does not issue directional signals. Interpretation, weighting against your personal profile and the final decision are yours.
Thresholds and weights
The per-signal weights and the thresholds separating one zone from the next are configurable parameters (they are not hardcoded in the binary). They live in an admin-tunable configuration table and are auditable.
Any change to weights or thresholds is timestamped and appears in the changelog at the end of this page. Governance policy requires editorial-responsible approval before publishing a material change.
To reduce noise from daily oscillations, zone transitions include a hysteresis band: a zone changes only when the new weighted composition crosses the threshold by a minimum margin. Hysteresis is applied identically for every instrument and every user.
Hypothetical example (no real instrument)
Consider a hypothetical instrument "Company X" with the following canonical-signal state on an arbitrary date:
- Overall score: 72 out of 100.
- Fair value: label Undervalued, +18% upside relative to the current price.
- Financial health: F-Score 7, moderate leverage, comfortable dividend coverage.
- Technical: Buy recommendation, no value-trap or dividend-safety alerts.
With this composition, the engine would produce the label FAVORABLE ZONE accompanied by a historical reference price band. The label would NOT be a buy recommendation: it indicates the quantitative signals are aligned positively, but the decision depends on your own analysis, your risk profile and your personal situation. This example is hypothetical and does not refer to any real instrument.
Algorithm formula (description)
The verdict is computed deterministically from six canonical signals (S1..S6) already persisted in the shared database. Each signal contributes a partial score to the "alignment score" if it crosses its threshold; thresholds and weights are admin-configurable parameters (not binary constants).
Formally, alignment_score = Σ wᵢ · 𝟙[Sᵢ ≥ τᵢ], where 𝟙 is the indicator (1 if the condition holds, 0 otherwise), wᵢ is the weight of signal i, and τᵢ is its activation threshold. The qualitative output is obtained by mapping alignment_score to one of the five zones via successive thresholds (very_favorable > favorable > mixed > elevated_risk).
Some signals act as hard inhibitors (overrides): for example, if dividend_safety is CRITICAL or value_trap is TRAP, the verdict is demoted to ELEVATED RISK ZONE regardless of the accumulated alignment score. This prevents false positives when a single severe signal should be enough to exclude the favorable zone.
Default weights table
| Canonical signal | Trigger condition (default) | Weight (points) |
|---|---|---|
| S1 — Zyxmon global score | ≥ 65 out of 100 | +25 |
| S2 — Fair value upside | ≥ +10% | +20 |
| S3 — Technical recommendation | BUY | +15 |
| S4 — Dividend safety | SAFE / ROBUST | +15 |
| S5 — Value trap | NONE / STABLE | +15 |
| S6 — Piotroski F-Score | ≥ 7 | +10 |
Weights and thresholds are configurable via analysis_defaults (ADS) and may change between methodology versions. The table reflects the default values of version 1.0.0. See /admin/analysis-params for current values.
Pseudocode (illustrative)
The pseudocode below summarises the algorithm's logic. It is NOT an exact copy of the private source: the real functions include reads from SWMR cache, hysteresis to reduce flicker, data-coverage validation (insufficient data → INSUFFICIENT_DATA), and the hard overrides described above.
function compute_synthesis_verdict(signals, weights, thresholds):
score = 0
if signals.zyxmon_score >= thresholds.score_min: score += weights.zyxmon
if signals.fv_upside_pct >= thresholds.fv_min_pct: score += weights.fv
if signals.technical_reco == "BUY": score += weights.tech
if signals.dividend_safety in ("SAFE", "ROBUST"): score += weights.div_safety
if signals.value_trap in ("NONE", "STABLE"): score += weights.value_trap
if signals.piotroski_score >= thresholds.piotroski_min: score += weights.financial_health
if score >= thresholds.very_favorable: return "VERY_FAVORABLE_ZONE"
if score >= thresholds.favorable: return "FAVORABLE_ZONE"
if score >= thresholds.mixed: return "MIXED_SIGNALS"
return "ELEVATED_RISK_ZONE"
Reference pseudocode so users can reason about the output. The real implementation preserves the same semantics + the additional safeguards listed under "Known limitations".
Step-by-step worked example
Consider a hypothetical instrument "Company X" with the following canonical signals on any given date:
- S1 Global score = 78 ≥ 65 → +25 points.
- S2 Fair value upside = +11% ≥ +10% → +20 points.
- S3 Technical recommendation = BUY → +15 points.
- S4 Dividend safety = SAFE → +15 points.
- S5 Value trap = STABLE → +15 points.
- S6 Piotroski F-Score = 6 < 7 → 0 points.
Alignment score = 25 + 20 + 15 + 15 + 15 + 0 = 90. With the default thresholds (very_favorable ≥ 80), the engine emits VERY FAVORABLE ZONE. The price band shown next to the verdict corresponds to the T1 tranche previously persisted by the tranche engine. Remember: the label is informational, not a recommendation.
Known limitations
Quantitative classifications have inherent limitations. The most relevant are documented openly:
- Inputs come from external financial-data providers. Errors, delays or inaccuracies in that data propagate to the classification.
- Signals are recomputed nightly (between 00:00 and 06:00 UTC). Relevant intraday events (news, earnings released during the day) are not reflected until the next recomputation.
- The implicit time horizon is 1 to 3 months unless explicitly stated otherwise. Beyond that horizon, the underlying information may have changed enough to invalidate the classification.
- Coverage may not be complete for all markets or for instruments with very low liquidity; in those cases the engine emits INSUFFICIENT DATA rather than a low-confidence classification.
- Past performance of the methodology over historical periods does not guarantee future results. Past performance is not indicative.
- The synthesis does not incorporate qualitative information about the business (management changes, strategy, regulation) nor user personal preferences. That interpretation is up to the user.
MAR regime — Article 3(1)(35) + Commission Delegated Regulation (EU) 2016/958
The quantitative classifications published by ZYXmon (operated by ACME) are built as observational information. To the extent that they could be classified as investment recommendations under Article 3(1)(35) of Regulation (EU) 596/2014 (MAR), their production, dissemination and retention comply with Commission Delegated Regulation (EU) 2016/958 on technical arrangements for the objective presentation of investment recommendations.
ACME is NOT an investment-services firm (ESI) nor an authorised financial-advice firm (EAF) authorised by the CNMV under MiFID II. The published classifications do NOT constitute personalised financial advice, do NOT take into account any user's personal profile, and must NOT be interpreted as a recommendation to buy or sell. They are observational quantitative information to support the user's own informed decision.
The designated editorial responsible under Article 2 of Commission Delegated Regulation (EU) 2016/958 is Hugo Emilio Blanco, on behalf of ACME. Any material change to the methodology — weights, thresholds or signals — is timestamped on this page.
Compute records (verdict_audit_log) are retained for a minimum period of five (5) years per Article 22 of Regulation (EU) 596/2014 and Article 16(7) of MiFID II. This ledger contains NO personal data: classifications are universal per instrument, identical for any user at the same point in time.
Related documents
- Legal disclaimer and MAR regime (/legal/disclaimer#mar-regime)
- Conflict-of-interest policy (/legal/conflicts)
- General algorithmic methodology (/legal/methodology)
- Imprint and editorial responsible (/legal/imprint)
Synthesis methodology changelog
Material changes to weights, thresholds or canonical signals:
- 2026-05 — Initial publication of this synthesis methodology page. The algorithmic synthesis function remains disabled by default in production pending a written legal opinion from a Spanish securities-law specialist.
- 2026-05-17 — Version 1.0.0. Activation under HYBRID Architecture A: the layer is displayed only to users who have given explicit consent from Settings. The layer is NOT open-sourced; instead, this page describes the algorithm in prose + illustrative pseudocode + default-weights table. Consent log (verdict_audit_log) and universal-compute records retained for 5 years.
Last updated: May 2026. Version 1.0.