AssetIdentifier#
API documentation for tradeexecutor.state.identifier.AssetIdentifier Python class in Trading Strategy framework.
- class AssetIdentifier[source]#
Bases:
object
Identify a blockchain asset for trade execution.
This is pass-by-copy (as opposite to pass-by-reference) asset identifier we use across the persistent state. Because we copy a lot of information about asset, not just its id, this makes data reads and diagnosing problems simpler.
As internal token_ids and pair_ids may be unstable, trading pairs and tokens are explicitly referred by their smart contract addresses when a strategy decision moves to the execution. We duplicate data here to make sure we have a persistent record that helps to diagnose the sisues.
- __init__(chain_id, address, token_symbol, decimals, internal_id=None, info_url=None, underlying=None, type=None, liquidation_threshold=None)#
Methods
__init__
(chain_id, address, token_symbol, ...)convert_to_decimal
(raw_amount)convert_to_raw_amount
(amount)Return any amount in token native units.
from_dict
(kvs, *[, infer_missing])from_json
(s, *[, parse_float, parse_int, ...])Assets are identified by their smart contract address.
Get the asset that delivers price for this asset.
Is this a credit asset that accrue interest for us
is_debt
()Is this a credit asset that accrue interest for us
Will this token gain on-chain interest thru rebase
Do we think this asset reprents a stablecoin
schema
(*[, infer_missing, only, exclude, ...])to_dict
([encode_json])to_json
(*[, skipkeys, ensure_ascii, ...])Attributes
Ethereum madness.
Info page URL for this asset
How this asset is referred in the internal database
Aave liquidation threhold for this asset
What kind of asset is this
The underlying asset for aTokens, vTokens and such
Smart contract address of the asset.
The ticker symbol of this token.
How many tokens this decimals.
- underlying: Optional[AssetIdentifier] = None#
The underlying asset for aTokens, vTokens and such
- liquidation_threshold: float | None = None#
Aave liquidation threhold for this asset
Set on aTokens that are used as collateral.
- get_identifier()[source]#
Assets are identified by their smart contract address.
JSON/Human friendly format to give hash keys to assets, in the format chain id-address.
- Returns:
JSON friendly hask key
- Return type:
- property checksum_address: HexAddress#
Ethereum madness.
- convert_to_raw_amount(amount)[source]#
Return any amount in token native units.
Convert decimal to fixed point integer.
- get_pricing_asset()[source]#
Get the asset that delivers price for this asset.
- Returns:
If this asset is a derivative of another, then get the underlying, otherwise return self.
- Return type:
- __init__(chain_id, address, token_symbol, decimals, internal_id=None, info_url=None, underlying=None, type=None, liquidation_threshold=None)#