dojo.environments package

Environments package contains environment classes and logic.

class dojo.environments.AAVEv3Env(chain: Chain, agents: list[BaseAgent], date_range: tuple[datetime, datetime], backend_type: Literal['forked', 'local', 'live'] = 'forked', port: int | None = None, token_data: dict[str, dict[datetime, Decimal]] | None = None, market_impact: Literal['default'] = 'default')

Bases: BaseEnvironment[BaseAaveAction, AAVEv3Observation]

The AAVEv3Env environment models the AAVEv3Env system dynamics.

It is responsible for updating both the protocol and agent states through time.

class dojo.environments.GmxV2Env(chain: Chain, agents: list[BaseAgent], date_range: tuple[datetime, datetime], market_venues: list[MarketVenue], market_impact: Literal['replay', 'no_market'] = 'no_market', backend_type: Literal['forked', 'local', 'live'] = 'forked', port: int | None = None, token_data: dict[str, dict[datetime, Decimal]] | None = None, execution_delay: int = 10)

Bases: BaseEnvironment[BaseGmxAction, GmxV2Observation]

The GmxV2Env models the gmx v2 system dynamics.

class dojo.environments.UniswapV3Env(chain: Chain, agents: list[BaseAgent], date_range: tuple[datetime, datetime], pools: list[str], market_impact: Literal['replay', 'no_market', 'replay_trades_only'] = 'replay', backend_type: Literal['forked', 'local', 'live'] = 'forked', dataloader: BaseLoader | Literal['auto'] | None = 'auto', port: int | None = None, token_data: dict[str, dict[datetime, Decimal]] | None = None)

Bases: BaseEnvironment[UniswapV3Action, UniswapV3Observation]

The UniswapV3Env environment models the UniswapV3 system dynamics.

It is responsible for updating both the protocol and agent states through time.

Submodules

Simulation environement for AAVEv3.

class dojo.environments.aaveV3.AAVEv3Env(chain: Chain, agents: list[BaseAgent], date_range: tuple[datetime, datetime], backend_type: Literal['forked', 'local', 'live'] = 'forked', port: int | None = None, token_data: dict[str, dict[datetime, Decimal]] | None = None, market_impact: Literal['default'] = 'default')

Bases: BaseEnvironment[BaseAaveAction, AAVEv3Observation]

The AAVEv3Env environment models the AAVEv3Env system dynamics.

It is responsible for updating both the protocol and agent states through time.

class dojo.environments.aaveV3.AaveV3MarketModelType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

This enum defines the types of market impact models available.

Attr NO_MARKET:

The no market impact model does nothing. :attr REPLAY: The replay

market impact model replays history.

DEFAULT = 'default'

Base Environments defines the template for all environments.

Uniswap V3 environment.

class dojo.environments.uniswapV3.UniswapV3Env(chain: Chain, agents: list[BaseAgent], date_range: tuple[datetime, datetime], pools: list[str], market_impact: Literal['replay', 'no_market', 'replay_trades_only'] = 'replay', backend_type: Literal['forked', 'local', 'live'] = 'forked', dataloader: BaseLoader | Literal['auto'] | None = 'auto', port: int | None = None, token_data: dict[str, dict[datetime, Decimal]] | None = None)

Bases: BaseEnvironment[UniswapV3Action, UniswapV3Observation]

The UniswapV3Env environment models the UniswapV3 system dynamics.

It is responsible for updating both the protocol and agent states through time.

class dojo.environments.uniswapV3.UniswapV3MarketModelType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

This enum defines the types of market impact models available.

Attr NO_MARKET:

The no market impact model does nothing. :attr REPLAY: The replay

market impact model replays history.

NO_MARKET = 'no_market'
REPLAY = 'replay'
REPLAY_TRADES_ONLY = 'replay_trades_only'