Skip to main content
Jira progress: loading…

CCXP

Carbon Credit eXpected Price Engine

Background

Under specific economic interpretation the CCXP becomes extremely powerful when combined with ZAYAZ’s probabilistic modeling engine.

Below is the systems-level explanation.

A. Why the ZAYAZ probability models can signal expected carbon credit prices

Carbon credit prices (especially in compliance markets, but also in high-integrity voluntary markets) are fundamentally driven by:

a) Expected future demand for credits Demand increases when companies fail to meet emission reduction pathways and must purchase allowances or offsets to remain compliant or risk penalties.

b) Expected future supply of credits Supply depends on how many high-quality credits are generated, verified, and made available.

c) Market expectations (probabilistic) Markets price expectations, not just facts.

B. What ZAYAZ does that is economically powerful

ZAYAZ models:

  • Company-level probabilities of reaching science-aligned emission targets
  • Sector-level trajectory models (Monte Carlo / Bayesian)
  • Trust-scored signals validated by DaVE/VTE
  • Real-time progress and deltas extracted from the Computation Hub
  • Bottom-up emission estimations for suppliers (Input Hub + MICE)

This means ZAYAZ can compute:

P(targetimettarget_i met) for each company i, over each future time window (e.g., 12–24 months).

If we aggregate these across:

  • a region
  • a sector
  • or all firms in a compliance market

We obtain:

Expected shortfall of reductions which directly links to expected demand for credits.

This expected shortfall is exactly what carbon economists use to price future allowances.

So aggregated ZAYAZ probabilities → demand curve expectations → price signal.

C. Formalization (economics)

Let:

  • Ereq(t)E_req(t) = emissions reduction required by regulation at time t
  • Erealized(t)E_realized(t) = realized corporate emissions reductions
  • Pi(t)P_i(t) = ZAYAZ probability that company i reaches target by time t
  • ΣiEi(t)Σ_i E_i(t) = expected emissions for all entities in market

The expected shortfall:

S(t)=Ereq(t)i[Pi(t)Ereduction,i]S(t) = E_{req}(t) - \sum_i \left[ P_i(t) \cdot E_{reduction,i} \right]

If S(t)>0S(t) > 0, there is unmet reduction → extra demand for credits.

Carbon credit price at time t can be approximated by:

Price(t)=f(S(t),Supply(t),Regulation,MarketElasticity)Price(t) = f(S(t), Supply(t), Regulation, MarketElasticity)

Thus, ZAYAZ’s probability distribution is a leading indicator for future credit price movements.

This is economically valid, provided:

  • regulatory frameworks remain stable (your assumption),
  • supply constraints remain roughly known,
  • we do not introduce exogenous shocks (policy, geopolitical, technological).

D. Why ZAYAZ is uniquely positioned to do this

From the ZAYAZ documentation:

  • Computation Hub & RIF → probabilistic modeling and inference engines (Monte Carlo, Bayesian, SEM extrapolations) 
  • NETZERO module → climate scenario simulation
  • SSSR → all signals are structured and classified, allowing uniform aggregation
  • DaVE / DICE / VTE → ensures trust-grade inputs for each probability calculation
  • MICE engines → sector-specific emission computation engines
  • EcoWorld Academy + Verifier workflows → ensures data quality uplift over time

This means:

ZAYAZ doesn’t just calculate emissions — it calculates the likelihood of hitting pathways with verifier-traceable integrity.

E. What price forecasting module could look like inside ZAYAZ

It could be introduced as new MICE family:

MEID_CCXP (Carbon Credit eXpected Price Engine)

Inputs:

  • Probabilistic reductions from Computation Hub
  • Regulatory pathway (CSRD/ETS/UK ETS)
  • Verified credit supply estimates
  • Sector elasticity coefficients
  • Historical ETS volatility models

Outputs:

  • 12-month and 24-month credit price expectation bands
  • Risk-adjusted spread
  • Sensitivity to uncertainty (confidence filter CFIL)
  • Scenario comparison (baseline, aggressive policy, recession model)

