Disclaimer: The providers of the RIT software have refused to make the RestAPI public and I do not have access to the RIT server platform, therefore this repository might be out of date with the current version of RIT. It would be useful as a reference to create a more advanced automated trading API.
Python trading module for the Rotman Interactive Trader trading software. PyPI page.
Install with pip: pip install ritpytrading
Full documentation available online.
A GitHub markdown flavor documentation can be found in documentation/README.md
.
- Python 3.6+
- The Rotman Interactive Trading Client
The RIT Client only supports Windows OS. However, development of the PyPI ritpytrading package can be in done in Linux/BSD environments as well.
The full documentation for the RIT Client REST API can be found at Swaggerhub.
The swagger API documentation is also provided in the swagger_client_generated
folder.
IMPORTANT:
- The RIT Trading Client must also be running to make sure the REST RIT API Client requests can be made.
- In each script your RIT Client API key must be entered and the requests module be imported to make API calls.
- The API and API Orders mode must be enabled in the RIT Client for the python module to send order requests.
$ pip install ritpytrading
Examples scripts are present inside the examples
folder. Documentation available here.
The RIT Client for Windows can be downloaded at http://rit.rotman.utoronto.ca/software.asp.
Instructions for setting up an RIT demonstration client account for the Liability Trading 3 case file can be found at http://rit.rotman.utoronto.ca/demo.asp.
Initialize the repository with git. Detailed instructions to download git for windows can be found at atlassian. The repository can then be initialized with git using:
$ git clone https://github.com/SamSamhuns/RIT-trading-python
Two options are available after this:
- Anaconda is recommended for Windows system. Set up up a virtual conda environment first.
Then open the anaconda prompt and use the command
conda install --yes --file requirements.txt
to install all modules from requirements.txt. - Or Install
python
and add it to yourPATH
system variable. Then install thepip
package if not installed already also adding it to thePATH
system variable. Then run the following commands.
$ python -m venv venv $ .\venv\Scripts\activate $ pip install -r requirements.txt
Note: When using PowerShell in Windows, the virtual environment has to be activated with .\venv\Scripts\activate.ps1
After cloning the repository, install packages using pip.
$ git clone https://github.com/SamSamhuns/RIT-trading-python $ python -m venv venv $ source venv/bin/activate $ pip install -r requirements.txt
For Windows, different options are available for using makefile. GnuWin's make
provides a native port for Windows (without requiring a full runtime environment like Cygwin).
After installing GnuWin, add C:\Program Files (x86)\GnuWin32\bin
to your system PATH
variable to run makefiles from any directory.
- For Windows, run makefile commands with
make -f Makefile.win <directive>
. Examplemake -f Makefile.win help
- For Linux/BSD, run makefile commands with
make <directive>
.
Run the following command to get a list of all Makefile command options.
$ make help
To run tests.
$ make test $ make test-all
To ensure the README.rst will be rendered in PyPi [If deprecated use the twine command given below]
$ python setup.py check --restructuredtext
To ensure the README.rst renders properly. After building with make dist
, check the rendering with:
$ twine check dist/*
To build the source and wheel package.
$ make dist
To upload the distribution code to PyPi. The version number must be updated in setup.py
and logged in HISTORY.rst
.
$ twine upload dist/*
Once python has been added to the PATH
system variable in Windows,
the code for running the scripts on Windows and Linux/BSD based systems
are the same.
From the main directory, run:
$ python -m unittest
If no tests are run from the command above, run the verbose mode.
Verbose mode
$ python -m unittest discover -v
- Samridha Shrestha
This project is licensed under the Apahce 2.0 License - see the LICENSE.md file for details
- Rotman School of Manangement, University of Toronto http://www.rotman.utoronto.ca/
- Rotman Interactive Trader http://rit.rotman.utoronto.ca/
- Python open source libraries
- Joel Hasbrouck, NYU Stern Principles of Securities Trading, FINC-UB.0049, Spring 201. http://people.stern.nyu.edu/jhasbrou/
- This project directory was created based on Cookiecutter and the audreyr/cookiecutter-pypackage project template.
- README conversion for PyPI. Pandoc.org.
All RIT software and external RIT links are provided by the Rotman School of Management and are their exclusive property.