impulse#

eclypse.policies.noise.impulse(*, node_assets=None, edge_assets=None, probability=0.05, node_factor_range=(0.5, 1.5), edge_factor_range=None, minimum=0.0, node_ids=None, node_filter=None, edge_ids=None, edge_filter=None)[source]#

Apply rare multiplicative shocks to selected node and edge assets.

Parameters:
  • node_assets (str | list[str] | None) – Node assets eligible for impulses.

  • edge_assets (str | list[str] | None) – Edge assets eligible for impulses.

  • probability (float) – Per-asset probability of an impulse at each epoch.

  • node_factor_range (tuple[float, float]) – Multiplicative factor range used for shocked node assets.

  • edge_factor_range (tuple[float, float] | None) – Multiplicative factor range used for shocked edge assets. Defaults to node_factor_range.

  • minimum (float) – Lower clamp applied after a shock.

  • node_ids (list[str] | None) – Optional explicit list of node ids to target.

  • node_filter (NodeFilter | None) – Optional predicate to filter target nodes.

  • edge_ids (list[tuple[str, str]] | None) – Optional explicit list of target edges.

  • edge_filter (EdgeFilter | None) – Optional predicate to filter target edges.

Returns:

A graph update policy applying rare multiplicative shocks.

Return type:

UpdatePolicy