Contributing¶
Thanks for looking. Two kinds of contributions matter most here.
Strategy plugins¶
- Add the strategy under
app/strategies/(subclassBaseStrategy). - Register it in
app/strategies/registry.pywith all metadata filled in: execution status, hold horizon, risk unit, capital lock-up class, and the validation gates it must pass to graduate from shadow to paper. A strategy without gates will not be merged. - Start it as
shadow. Paper status needs numbers from a lab report. - Add a test under
tests/.
Lab reports¶
- Put the script under
scripts/and the report underlabs/YYYY-MM-DD-slug/(seelabs/README.mdfor the layout). - State the data window, the filters and the losing cases. A report that only shows winners will be sent back.
- Keep the script runnable against a local SQLite database placed under
data/.
Ground rules¶
- Live trading stays hard-blocked. Pull requests that remove the guard will be closed.
- No secrets in the repo.
.envis git-ignored; add new settings toapp/config.pyand.env.example. - Run
pytest -qbefore opening a pull request.