This fits perfectly into the existing micro-engine architecture. (MICE → Computation Hub → Reports & Insights Hub → exported to XBRL/iXBRL.)

F. Caveats

This can be done if:

  1. Regulation and carbon markets remain structurally stable
  2. No major supply shocks occur (e.g., massive new REDD+ issuances)
  3. Enforcement and compliance remain consistent

ZAYAZ can mitigate risk via:

  • SEM (structural equation models)
  • Monte Carlo volatility envelopes
  • Policy change detection (Compliance Scout agent; regulatory feed)

G. Conclusion

✔ Yes — ZAYAZ’s aggregated probability-of-target-achievement models can be used to forecast expected carbon credit prices.

✔ This is not just a hypothesis; it is exactly how carbon market economists model forward prices — ZAYAZ simply has better micro-data and better verification logic than most existing market datasets.

✔ This also positions ZAYAZ as a sustainability intelligence platform capable of producing macro-market climate risk indicators, not just compliance output.

  • Keep CCXP as a very “clean”, auditable micro-engine that just prices carbon based on a set of well-defined inputs.
  • Surround it with companion bots/agents that watch the world, transform messy external information into structured signals, and feed those into the engine via SSSR/USO.

That fits perfectly with ZAYAZ’s MICE + ZAAM architecture.  

elow is the sketch a concrete design.

1. Architecture: CCXP in the middle, bots at the edges

Think of three layers: 1. Factor Bots (ZAAM agents + MICE engines)

  • Watch external domains (policy, energy markets, macro, credit supply, sentiment…).
  • Turn them into normalized factor indices with trust scores.
  • Store them in SSSR as signals. 2. CCXP Core Engine (MICE: MEID_CCXPxx_v1)
  • Does only this: given a set of factor curves + demand/supply fundamentals, compute expected carbon credit price distributions for 12–24 months.
  • No scraping, no API logic, no LLM reasoning inside it. 3. Governance & Presentation Layer
  • DaVE/VTE + AIGS + ALTD to track: which factors were used, from which bots, with what trust. 
  • Reports & Insights Hub renders CCXP outputs in dashboards, stress tests, scenario graphs. 

2. CCXP Core Spec (clean engine)

2.1 MEID + Category

  • MEID: MEID_CALC_CCXP01_v1
  • Category: CALC (Calculation Engine in MICE taxonomy) 
  • Domain: carbon_market_pricing

2.2 Inputs (from SSSR, not raw APIs)

All inputs must be signals with metadata, not ad-hoc parameters:

  • Fundamental demand side
    • ccxp_expected_reduction_shortfall[t]
    • ccxp_regulated_entity_count
    • ccxp_enforcement_intensity_index
  • Fundamental supply side
    • ccxp_verified_credit_supply_pipeline[t]
    • ccxp_high_integrity_fraction[t] (quality filter)
  • Market structure
    • ccxp_market_liquidity_index[t]
    • ccxp_hedging_demand_index[t]
  • External factor indices (from bots, see next section)
    • ccxp_policy_tightening_index[t]
    • ccxp_energy_price_index[t]
    • ccxp_macro_stress_index[t]
    • ccxp_tech_breakthrough_risk_index[t] (negative for price)
    • ccxp_sentiment_index[t]
  • Metadata
    • geography, market (EU ETS, UK ETS, VCM segment, etc.)
    • scenario tag (baseline / optimistic / pessimistic)
    • trust_score per signal

2.3 Outputs

  • price_expectation[t] (e.g. monthly forward points for 12–24 months)
  • price_confidence_interval_low[t], price_confidence_interval_high[t]
  • driver_decomposition[t] (contribution of each factor index to price)
  • risk_flags (e.g., “Policy risk dominant”, “Supply uncertainty high”)

2.4 Core logic (conceptual)

