Projects

Collaboration

Introduction

Project collaboration is a real-time coding experience with other members of your team. Collaborating can speed up your development time. By working with other members in an organization, members within the organization can specialize in different parts of the project.

Video Demo

When there are multiple people working on the same project, the cursor of each member is visible in the IDE and all file changes occur in real-time for everyone. The following video demonstrates the collaboration feature:

Add Team Members

You need to own the project to add team members to it.

Follow these steps to add team members to a project:

  1. Open the project.
  2. In the Collaborate section of the Project panel, click Add Collaborator.
  3. Click the Select User... field and then click a member from the drop-down menu.
  4. If you want to give the member live control of the project, click the Live Control check box.
  5. Click Add User.
  6. The member you add receives an email with a link to the project.

Collaborator Quotas

The number of members you can add to a project depends on your organization's tier. The following table shows the number of collaborators each tier can have per project:

TierCollaborators per Project
FreeUnsupported
Quant ResearcherUnsupported
Team10
Trading FirmUnlimited
InstitutionUnlimited

Toggle Live Control

You need to have added a member to the project to toggle their live control of the project.

Follow these steps to enable and disable live control for a team member:

  1. Open the project.
  2. In the Collaborate section of the Project panel, click the profile image of the team member.
  3. Click the Live Control check box.
  4. Click Save Changes.

Remove Team Members

You need to own the project to remove team members from it.

Follow these steps to remove a team member from a project.

  1. Open the project.
  2. In the Collaborate section of the Project panel, click the profile image of the team member.
  3. Click Remove User.

Intellectual Property

All individuals on QuantConnect own their intellectual property (IP) on our platform. Your code is private and only accessible by people you share the project with and with support-engineers when you submit a support ticket. At no point does QuantConnect ever claim ownership of user IP. The only case where algorithm code becomes public domain is when they are shared to the forum. In this case, algorithms need to be made public domain to allow the sharing of the algorithm code.

It is common when companies hire engineers to write software, they require their employees to sign an agreement that gives the company IP ownership of any code written for work. They need this because they're paying you to write software, and the company needs to sell that software to turn a profit. Similarly, the Organizations feature allows you to control who holds IP ownership over a project. Each type of organization has its own mechanisms for handling project IP ownership.

Individual Organizations

The Free and the Quant Researcher tiers only allow single-member organizations. This means you can't collaborate with anyone else inside the QuantConnect platform. Simply put, you own the IP for any projects you work on since you are the sole collaborator.

Team Organizations

For organizations that allow multiple users to collaborate on projects, the user who created the project owns it; this can be you or one of your teammates. If you add a teammate/collaborate, they can clone it, but the original project belongs to the person who first created it.

Trading Firm & Institution Organizations

For Trading Firm and Institution organizations, which are generally used by companies and funds, the firm owns all employee projects. This is made to suit firms that wish to hire consultants and need to ensure the code remains with the company when the consultant work is finished. You have to explicitly create a project in an organization for it to be created on the organization's account.

Other Collaboration Methods

Additional methods of collaboration include cloning, sharing, and migrating projects.

Clone Projects

Clone a project to create a new copy of the project and save it within the same organization. When you clone a project, the project files are duplicated but the backtest results and the content stored in the ObjectStore is not retained. Cloning enables you to test small changes in your projects before merging the changes back into the original project. Cloning also enables you to clear ObjectStore storage while keeping the project files because you can clone the project and then delete the original version of the project.

To clone projects, open the project you want to clone and then, in the Project panel, click Clone. "Project cloned successfully" displays.

Share Projects

Run a backtest and then make the backtest results public to share a project. Once a backtest is made public, a link is generated for you that opens the backtest results and the project files. You can directly give the link to others, attach the backtest to a forum discussion, or embed the backtest into a website. However, note that when you make a backtest public, the project files are accessible to anyone who visits the link, even after you delete the project. As a result, we don't recommend collaborating on projects by making backtests public and sharing the link with your collaborators. Instead, add team members to your project since it protects your intellectual property.

You can share a backtest at any time when it's executing. Although, if you generate a link to share the backtest before the backtest completes, the link that's generated will not contain all of the backtest results. Some reasons to share your project include the following:

  • Attach the project to the forum to ask for help, gather feedback, or report an issue.
  • Attach the project to a data issue to reduce the amount of time it takes to fix the data issue.
  • Share a link to the project with others to give them a copy of the project files and the backtest results.

To share a research notebook, save the notebook and run a backtest.

Migrate Projects

Migrate a project to clone the project and move the cloned version of the project from an organization that you own to another organization of which you're a member. You must be the organization administrator to migrate projects out of the organization. Migrate a project to run the project using resources from a different organization and to collaborate on the project with members from a different organization. When you migrate projects, the project files are copied but the content stored in the ObjectStore is not retained.

Follow these steps to migrate projects:

  1. Open the project you want to migrate.
  2. In the Project panel, click Migrate.
  3. Click the name of the organization to which you want to migrate the project and then click Migrate.
  4. The top navigation bar displays Connected as: theOrganizationYouMigratedTo.

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: