The University of Waterloo quantitative analytics stocks club algorithmic trading repository.
Project description
Algorithmic Trading
The University of Waterloo quantitative analytics stocks club algorithmic trading repository.
Project Board: https://github.com/orgs/UWQSC/projects/1
Onboarding Information
Setup
- After cloning the repository, run the following command
chmod +x ./setup.sh
./setup.sh
- This sets up your:
- Python virtual environment with your packages
- GitHub hook for commit message regex.
Project Structure
src/: Main codeinterfaces/: Abstract Interfaces, referenced by other repotests/: Unit Tests forsrc/
Other files and directories
bin: All important directory bash files go hereMakefile: Used to locally run unit tests, can be used for other functionalities as well.github: Contains the GitHub Workflows that run on every push and pull request.git: Contains GitHub Hooks for commit messages
Conventions and Rules to Follow
- Every commit should be linked with at-least one issue. Hence, every commit should have the GitHub
Issues that it belongs to. For example, if issue is
#100, your commit should havetopic/#100mentioned in an independent line. Note that there is a checker.
Correct commit message
Writing Unit Test for black_litterman.py
topic/#100
- Code coverage 80%.
Incorrect commit message
Writing Unit Test for black_litterman.py
Writing Unit Test for black_litterman.py topic/#100
Writing Unit Test for black_litterman.py
topic/#100 - Code coverage 80%.
Writing Unit Test for black_litterman.py
topic/100
- Code coverage 80%.
Writing Unit Test for black_litterman.py
#100
- Code coverage 80%.
- For convention’s sake, name your branches
topic/<issue_number>. For example: Issue#100should be worked ontopic/100. There's no checker for branches though. - Try to make commits as descriptive as possible.
- Changes to mainline can only be made through PRs. Please make the PR descriptions descriptive (preferably list of commit descriptions)
- When a PR is ready to be reviewed, please add
Ready for Reviewlabel from theLabelsection and then addalgo-trading-teamas reviewers. - When a PR is ready to be merged, please add
Ready for Mergelabel from theLabelsection.
Running Unit Tests Locally
- Running this command will run all the unit tests, with the source code being present at
src/
make
- To see unit test writing convention, please refer to Python Sample Test File
Running GitHub Workflows Locally
This requires you to have Docker installed. Install Act from https://nektosact.com/introduction.html
A successful act run looks like:
> cd ~/<algorithmic-trading-root>
> act
...
[Pylint/build ] ✅ Success - Main Analysing the code with pylint
[Pylint/build ] ⭐ Run Post Set up Python 3.9
[Pylint/build ] 🐳 docker exec cmd=[/opt/acttoolcache/node/18.20.5/arm64/bin/node /var/run/act/actions/actions-setup-python@v3/dist/cache-save/index.js] user= workdir=
[Pylint/build ] ✅ Success - Post Set up Python 3.9
[Pylint/build ] Cleaning up container for job build
[Pylint/build ] 🏁 Job succeeded
>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uwqsc_algorithmic_trading-2025.3.4.post2.tar.gz.
File metadata
- Download URL: uwqsc_algorithmic_trading-2025.3.4.post2.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5deebfdfb362524f463f929a50dbc2e477a8d989651e823e50a14e628260c736
|
|
| MD5 |
107ecfdeb6175b17513fb4665dcf5a4e
|
|
| BLAKE2b-256 |
0d14582c6b171712aa1e8ecdd821914e902bc8d06712daa3cd9ea091f2d64f33
|
File details
Details for the file uwqsc_algorithmic_trading-2025.3.4.post2-py3-none-any.whl.
File metadata
- Download URL: uwqsc_algorithmic_trading-2025.3.4.post2-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2497930ea231a43d976be53da6717f39f7b53e6ad737cd7152bcc13a5cbc9cd9
|
|
| MD5 |
0ae6bda0c03a214a1ba05cb7552c27b3
|
|
| BLAKE2b-256 |
8e3b90a62e15f90ef776a5a8d6ea232be3bea28ceb2e2ee88c1eb5443c90e5e1
|