Internally, CCXP can be:

  • A structural model:
    • Demand = f(shortfall, enforcement, sentiment)
    • Supply = f(pipeline, integrity fraction, tech risk)
    • Price = f(Demand, Supply, liquidity, macro) with Monte Carlo perturbations.

But all of that is pure math + probabilistic modeling. No LLMs, no scraping. Easy to test, easy to audit.

3. Companion “Factor Bots” – catalogue

These are ZAAM agents + associated MICE engines that live “around” CCXP.

Each bot:

  • Ingests one class of external information.
  • Normalizes it.
  • Emits 1–N factor indices into SSSR with provenance, timestamps, and trust.

3.1 Policy & Regulation Bot — RegSentinel

  • Goal: Turn regulatory noise into a policy_tightening_index[t] and enforcement_intensity_index[t].
  • Type:
    • ZAAM agent: regulatory_ai_sentinel (already hinted in docs). 
    • MICE engines:
      • MEID_EXTR_REG01_v1 (document extraction)
      • MEID_NLPI_REG02_v1 (classification: tightening vs loosening).
  • Output signals:
    • ccxp_policy_tightening_index[t] ∈ [-1, +1]
    • ccxp_enforcement_intensity_index[t] ∈ [0, 1]

3.2 Energy Market Bot — EnergyWatch

  • Goal: Capture impact of fuel/power prices (which drive abatement cost vs. buying credits).
  • Sources: Power & gas futures, coal benchmarks, etc. (in production you’ll wire APIs).
  • MICE:
    • MEID_TRFM_ENP01_v1 – transforms price curves into an index.
    • MEID_NORM_ENP02_v1 – normalizes vs historical baseline.
  • Output signals:
    • ccxp_energy_price_index[t] (e.g. 0 = baseline, >0 = expensive energy → more abatement incentive).

3.3 Macro & Risk Bot — MacroLens

  • Goal: Capture recession/boom effects on emissions and credit demand.
  • Inputs: GDP forecasts, industrial production, risk spreads, etc.
  • Outputs:
    • ccxp_macro_stress_index[t]
    • ccxp_credit_spread_proxy[t]

3.4 Supply Pipeline Bot — SupplyScope

  • Goal: Estimate future high-integrity credit supply.
  • Inputs: Registries, project pipelines, verifier data, approval lag stats.
  • MICE:
    • MEID_AGGR_SUP01_v1 – aggregate project-level volumes.
    • MEID_SENS_SUP02_v1 – check data consistency.
  • Outputs:
    • ccxp_verified_credit_supply_pipeline[t]
    • ccxp_high_integrity_fraction[t]

3.5 Tech & Abatement Cost Bot — TechShift

  • Goal: Reflect expected cost reductions in abatement tech (e.g. renewables, efficiency, CCS).
  • Output:
    • ccxp_tech_breakthrough_risk_index[t] (higher → cheaper to abate → lower credit demand → downward price pressure).

3.6 Market Sentiment Bot — SentioCarbon

  • Goal: Capture investor/market sentiment from news, social, analyst notes.
  • MICE:
    • MEID_NLPI_SENT01_v1 – LLM-based sentiment classifier.
  • Output:
    • ccxp_sentiment_index[t] (bullish vs bearish on carbon).

4. How the data actually interacts (without polluting CCXP)

4.1 Data flow

1. Bots ingest & interpret

  • Each bot runs on a schedule (e.g. daily/weekly) and/or on event triggers (regulatory update, big price move).
  • They use MICE engines to extract, classify, normalize.

2. Bots write to SSSR / USO

  • Each factor becomes a signal with:
    • signal_id (e.g., ccxp_policy_tightening_index_eu_ets)
    • source_bot_id (e.g. zaam_regsentinel)
    • trust_score, confidence_interval
    • timestamps, scenario tags
  • This is fully aligned with SSSR/USO as the canonical signal registry. 

