tensortrade.oms.exchanges.exchange module¶
- class tensortrade.oms.exchanges.exchange.Exchange(*args, **kwargs)[source]¶
Bases:
Component
,TimedIdentifiable
An 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) 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: 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: TradingPair) 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:
object
An 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.