Research
Deployment
Introduction
This page is an introduction to the Research Environment for the Algorithm Lab. For more comprehensive information on using research notebooks, see the Research Environment documentation product.
Resources
Research nodes enable you to spin up an interactive, command-line, Jupyter Research Environment. Several models of research nodes are available. More powerful research nodes allow you to handle more data and run faster computations in your notebooks. The following table shows the specifications of the research node models:
Name | Number of Cores | Processing Speed (GHz) | RAM (GB) | GPU |
---|---|---|---|---|
R1-4 | 1 | 2.4 | 4 | 0 |
R2-8 | 2 | 2.4 | 8 | 0 |
R4-12 | 4 | 2.4 | 12 | 0 |
R4-16-GPU | 4 | 3 | 16 | 1/3 |
R8-16 | 8 | 2.4 | 16 | 0 |
Refer to the Pricing page to see the price of each research node model. You get one free R1-4 research node in your first organization, but the node is replaced when you subscribe to a paid research node in the organization.
To view the status of all of your organization's nodes, see the Resources panel of the IDE. When you launch the Research Environment, it uses the best-performing resource by default, but you can select a specific resource to use.
The CPU nodes are available on a fair usage basis. The GPU nodes can be shared with a maximum of three members. Depending on the server load, you may use all of the GPU's processing power.
Sharing
The Research Environment does not currently support simultaneous coding between two peers. You can view the notebook of your colleague as they edit it, but you can't both edit the notebook at the same time. To enable your team members to see your notebook, add them to the project.
Sharing your notebooks is helpful when publishing your findings online, getting feedback on your research process, and explaining your methodology to others. To share a notebook with members not in your organization, run a backtest, generate a link to share the backtest, and then give the backtest link to the other person. They will be able to clone the project and launch the Research Environment using the notebook files.
Historical Data
On our platform, you can access historical data for all of the asset classes that we support. We have datasets for Equities, Options, Futures, Crypto, Forex, CFD, Indices, and alternative data. View the Dataset Market to see all of the datasets that we support. To import custom data, see Custom Data.
Look-Ahead Bias
Look-ahead bias occurs when an algorithm makes decisions using data that would not have yet been available. As you work in the Research Environment, take measures to reduce look-ahead bias in your workflow. If look-ahead bias seeps into your research, you may find profitable results on historical data, however, you will not be able to apply your findings in a live trading algorithm because the data does not exist in real-time.
An example of look-ahead bias is using the closing price to make trading decisions and filling your orders at the same closing price. This can happen in the Research Environment because all of the data is available at the same time. This type of look-ahead bias cannot occur when backtesting with Lean because the data is fed into your algorithm in discrete slices of time and an order is filled using a slice that occurs after the order was placed.
A second example of look-ahead bias occurs when researchers test a model on the same dataset that was used to train the model. In this situation, the model is trained using data that would not have been available when the model was created in practice. A third example of look-ahead bias is when researchers select a universe to apply their trading strategy to based on the past performance of the universe.