3. DaVE / VTE validation

  • Trust engine assesses each factor: data quality, drift, consistency.
  • If trust below threshold, CCXP can:
    • Downweight that factor.
    • Fall back to historical averages.
    • Flag risk in output.

4. CCXP run

  • When the user/verifier/system requests a price forecast:
    • CCXP queries SSSR for its required factor set (by metric_types_supported in MICE registry). 
    • Applies its internal pricing model.
    • Returns price curves + decomposition.

5. Audit & governance

  • ALTD logs:
    • Which signals (IDs + versions) used.
    • Which bots produced them.
    • CCXP model version.
  • This fits the AI Governance Charter (full traceability & human oversight for high-risk models). 

5. How this lives in ZAYAZ’s existing AI stack

5.1 ZAAM + ZADIF

  • Bots are implemented as ZAAM assistants with:
  • assistant_id (regsentinel, suppliescope…)
  • agent_type (reg_monitor, market_indexer, etc.)
  • activation_modes (scheduled, telemetry-based, manual). 

ZADIF takes care of:

  • Routing requests to the right bot.
  • Orchestrating batch updates (e.g. “refresh all CCXP factors for EU ETS”).

5.2 MICE registry

  • Each factor bot’s core logic is one or more MICE entries in mice_engine_registry:
    • engine_id, domain, supported_modes, metric_types_supported. 

CCXP itself is just another engine in that registry; it depends on factor signals rather than running everything itself.

6. Governance: CCXP as a high-risk AI/calculation module

Per the AI Governance Charter, CCXP should be treated as high-risk:

  • It influences financial expectations & potentially investment decisions.
  • Needs:
    • Entry in ai_risk_register as ai-ccxp-pricing-001 (High risk, quarterly validation).
    • Validation + retraining SOPs:
      • Backtesting vs realized prices.
      • Stress-testing sensitivity to each factor index. 

Outputs should always include explainability:

  • “Price is high mainly due to: policy tightening (+€X), macro stress (+€Y), restricted supply (+€Z).”

7. Next Steps

  1. Lock the CCXP input contract
  • Define the exact list of factor signals and their shapes (time resolution, units, trust metadata).
  1. Create minimal bot set (MVP)
  • RegSentinel, SupplyScope, EnergyWatch — these three already give huge value.
  1. Register CCXP as MICE engine
  • MEID_CALC_CCXP01_v1 with a simple pricing model + Monte Carlo.
  1. Wire into Reports & Insights Hub
  • New “Carbon Credit Outlook” dashboard with:
    • Price forecast.
    • Driver decomposition.
    • Scenario toggles.

Then we can progressively add:

  • Sentiment, tech breakthrough, macro stress, etc.
  • And eventually: allow users to tweak factor indices manually for “what-if” scenario building.

8. SSSR signal definitions for the CCXP factor set

Here’s a first full draft of the SSSR signal definitions for the CCXP factor set, designed to drop straight into your Smart Searchable Signal Registry with minimal tweaking.

It’ll do two things:

  1. Define a canonical SSSR field schema for CCXP signals (so it’s consistent + reusable).
  2. Provide concrete signal definitions for all the CCXP factors (in a JSON-ish style that you can store in DB/JSON).

This is aligned with how other ZAYAZ tables are structured (Dropdown table, MICE registry, AI risk tables, etc.).

8.1 Canonical SSSR schema for CCXP signals

SSSR table (conceptual) – fields you’d have for any signal, but we’ll use them specifically for CCXP:

