A gym environment for reinforcement training on forex historical data.
Historical data is no way a predictor of future behaviour in forex, but can be used as challenging science experiment :).
Clone the repo
docker-compose up -d
Access http://127.0.0.1:8050/ to access the dashboard.
To start a random agent and see live evolutions:
docker exec -it gym-gopherfx_python_1 python random_agent.py
Observation: A tuple of the current datetime and rate
The available actions are:
- 0 - wait
- 1 - buy
- 2 - sell
Reward:
- 0 - for waiting/first buy/first sell
- trade_result - for closing an open position
- -1 - when depleting the budget
The episodes ends when the trading day is over or the budget is depleted.
Observation:
- A tuple of Candle rate data representing the market state at the step moment
- The value for the current open position
- The action required to close the current open position
Raw example:
{
"volume": 45,
"time": "2018-06-01T00:00:00.000000000Z",
"bid": {
"o": "1.16916",
"h": "1.16929",
"l": "1.16908",
"c": "1.16915"
},
"ask": {
"o": "1.16933",
"h": "1.16946",
"l": "1.16924",
"c": "1.16930"
}
}
The available actions are:
- 0 - wait
- 1 - buy
- 2 - sell
Reward:
- 0 - for waiting/first buy/first sell
- trade_result - for closing an open position
- -1 - when depleting the budget
The episode ends when the trading day is over or the budget is depleted.