tensortrade.oms.exchanges.exchange module¶
-
class
tensortrade.oms.exchanges.exchange.Exchange(*args, **kwargs)[source]¶ Bases:
tensortrade.core.component.Component,tensortrade.core.base.TimedIdentifiableAn abstract exchange for use within a trading environment.
- Parameters
name (str) – The name of the exchange.
service (Union[Callable, str]) – The service to be used for filling orders.
options (ExchangeOptions) – The options used to specify the setting of the exchange.
-
__call__(*streams) → tensortrade.oms.exchanges.exchange.Exchange[source]¶ Sets up the price streams used to generate the prices.
- Parameters
*streams – The positional arguments each being a price stream.
- Returns
Exchange – The exchange the price streams were passed in for.
-
execute_order(order: Order, portfolio: Portfolio) → None[source]¶ Execute an order on the exchange.
- Parameters
order (Order) – The order to execute.
portfolio (Portfolio) – The portfolio to use.
-
is_pair_tradable(trading_pair: tensortrade.oms.instruments.trading_pair.TradingPair) → bool[source]¶ Whether or not the specified trading pair is tradable on this exchange.
- Parameters
trading_pair (TradingPair) – The trading pair to test the tradability of.
- Returns
bool – Whether or not the pair is tradable.
-
quote_price(trading_pair: tensortrade.oms.instruments.trading_pair.TradingPair) → decimal.Decimal[source]¶ The quote price of a trading pair on the exchange, denoted in the core instrument.
- Parameters
trading_pair (TradingPair) – The trading pair to get the quote price for.
- Returns
Decimal – The quote price of the specified trading pair, denoted in the core instrument.
-
registered_name= 'exchanges'¶
-
class
tensortrade.oms.exchanges.exchange.ExchangeOptions(commission: float = 0.003, min_trade_size: float = 1e-06, max_trade_size: float = 1000000.0, min_trade_price: float = 1e-08, max_trade_price: float = 100000000.0, is_live: bool = False)[source]¶ Bases:
objectAn options class to specify the settings of an exchange.
- Parameters
commission (float, default 0.003) – The percentage of the order size taken by the exchange.
min_trade_size (float, default 1e-6) – The minimum trade size an order can have.
max_trade_size (float, default 1e6) – The maximum trade size an order can have.
min_trade_price (float, default 1e-8) – The minimum price an exchange can have.
max_trade_price (float, default 1e8) – The maximum price an exchange can have.
is_live (bool, default False) – Whether live orders should be submitted to the exchange.