{
"signal_id": "string", // global unique key: snake_case
"canonical_name": "string", // human-readable, stable
"short_label": "string", // UI label
"description": "string", // what the signal means

"domain": "string", // e.g. "carbon_markets"
"category": "string", // e.g. "ccxp_factor", "ccxp_output"
"metric_type": "string", // "index", "probability", "volume", "count", "price", etc.
"unit": "string|null", // "tCO2e", "EUR/tCO2e", "index_0_1", "%", "count"
"value_datatype": "string", // "float", "int", "bool", "string", "json"
"time_resolution": "string", // "daily", "weekly", "monthly", "quarterly"
"aggregation_method": "string", // "sum", "mean", "last", "weighted_mean"

"geography_scope_type": "string", // "market", "country", "region", "global"
"geography_key": "string", // e.g. "EU_ETS", "UK_ETS", "VCM_GLOB"
"entity_scope_type": "string", // "market", "sector", "portfolio"
"entity_key": "string|null", // optional (e.g. sector code)

"scenario_tag": "string|null", // "baseline", "optimistic", "stress", etc.
"framework_tags": ["string"], // e.g. ["CSRD","EU_ETS","IFRS_S2"]

"origin_layer": "string", // "ExternalFeed", "InputHub", "ComputationHub", "BotAgent"
"producer_engine_id": "string|null", // MICE MEID_..., when relevant [oai_citation:0‡ZAYAZ-Part_2.pdf](file-service://file-GCfMdYLRGp8z5KehgghPgc)
"producer_agent_id": "string|null", // ZAAM assistant id, when relevant [oai_citation:1‡ZAYAZ-Part_7-Comp-Hub+RIF.pdf](file-service://file-D2o7Ec2BdagGqnAtrdARjL)
"source_system": "string|null", // external market data source if any

"trust_profile_id": "string|null", // which DaVE/VTE profile validates this [oai_citation:2‡ZAYAZ-Part_3-SIS.pdf](file-service://file-QBXwJ9RMHsGEwZ47FbihFY)
"default_smoothing": "string|null", // "none", "3m_ema", etc.
"allowed_range_min": "float|null",
"allowed_range_max": "float|null",

"sensitivity_tag": "string|null", // "financial", "regulatory", "internal_only"
"ai_origin_tagging": true,
"version": "string", // "v1", "v1.1", etc.
"status": "string", // "active", "deprecated", "experimental"

"created_at": "datetime",
"updated_at": "datetime"
}

For CCXP, we’ll fill these fields per signal and treat them as Computation Hub / BotAgent outputs inside the overall Shared Intelligence Stack (SIS).

8.2 CCXP factor signals – concrete SSSR definitions

We’ll assume a market-key placeholder {market} like "EU_ETS", "UK_ETS", "VCM_GLOB". You can materialize separate rows per market or keep {market} as a logical param.

8.2.1 Demand-side fundamentals

8.2.1.1 Expected reduction shortfall
{
"signal_id": "ccxp_expected_reduction_shortfall_{market}_monthly",
"canonical_name": "CCXP Expected Reduction Shortfall ({market}, monthly)",
"short_label": "Expected reduction shortfall",
"description": "Expected gap between required emissions reductions under regulation and modeled realized reductions for the specified carbon market and month. Positive values indicate shortfall (i.e. additional reductions needed).",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "volume",
"unit": "tCO2e",
"value_datatype": "float",
"time_resolution": "monthly",
"aggregation_method": "sum",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["EU_ETS", "CCXP"],

"origin_layer": "ComputationHub",
"producer_engine_id": "MEID_CALC_CCXP_DEM01_v1",
"producer_agent_id": null,
"source_system": "ZAYAZ_ComputationHub",

"trust_profile_id": "DAVE_CARBON_MARKET_BASE",
"default_smoothing": "none",
"allowed_range_min": 0.0,
"allowed_range_max": null,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}
8.2.1.2 Regulated entity count
{
"signal_id": "ccxp_regulated_entity_count_{market}_annual",
"canonical_name": "Regulated Entity Count ({market})",
"short_label": "Regulated entities",
"description": "Number of entities currently covered by the specified carbon market or scheme, including installations or companies subject to cap-and-trade or equivalent mechanisms.",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "count",
"unit": "count",
"value_datatype": "int",
"time_resolution": "annual",
"aggregation_method": "last",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["EU_ETS", "CCXP"],

"origin_layer": "ExternalFeed",
"producer_engine_id": null,
"producer_agent_id": "regsentinel",
"source_system": "RegulatoryRegistryAPI",

"trust_profile_id": "DAVE_REGISTRY_COUNT_BASE",
"default_smoothing": "none",
"allowed_range_min": 0,
"allowed_range_max": null,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}
8.2.1.3 Enforcement intensity index
{
"signal_id": "ccxp_enforcement_intensity_index_{market}_monthly",
"canonical_name": "Enforcement Intensity Index ({market})",
"short_label": "Enforcement intensity",
"description": "Index (0–1) summarizing how strictly compliance, monitoring, and penalties are enforced in the market, based on regulatory actions, fines, inspection rates, and policy signals.",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "index",
"unit": "index_0_1",
"value_datatype": "float",
"time_resolution": "monthly",
"aggregation_method": "mean",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["EU_ETS", "CCXP"],

"origin_layer": "BotAgent",
"producer_engine_id": "MEID_NLPI_REG02_v1",
"producer_agent_id": "regsentinel",
"source_system": "RegPolicyCorpus",

"trust_profile_id": "DAVE_POLICY_SIGNAL_BASE",
"default_smoothing": "3m_ema",
"allowed_range_min": 0.0,
"allowed_range_max": 1.0,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}

