This project aims to bring a reinforcement learning environment to the trading community. There are always competing priorities among the community, and we want to make sure that we are able to achieve together a project that is reliable, sustainable, and maintainable.
- We should have reliable codes in this project
- reliable code with tests
- reliable code that works
- reliable code runs without consuming excessive resources
- We should help each other to achieve SOTA results together
- We should write clear codes
- Code should not be redundant
- Code should have documentation inline (standard pep format)
- Code should be organized into classes and functions
- We should leverage outside tools as it makes sense
- We work together, and are kind, patient, and clear in our communication. Jerks are not welcome.
- Filing an issue is a great way to help improve the project
- You found a bug and a way to fix it
- You have contributed to an issue that was prioritized by the coordinators of this project
- You have new functionality that you're adding that you've written issues for and has documentation + Tests
- Please tag @bruceyang, @spencerromo, or @xiaoyang in every PR. (P.S. we're looking for more collaborators with software experience!)
- Please reference or write and reference an issue
- Please have clear commit messages
- Please write detailed documentation and tests for every added piece of functionality
- Please try to not break existing functionality, or if you need to, please plan to justify this necessity and coordinate with the collaborators
- Please be patient and respectful with feedback
- Please use pre-commit hooks
pip install pre-commit
pre-commit install
# Locally
python3 -m unittest discover
# Docker
./docker/bin/build_container.sh
./docker/bin/test.sh