ExchangeUniverse#

tradingstrategy.exchange.ExchangeUniverse Python class in Trading Strategy framework.

class ExchangeUniverse[source]#

Bases: object

Exchange manager.

Contains look up for exchanges by their internal primary key ids.

__init__(exchanges)#
Parameters:

exchanges (Dict[int, Exchange]) –

Return type:

None

Methods

__init__(exchanges)

from_collection(exchanges)

Create exchange universe from a collection of exchanges.

from_dict(kvs, *[, infer_missing])

from_json(s, *[, parse_float, parse_int, ...])

get_by_chain_and_factory(chain_id, ...)

Get the exchange implementation on a specific chain.

get_by_chain_and_name(chain_id, name)

Get the exchange implementation on a specific chain.

get_by_chain_and_slug(chain_id, slug)

Get the exchange implementation on a specific chain.

get_by_id(id)

get_exchange_count()

get_single()

Get the one and the only exchange in this universe.

get_top_exchanges_by_30d_volume()

Get top exchanges sorted by their 30d volume.

schema(*[, infer_missing, only, exclude, ...])

to_dict([encode_json])

to_json(*[, skipkeys, ensure_ascii, ...])

Attributes

exchanges

Exchange id -> Exchange data mapping

exchanges: Dict[int, Exchange]#

Exchange id -> Exchange data mapping

static from_collection(exchanges)[source]#

Create exchange universe from a collection of exchanges.

Parameters:

exchanges (Collection[Exchange]) –

Return type:

ExchangeUniverse

get_top_exchanges_by_30d_volume()[source]#

Get top exchanges sorted by their 30d volume.

Note that we consider volume only for supported quote tokens. See tradingstrategy.exchange.Exchange for more details.

Return type:

List[Exchange]

get_by_chain_and_name(chain_id, name)[source]#

Get the exchange implementation on a specific chain.

Parameters:
  • chain_id (ChainId) – Blockchain this exchange is on

  • name (str) – Like sushi or uniswap v2. Case insensitive.

Raises:

ExchangeNotFoundError – If exchange is not found

Return type:

Optional[Exchange]

get_by_chain_and_slug(chain_id, slug)[source]#

Get the exchange implementation on a specific chain.

Parameters:
  • chain_id (ChainId) – Blockchain this exchange is on

  • slug (str) – Machine readable exchange name. Like uniswap-v2. Case sensitive.

Raises:

ExchangeNotFoundError – If exchange is not found

Return type:

Optional[Exchange]

get_by_chain_and_factory(chain_id, factory_address)[source]#

Get the exchange implementation on a specific chain.

Parameters:
  • chain_id (ChainId) – Blockchain this exchange is on

  • factory_address (str) – The smart contract address of the exchange factory

Return type:

Optional[Exchange]

get_single()[source]#

Get the one and the only exchange in this universe.

Returns:

The exchange

Raises:

AssertionError – in the case the universe does not contain a single exchange

Return type:

Exchange

__init__(exchanges)#
Parameters:

exchanges (Dict[int, Exchange]) –

Return type:

None