SyncModel#
API documentation for tradeexecutor.strategy.sync_model.SyncModel Python class in Trading Strategy framework.
- class SyncModel[source]#
Bases:
ABC
Abstract class for syncing on-chain fund movements event to the strategy treasury.
- __init__()#
Methods
__init__
()Creates a transaction builder instance to make trades against this asset management model.
Get the vault address we are using.
Get the address where tokens are stored.
Get the vault address we are using.
is_ready_for_live_trading
(state)Check that the state and sync model is ready for live trading.
Re-read hot wallet nonce before trade execution.
sync_credit_supply
(timestamp, state, ...)Update all credit supply positions.
sync_initial
(state, **kwargs)Initialize the vault connection.
sync_treasury
(strategy_cycle_ts, state[, ...])Apply the balance sync before each strategy cycle.
- resync_nonce()[source]#
Re-read hot wallet nonce before trade execution.
Ensures that if the private key is used outside the trade executor, we are not getting wrong nonce error when broadcasting the transaction.
- is_ready_for_live_trading(state)[source]#
Check that the state and sync model is ready for live trading.
- abstract sync_initial(state, **kwargs)[source]#
Initialize the vault connection.
- Parameters:
kwargs –
Extra hints for the initial sync.
Because reading event from Ethereum blockchain is piss poor mess.
state (State) –
- abstract sync_treasury(strategy_cycle_ts, state, supported_reserves=None)[source]#
Apply the balance sync before each strategy cycle.
- Parameters:
strategy_cycle_ts (datetime) –
The current strategy cycle.
Resevers are synced before executing the strategy cycle.
state (State) – Current state of the execution.
supported_reverses –
List of assets the strategy module wants to use as its reserves.
May be None in testing.
supported_reserves (Optional[List[AssetIdentifier]]) –
- Returns:
List of balance updates detected.
Deposits
Redemptions
- Return type:
- abstract create_transaction_builder()[source]#
Creates a transaction builder instance to make trades against this asset management model.
Only needed when trades are being executed.
- Returns:
Depending on the asset management mode.
- Return type:
- sync_credit_supply(timestamp, state, universe, credit_positions)[source]#
Update all credit supply positions.
- Parameters:
timestamp (datetime) –
Wall clock time.
This function can be called outside the strategy cycle.
state (State) – Current strategy state
universe (TradingStrategyUniverse) – Trading universe that must include lending data.
credit_positions (List[TradingPosition]) – Prefiltered list of credit positions to update.
- Returns:
All triggered balance update events
- Return type: