Projects organize your algorithm data. They have settings, files, results, and attached libraries.

Your account has a directory to organize the projects that you have access to in each of your organizations. If you switch the organization that you are connected as, your directory of projects is updated to reflect the projects that you have access to within the new organization.


New projects contain code files (.py or .cs) and notebook files (.ipynb). Run backtests with code files and launch the Research Environment with notebook files. Code files must stay within your size quotas. To keep files small, files can import code from other code files. To aid navigation, you can rename, move, and delete files in the web IDE. Notebook files save the input cells, but not the output cells.


Your directory of projects can contain nested directories of projects to make navigation easier. Similarly, the code and notebook files in your projects can contain nested directories of files. For example, if you have multiple Alpha models in your strategy, you can create an alphas directory in your project to hold a file for each Alpha model.


You can give a project a description to provide a high-level overview of the project and its functionality. Descriptions make it easier to return to old projects and understand what is going on at a high level without having to look at the code. The project description is also displayed at the top of backtest reports, which you can create after your backtest completes.


Libraries are reusable code files that you can import into any project for use in backtesting, research, and live trading. Use libraries to increase your development speed and save yourself from copy-pasting between projects. You can create libraries and add them to your projects using the web IDE. Your libraries are saved under the Library directory in the Algorithm Lab.


Algorithm parameters are hard-coded values for variables in your project that are set outside of the code files. Add parameters to your projects to remove hard-coded values from your code files and to perform parameter optimizations. To get the parameter values into your algorithm, see Get Parameters. The parameter values are sent to your algorithm when you deploy the algorithm, so it's not possible to change the parameter values while the algorithm runs.

You can also see our Videos. You can also get in touch with us via Discord.

Did you find this page helpful?

Contribute to the documentation: