Projects

Structure

Introduction

Your workspace stores all your local projects and the Explorer panel in VS Code shows all the files in your local projects.

Files

New projects contain code files (.py or .cs), notebook files (.ipynb), and some configuration files (.json). Run backtests with code files and launch the Research Environment with notebook files. In QC Cloud, code files can contain up to 64,000 characters and notebook files can be up to 128KB in size. In your local workspace, the code files and notebook files can be any size. To keep files small, files can import code from other code files. To aid navigation, you can rename, move, and delete files in VS Code. Notebook files include the JSON elements to display the input cells, but not the output cells.

Directories

Your workspace 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.

Description

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

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 VS Code. Your libraries are saved under the Library directory in your workspace.

Parameters

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 value into your algorithm, use the GetParameter method. Alternatively, in C# projects, you can apply the Parameter attribute to define public class members with algorithm parameter values. 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: