Skip to content
Competition and Agent Frameworks for the Trading Agents Competition
Jupyter Notebook Python JavaScript HTML Dockerfile CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
data
docker-images @ a8a7a15 Refactoring and improved naming Apr 23, 2019
docker-tac-develop
docs Merge pull request #335 from fetchai/bumpversion-0.1.3 Aug 9, 2019
notebooks This changes the utility function and the equilibrium to avoid an edg… Jul 25, 2019
oef_search_pluto_scripts Add new oef sdk and adjust tac accordingly, fixes #306 Aug 1, 2019
proto handle GetStateUpdate only when competition is running. Jun 27, 2019
sandbox Renames gui to dashboard Aug 9, 2019
scripts Renames gui to dashboard Aug 9, 2019
simulation Renames gui to dashboard Aug 9, 2019
tac Merge pull request #335 from fetchai/bumpversion-0.1.3 Aug 9, 2019
templates Renames gui to dashboard Aug 9, 2019
tests Changes OEF configs to match latest OEF requirements Jul 26, 2019
.dockerignore set up development docker image. Set up docker-compose with parameter… Mar 29, 2019
.gitignore Removes build folder Aug 5, 2019
.gitmodules make use of public versions of OEF projects. Close #65 and close #55 May 20, 2019
AUTHORS.rst remove old 'maintainer' label in AUTHORS Jul 1, 2019
CONTRIBUTING.rst Updates meta information. Jul 8, 2019
HISTORY.rst Fix HISTORY file Aug 9, 2019
Jenkinsfile install tox with 'pip3' in the CI Pipeline. Jul 4, 2019
LICENSE Fix copyright notice in LICENSE file. Aug 6, 2019
MANIFEST.in fix MANIFEST.in file and setup.py data_files. Aug 8, 2019
Makefile address PR comments. May 1, 2019
Pipfile
Pipfile.lock Bumps oef-sdk version to 0.6.0 and fixes sandbox readme Aug 5, 2019
README.md Adds launch of my agent to quickstart, fixes readmes Aug 5, 2019
pytest.ini add test for controller code. fix conftest. enable pytest logging. May 29, 2019
setup.py fix MANIFEST.in file and setup.py data_files. Aug 8, 2019
tox.ini Fix tests Aug 4, 2019

README.md

agents-tac

Competition and Agent Frameworks for the Trading Agents Competition

Cloning

This repository contains submodules. Clone with recursive strategy:

  git clone git@github.com:fetchai/agents-tac.git --recursive && cd agents-tac

Quick Start:

  • You have followed the steps under 'Dependencies' and 'Preliminaries' below

  • You have entered the virtual environment and launched the script:

    pipenv shell
    python scripts/launch.py
    

The controller GUI at http://localhost:8097 provides real time insights.

Step by step:

  • You have followed the steps under 'Dependencies' and 'Preliminaries' below

  • In one terminal, you have built the sandbox and then launched it:

    cd sandbox && docker-compose build
    docker-compose up
    
  • In another terminal, you have entered the virtual environment and connected a template agent to the sandbox:

    pipenv shell
    python templates/v1/basic.py --name my_agent --gui
    

The sandbox is starting up:

Sandbox

Once agent is connecting and searching for the competition:

Sandbox

The controller GUI at http://localhost:8097 provides real time insights: Controller GUI

  • You have had a look at the documentation and are developing your first agent.

Quick Links

📜 📜 📜 Documentation 📜 📜 📜

The package documentation introduces the key components of the agent and competition frameworks and helps agent developers getting started. This is required reading material if you want to build your own agent.

📏 📏 📏 Specification 📏 📏 📏

The framework specification introduces the agent and competition frameworks and discusses the project vision and components. This is complementary reading material.

🤖 🤖 🤖 Simulation 🤖 🤖 🤖

The simulation provides code to simulate a competition with a population of baseline agents.

🛠🛠🛠 Templates 🛠🛠🛠

The agent templates provide starting points for agent development.

🏆 🏆 🏆 Competition 🏆 🏆 🏆

The competition sandbox provides the code to build the docker image to run the competiton.

Repository structure

  • data: default folder for storage of the simulation data.
  • docker-images: submodule to the docker-images
  • docker-tac-develop: Docker image for the development of TAC related stuff.
  • docs: the docs for this project.
  • notebooks: contains jupyter notebooks with exploratory code.
  • proto: contains the protobuf schema.
  • sandbox: setup for using Docker compose.
  • simulation: contains scripts for simulation of the TAC.
  • tac: the main folder containing the Python package.
  • templates: template agents.
  • tests: tests for the package.

Dependencies

  • All python specific dependencies are specified in the Pipfile (and installed via the commands specified in 'Preliminaries').

  • The package requires that you install Docker and the sanbox requires that you in addition install Docker Compose.

  • The project requires oef-search-pluto which can be pulled here:

    docker pull fetchai/oef-search:latest
    

Preliminaries

  • Create and launch a virtual environment:

    pipenv --python 3.7 && pipenv shell
    
  • Install the package:

    python setup.py install
    

Contribute

The following dependency is only relevant if you intend to contribute to the repository:

The following steps are only relevant if you intend to contribute to the repository. They are not required for agent development.

  • Clear cache

    pipenv --clear
    
  • Install development dependencies:

    pipenv install --dev
    
  • Install package in (development mode):

    pip3 install -e .
    
  • After changes to the protobuf schema run:

    python setup.py protoc
    
  • To run tests (ensure no oef docker containers are running):

    tox -e py37
    
  • To run linters:

    tox -e flake8
    
  • We recommend you use the latest OEF build:

    python oef_search_pluto_scripts/launch.py -c ./oef_search_pluto_scripts/launch_config_latest.json
    

Resources

  • Detailed documentation of the OEF Python SDK is available here.
You can’t perform that action at this time.