8.2.2 Supply-side fundamentals

8.2.2.1 Verified credit supply pipeline
{
"signal_id": "ccxp_verified_credit_supply_pipeline_{market}_monthly",
"canonical_name": "Verified Credit Supply Pipeline ({market}, monthly)",
"short_label": "Credit supply pipeline",
"description": "Projected quantity of verified carbon credits expected to enter the market in each month, based on project pipelines, issuance schedules, and historical verification lags.",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "volume",
"unit": "tCO2e",
"value_datatype": "float",
"time_resolution": "monthly",
"aggregation_method": "sum",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP"],

"origin_layer": "BotAgent",
"producer_engine_id": "MEID_AGGR_SUP01_v1",
"producer_agent_id": "suppliescope",
"source_system": "ProjectRegistryAPIs",

"trust_profile_id": "DAVE_CREDIT_SUPPLY_BASE",
"default_smoothing": "none",
"allowed_range_min": 0.0,
"allowed_range_max": null,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}
8.2.2.2 High-integrity fraction
{
"signal_id": "ccxp_high_integrity_fraction_{market}_monthly",
"canonical_name": "High-Integrity Credit Fraction ({market})",
"short_label": "High-integrity fraction",
"description": "Estimated fraction (0–1) of available credits in the specified market that meet high-integrity criteria (e.g., additionality, permanence, robust verification).",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "index",
"unit": "index_0_1",
"value_datatype": "float",
"time_resolution": "monthly",
"aggregation_method": "mean",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP"],

"origin_layer": "BotAgent",
"producer_engine_id": "MEID_CALC_SUPQ02_v1",
"producer_agent_id": "suppliescope",
"source_system": "ProjectRegistryAPIs",

"trust_profile_id": "DAVE_INTEGRITY_TAGGING_BASE",
"default_smoothing": "3m_ema",
"allowed_range_min": 0.0,
"allowed_range_max": 1.0,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}

8.2.3 Market microstructure

