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'''