FundamentalPriceShock#

class pams.events.FundamentalPriceShock(event_id, prng, session, simulator, name)[source]#

This suddenly changes the fundamental price (just changing it).

This event is only called via hooked_before_step_for_market() at designated step.

hook_registration()[source]#

Define when this event should be hooked by simulator. This method is automatically hooked by simulator at the beginning of simulation. You must implement this.

Returns:

The list of event hook ( EventHook )

Return type:

List[EventHook]

hooked_before_step_for_market(simulator, market)[source]#

This method is hooked at each step before market processing if you set the event hook.

Parameters:
  • simulator (Simulator) – simulator for reference.

  • market (Market) – market to be processed.

Return type:

None

setup(settings, *args, **kwargs)[source]#

event setup. Usually be called from simulator/runner automatically.

Parameters:

settings (Dict[str, Any]) – agent configuration. Usually, automatically set from json config of simulator. This must include the parameters “triggerDays”, “target”, “triggerTime”, and “priceChangeRate”. This can include the parameters “enabled” and “shockTimeLength”.

Return type:

None

Returns:

None