ExchangeUniverse#

API documentation for 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_all_slugs()

Get all exchange slugs.

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.

limit_to_chains(chain_ids)

Remove all but named exchanges from the set.

limit_to_slugs(slugs)

Remove all but named exchanges from the

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

get_all_slugs()[source]#

Get all exchange slugs.

Useful for debug output.

Return type:

List[str]

limit_to_chains(chain_ids)[source]#

Remove all but named exchanges from the set.

Parameters:

chain_ids (set[tradingstrategy.chain.ChainId]) –

Return type:

ExchangeUniverse

limit_to_slugs(slugs)[source]#

Remove all but named exchanges from the

Parameters:

slugs (set[str]) –

Return type:

ExchangeUniverse

__init__(exchanges)#
Parameters:

exchanges (Dict[int, Exchange]) –

Return type:

None