8.2.3.1 Market liquidity index
{
"signal_id": "ccxp_market_liquidity_index_{market}_daily",
"canonical_name": "Carbon Market Liquidity Index ({market})",
"short_label": "Liquidity index",
"description": "Index summarizing trading liquidity in the carbon market, derived from bid-ask spreads, traded volume, and order book depth.",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "index",
"unit": "index_0_1",
"value_datatype": "float",
"time_resolution": "daily",
"aggregation_method": "mean",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP"],

"origin_layer": "ExternalFeed",
"producer_engine_id": "MEID_CALC_LIQ01_v1",
"producer_agent_id": "marketlens",
"source_system": "MarketDataProvider",

"trust_profile_id": "DAVE_MARKET_MICRO_BASE",
"default_smoothing": "5d_ema",
"allowed_range_min": 0.0,
"allowed_range_max": 1.0,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}
8.2.3.2 Hedging demand index
{
"signal_id": "ccxp_hedging_demand_index_{market}_monthly",
"canonical_name": "Hedging Demand Index ({market})",
"short_label": "Hedging demand",
"description": "Index approximating hedging demand for carbon credits by compliance entities and financial actors, inferred from open interest, term structure, and position data where available.",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "index",
"unit": "index_0_1",
"value_datatype": "float",
"time_resolution": "monthly",
"aggregation_method": "mean",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP"],

"origin_layer": "ComputationHub",
"producer_engine_id": "MEID_CALC_HEDGE01_v1",
"producer_agent_id": "marketlens",
"source_system": "MarketDataProvider",

"trust_profile_id": "DAVE_MARKET_POSITION_BASE",
"default_smoothing": "3m_ema",
"allowed_range_min": 0.0,
"allowed_range_max": 1.0,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}

8.2.4 External factor indices (bots)

8.2.4.1 Policy tightening index
{
"signal_id": "ccxp_policy_tightening_index_{market}_monthly",
"canonical_name": "Policy Tightening Index ({market})",
"short_label": "Policy tightening",
"description": "Index measuring net direction and strength of recent regulatory changes on the carbon market, where positive values indicate tightening (more ambitious caps, higher penalties, expanded scope).",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "index",
"unit": "index_-1_1",
"value_datatype": "float",
"time_resolution": "monthly",
"aggregation_method": "mean",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP","Policy"],

"origin_layer": "BotAgent",
"producer_engine_id": "MEID_NLPI_REG02_v1",
"producer_agent_id": "regsentinel",
"source_system": "RegPolicyCorpus",

"trust_profile_id": "DAVE_POLICY_SIGNAL_BASE",
"default_smoothing": "3m_ema",
"allowed_range_min": -1.0,
"allowed_range_max": 1.0,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}
8.2.4.2 Energy price index
{
"signal_id": "ccxp_energy_price_index_{market}_monthly",
"canonical_name": "Energy Price Index ({market})",
"short_label": "Energy price index",
"description": "Composite index of relevant energy prices (power, gas, coal, oil) for the market, normalized to a historical baseline, used as a proxy for abatement vs credit-buying incentives.",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "index",
"unit": "index_0_1",
"value_datatype": "float",
"time_resolution": "monthly",
"aggregation_method": "mean",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP"],

"origin_layer": "BotAgent",
"producer_engine_id": "MEID_TRFM_ENP01_v1",
"producer_agent_id": "energywatch",
"source_system": "EnergyMarketFeeds",

"trust_profile_id": "DAVE_ENERGY_MARKET_BASE",
"default_smoothing": "3m_ema",
"allowed_range_min": 0.0,
"allowed_range_max": 1.0,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}
8.2.4.3 Macro stress index
{
"signal_id": "ccxp_macro_stress_index_{market}_monthly",
"canonical_name": "Macro Stress Index ({market})",
"short_label": "Macro stress",
"description": "Index representing macroeconomic stress conditions relevant to emissions and investment (combining GDP forecasts, industrial output indicators, credit spreads, and risk sentiment).",

"domain": "macro_risk",
"category": "ccxp_factor",
"metric_type": "index",
"unit": "index_0_1",
"value_datatype": "float",
"time_resolution": "monthly",
"aggregation_method": "mean",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP"],

"origin_layer": "BotAgent",
"producer_engine_id": "MEID_CALC_MAC01_v1",
"producer_agent_id": "macrolens",
"source_system": "MacroDataFeeds",

"trust_profile_id": "DAVE_MACRO_SIGNAL_BASE",
"default_smoothing": "3m_ema",
"allowed_range_min": 0.0,
"allowed_range_max": 1.0,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}
8.2.4.4 Tech breakthrough risk index
{
"signal_id": "ccxp_tech_breakthrough_risk_index_{market}_annual",
"canonical_name": "Abatement Technology Breakthrough Risk Index ({market})",
"short_label": "Tech breakthrough risk",
"description": "Index (0–1) indicating the likelihood and expected impact of technology breakthroughs that significantly reduce abatement costs (e.g., cheaper renewables, CCS, efficiency), potentially reducing future credit demand.",

"domain": "technology",
"category": "ccxp_factor",
"metric_type": "index",
"unit": "index_0_1",
"value_datatype": "float",
"time_resolution": "annual",
"aggregation_method": "mean",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP"],

"origin_layer": "BotAgent",
"producer_engine_id": "MEID_NLPI_TECH01_v1",
"producer_agent_id": "techshift",
"source_system": "TechNewsCorpus",

"trust_profile_id": "DAVE_TECH_SIGNAL_BASE",
"default_smoothing": "3y_ema",
"allowed_range_min": 0.0,
"allowed_range_max": 1.0,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}
8.2.4.5 Market sentiment index
{
"signal_id": "ccxp_sentiment_index_{market}_weekly",
"canonical_name": "Carbon Market Sentiment Index ({market})",
"short_label": "Sentiment index",
"description": "Weekly sentiment index derived from news, reports, and analyst commentary specific to the carbon market, indicating overall bullish or bearish expectations on carbon credit prices.",

"domain": "carbon_markets",
"category": "ccxp_factor",
"metric_type": "index",
"unit": "index_-1_1",
"value_datatype": "float",
"time_resolution": "weekly",
"aggregation_method": "mean",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP"],

"origin_layer": "BotAgent",
"producer_engine_id": "MEID_NLPI_SENT01_v1",
"producer_agent_id": "sentiocarbon",
"source_system": "MarketNewsCorpus",

"trust_profile_id": "DAVE_SENTIMENT_BASE",
"default_smoothing": "4w_ema",
"allowed_range_min": -1.0,
"allowed_range_max": 1.0,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}

