Metadata-Version: 2.0
Name: gym-gopherfx
Version: 0.2.0
Summary: A gym environment for reinforcement training on forex historical data.
Home-page: https://github.com/sergiuionescu/gym-gopherfx
Author: Sergiu Ionescu
Author-email: sergiu.ionescu@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: gym

# gym-gopherfx

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 :).

## How to run
Clone the repo
```bash
docker-compose up -d
```

Access [http://127.0.0.1:8050/](http://127.0.0.1:8050/) to access the dashboard.


To start a random agent and see live evolutions:
```bash
python random_agent.py
```

## About the environment

### Gopherfx-v0

Observation:
A tuple of the current datetime and rate

The available actions are:
* 0 - wait
* 1 - buy
* 2 - sell

Reward:
* 0 - for waiting/buying
* trade_result - for selling
* -1 - when depleting the budget

The episodes ends when the trading day is over or the budget is depleted.

### Gopherfx-v1

Observation:
Candle rate data representing the market state at the step moment
Example:
```json
{
  "complete": true,
  "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/buying
* trade_result - for selling
* -1 - when depleting the budget

The episodes ends when the trading day is over or the budget is depleted.

