TradingPairDataAvailability#

tradingstrategy.candle.TradingPairDataAvailability Python class in Trading Strategy framework.

class TradingPairDataAvailability[source]#

Bases: TypedDict

Trading data availability description for a single pair.

  • Trading Strategy oracle uses sparse data format where candles with zero trades are not generated. This is better suited for illiquid DEX markets with few trades.

  • Because of sparse data format, we do not know if there is a last candle available - candle may not be available yet or there might not be trades to generate a candle

  • This information is always time frame (15m, 1h, 1d) specific

  • See tradingstrategy.client.Client.fetch_trading_data_availability()

__init__(*args, **kwargs)#

Methods

__init__(*args, **kwargs)

clear()

copy()

fromkeys([value])

Create a new dictionary with keys from iterable and values set to value.

get(key[, default])

Return the value for key if key is in the dictionary, else default.

items()

keys()

pop(k[,d])

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()

Remove and return a (key, value) pair as a 2-tuple.

setdefault(key[, default])

Insert key with a value of default if key is not in the dictionary.

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

Attributes

chain_id

Blockchain of the pair

pair_address

Address of the pair

pair_id

Internal id of the pair

last_trade_at

What is the last trade oracle has seen for this trading pair.

last_candle_at

What is the last full available candle for this trading pair

last_supposed_candle_at

What might be the last available candle for this trading pair

chain_id: ChainId#

Blockchain of the pair

pair_address: str#

Address of the pair

pair_id: int#

Internal id of the pair

last_trade_at: datetime#

What is the last trade oracle has seen for this trading pair.

This trade might not be rolled up to a candle yet.

last_candle_at: datetime#

What is the last full available candle for this trading pair

last_supposed_candle_at: datetime#

What might be the last available candle for this trading pair

In Uniswap v3, there might not be a candle available due to low liquidity, in that case we can use this timestamp to mark the data is fine up to this point.