DiscreteActions¶
Simple discrete scheme, which calculates the trade size as a fraction of the total balance.
Key Variables¶
instruments- The exchange symbols of the instruments being traded.
actions_per_instrument- The number of bins to divide the total balance by. Defaults to 20 (i.e. 1/20, 2/20, …, 20/20).
max_allowed_slippage_percent- The maximum size above the current price the scheme will pay for an instrument. Defaults to 1.0 (i.e. 1%).
Setters & Properties¶
Each property and property setter.
dtype- A type or str corresponding to the dtype of the
action_space.
- A type or str corresponding to the dtype of the
exchange- The exchange being used by the current trading environment.
- This will be set by the trading environment upon initialization. Setting the exchange causes the scheme to reset.
action_space- The shape of the actions produced by the scheme. This takes in a
gym.spaceand is different for each given scheme.
- The shape of the actions produced by the scheme. This takes in a
Functions¶
reset- Optionally implementable method for resetting stateful schemes.
get_trade- Get the trade to be executed on the exchange based on the action provided.
- Usually this is the way we distill the information generated from the
action_space.
Use Cases¶
from tensortrade.actions import DiscreteActions
action_scheme = DiscreteActions(n_actions=20, instrument='BTC')
This discrete action scheme uses 20 discrete actions, which equates to 4 discrete sizes for each of the 5 trade types (market buy/sell, limit buy/sell, and hold). E.g. [0,5,10,15]=hold, 1=market buy 25%, 2=market sell 25%, 3=limit buy 25%, 4=limit sell 25%, 6=market buy 50%, 7=market sell 50%, etc…