Even though you asked for factors, CCXP’s outputs should also be first-class SSSR signals so that:

  • Reports Hub, dashboards, XBRL mappings, etc. can treat them like any other metric.

Example:

{
"signal_id": "ccxp_price_expectation_{market}_monthly",
"canonical_name": "CCXP Expected Carbon Credit Price ({market})",
"short_label": "Expected price",
"description": "Expected forward price of carbon credits in the specified market, modeled by the CCXP engine using probabilistic supply-demand factors.",

"domain": "carbon_markets",
"category": "ccxp_output",
"metric_type": "price",
"unit": "EUR/tCO2e",
"value_datatype": "float",
"time_resolution": "monthly",
"aggregation_method": "last",

"geography_scope_type": "market",
"geography_key": "{market}",
"entity_scope_type": "market",
"entity_key": null,

"scenario_tag": "baseline",
"framework_tags": ["CCXP"],

"origin_layer": "ComputationHub",
"producer_engine_id": "MEID_CALC_CCXP01_v1",
"producer_agent_id": null,
"source_system": "CCXPEngine",

"trust_profile_id": "DAVE_CCXP_PRICE_BASE",
"default_smoothing": "none",
"allowed_range_min": 0.0,
"allowed_range_max": null,

"sensitivity_tag": "financial",
"ai_origin_tagging": true,
"version": "v1",
"status": "active",

"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}

8.4 How to use this practically

  • You can copy-paste these JSON blocks into:
  • a migration for a sssr_signals table, or
  • a config repo that your SSSR loader ingests.
  • Replace {market} with actual keys (e.g. "EU_ETS") to generate per-market entries.
  • Wire MICE and ZAAM IDs so that:
  • Bots know exactly which signal_id they update.
  • CCXP knows exactly which signal_ids it depends on (via metric_types_supported in the MICE registry).

GitHub RepoRequest for Change (RFC)