Learn to use QuantConnect and Explore Our Features

Using QuantConnect

Learn the basics of working in the terminal

Algorithm Reference

Reference to building an Algorithm

Algorithm Framework

Reusable modular code to fast track design


Interactive Jupyter development API


Series of written introductions to python and finance

Live Trading

Harness live-specific features and trade on your brokerage

Using LEAN

Go deep into the engine powering QuantConnect

Organizations on QuantConnect

Build your organization from QuantConnect's foundation

Try QuantConnect Now

QuantConnect's LEAN engine manages your portfolio and data feeds letting you focus on your algorithm strategy and execution. Data is piped into your strategy via event handlers, upon which you can place trades. We provide basic portfolio management and fill modelling underneath the hood automatically. This is provided by the QCAlgorithm base class.

Design and Test Your Strategy

Deploy it to Your Live Brokerage

Code in Multiple Languages

Harness Our Cluster of Servers

  public class BasicTemplateAlgorithm : QCAlgorithm
      public override void Initialize()
         // Setup algorithm requirements: cash, dates and securities.
         // Initialize is called once at the start of the algorithm.

      public override void OnData(Slice data) {
         // Data requested is then piped into event handlers like this one.
class BasicTemplateAlgorithm(QCAlgorithm):
      def Initialize(self):
            '''Initialise the data and resolution required, as well as the
            cash and start-end dates for your algorithm. All algorithms must initialized.'''

        def OnData(self, data):
            '''OnData event is the primary entry point for your algorithm. Each new data
            point will be pumped in here. data is a Slice object keyed by symbol containing
            the stock data'''

Supported Brokerages

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

Did you find this page helpful?

Contribute to the documentation: