Category: Quant Tools

Live Trading with Interactive Brokers

We’re very proud to announce our public release of live trading with Interactive Brokers! Now you can seamlessly design and trade your algorithm within QuantConnect.

Automated live trading is one of the most challenging engineering problems in financial technology. It involves controlling large financial resources, while pushing computational power to its limits!

Starting today, you can deploy your algorithms to your Interactive Brokers accounts, using minute, second or tick resolution data for Equities and FOREX. All powered by our open source algorithmic trading platform, LEAN.

Live Trading GUI

QuantConnect live trading comes packed with some impressive functionality to help your trading!

SMS and Email Notifications

Trigger sending emails, web hooks or SMS messages on key events with a single line of code. It is as simple as:

Custom Live Data Sources

Using QuantConnect you can connect your algorithm to external data sources and stream updates to your algorithm events. Check out our demo using a Bitcoin REST API.

Runtime Statistics

With runtime statistics you can display custom information in the header of your live GUI to track your key indicators and asset values.

SetRuntimeStatistic("EURUSD", price);
Runtime Statistics

Mobile Control Interface

Control your algorithm on the road with our mobile friendly, HTML5 GUI. You can see full running algorithm charts and trades, or just a summary of your algorithm performance.

Live Mobile Controller

Live Options

Upgrade to Start Live Trading Today with QuantConnect

Open Source Updates

Its been an awesome month for the open-source project with contributions from people all around the world. We love working with the community and seeing LEAN used in ways we can barely imagine!

@kaffeebrauer contributed the Stochastic and OnBalance Indicators
@AlexCatarino implemented the ROC, ROCP and WILR Indicators
@QANTau started implementation of an OANDA Brokerage
@bizcad created a Weighted Moving Average Indicator
@mattmast created the Money Flow Index(MFI) Indicator
@bdilber started working on futures support

Additionally thanks to @ammachado, and @dpallone for documentation fixes, and @willniu for working out our consolidator logic 🙂 The LEAN Engine is growing more powerful by the week.

We’re Raising Capital

We’ve been experiencing some incredible growth and have bold plans for the next 12 months! We are opening an investment round and talking to investors to continue our growth plan.

Backtesting with a REST API

This weekend we reviewed the GIT-API and how people really wanted to use QuantConnect. We built the GIT-API enable using the powerful autocomplete features in Visual Studio. However requiring people to use GIT to submit a backtest was a step learning curve, and prone to errors when the website had traffic spikes.

As a result we made a decision to deprecate the GIT portion of QuantConnect, and replace it with a new RESTful API. It allows you to create projects and submit files for backtesting all via simple JSON commands. The REST API will allow unlimited innovation on top of QuantConnect’s backtesting engine. With just a few URL commands you can tap into our scalable cloud and backtest across terabytes of financial data. See our documentation for how to use the new interface.
Continue reading

Harnessing the Twitter API for Sentiment Strategies

In this project we will be writing an application which downloads tweets from Twitter. We are continuing our journey leaning C#, as we started with our Yahoo Finance data downloader.

Twitter has a REST API that allows us to  search for tweets, users, timelines, or even post new messages. We will use an incredible C# Twitter Library called Tweetinvi. It has everything you need to start building your own program. There are other alternatives, but we found this was the easiest and most complete. To use this program, you need to have a Twitter developer account, and use your own credentials.

Continue reading

Downloading Yahoo Finance Data with C#

The following post is the first in a series by Raul Pefaur on Learning C#. Over the last month Raul has taught himself C# with a variety of projects, tutorials and books which he will describe to help others on their journey to using C# for finance. Raul has a Master of Finance and lives in Santiago, Chile.

Yahoo has a popular API which lets you download daily financial data from its enormous library. In this blog post, I will be using this API to download financial data through a C# console application. It was created in Visual Studio and is free for you to download an use, though I recommend you try to build it yourself. If you like, use mine as a reference (I know there’s a lot of improvements in my code you could make. If you do, please share!). Continue reading

Three Common Implementation Mistakes

In our work at QuantConnect we have helped with thousands of budding quants over the years. Our algorithm development terminal is a powerful backtesting platform that allows members to design strategies on 15 years of past equities data.

We see several very common mistakes in even the most basic strategies. For our latest free video tutorial – Coding the Exponential Moving Average Strategy – we wanted to start by helping users avoid these common mistakes and show how they could avoid them. These common mistakes are… Continue reading

Top Numerical Libraries For C#

AlgLib (

ALGLIB is a numerical analysis and data processing library. Is supports many languages but has been entirely rewritten in naitive C#, and functions across many operating systems. It is open source for noncommercial purposes and has commercial licensing options available for enterprise clients. So in all a portable, intuitive and versatile library that is a perfect for a segment of coders. QuantConnect is happy to support using AlgoLib in our platform! To access this library, simply call:

using AlgLib;

Math.NET Numerics (

Math.NET Numerics is a linear algebra, open source library written in C#. It has a robust contributor community ensuring stable releases and healthy feature support. Math.NET is used broadly in fields from science to engineering and notably finance. Popular in financial sectors, Math.NET has a wide library of mathematical functions from linear algebra to integral transforms and probability models. You can access this library from inside your algorithms by calling it in at the top of your code!

using MathNet.Numerics;

NLinear (

NLinear is a basic linear algebra toolkit in C# compatible with Silverlight. While not open source it is much more open than the commercial numerical libraries but offers a narrow range of features.

ILNumerics.Net (http://ILNumerics.Net)

ILNumerics.Net has been around since 2006 and has remained among the top numerical libraries since. The ILNumerics.Net tagline is a “high performance math library for programmers and scientists” and they certainly manage to achieve that goal. They advertise their high performance, typesafe numerical array classes and functions for general math, FFT and linear algebra. They aim for cross platform support with .NET/mono, 32&64 bit, and script-like syntax in C#, with 2D & 3D plot controls. They have fairly efficient memory management.

NMath (

NMath has not differentiated in any major way and has positioned itself between the consumer and commercial spaces, but its is worth a look to see if the UI fits your style. It is certainly well designed for intuitive use for many applications. There is no free license but they have student licenses available and several code samples.

IMSL Numerical Libraries (

IMSL Numerical Libraries is largely targeted at an enterprise audience of users. The C# numerics library encompasses a wide range of functions from financial, correlation related, statistics, data mining and charting. IMSL claims they have the single largest commercial library. Their clients include finance, telecommunications and the oil and gas industry. IMSL may be useful for use in predicting stockmarket behavior with its data mining capabilities, and risk management features.

Measurement Studio (

Measurement Studio (by National Instruments) is also a commercially library for acquiring, and processing signal data and displaying in beautiful charts. It provides a class library for signal processing and management as well as a broad range of general mathematical functions. Measurement Studio has carved out a niche in the signal space and FFT where it can provide signal generation, calling, relaying and other signal related functions to users working with numerical algorithms.

Suanshu (

SuanShu is written to conform to modern programming paradigms allowing for variable naming, code structuring and re-usability, as well as software engineering procedure. The list of features is long and extensive, Suanshu has put together a great product with immense possibilities for algorithmic model creators. It was originally intended as a supporting algorithmic trading library. We decided not to support Shanshu in QuantConnect for security reasons as it is based in Java. If you’d like to use this in your algorithm, let us know and we’ll organize a private cloud package.


First New Data Set! Estimize Crowd Sentiment Data!

In our aim to provide you with the best quality, institutional level data we’re now working with to bring you crowd-sourced earnings estimate data.

Each financial quarter companies publish their earnings per share (EPS) and revenue figures to investors. When a company performs worse than expected, often the share price can fall dramatically, and vice versa.

Each time there is an earning announcement the community of 13,000 users makes predictions on what the Earnings Per Share (EPS) will be, along with the Revenue for the quarter. On average they are more accurate than Wall Street analysts 69% of the time!

For the first time you can freely use historical sentiment data to design trading algorithms! With QuantConnect you can now access estimates from the crowd into your algorithms to design powerful sentiment strategies. Imagine testing how a bad earnings announcement affects the stock price!

In your Initialize() Method:

AddSentimentData(SentimentDataType.Estimize, "IBM");

And then handle the events using the OnEstimize() handler:

public override void OnEstimize(Dictionary<string, Estimize> estimates) {
//Incoming IBM Estimate
Debug("IBM EPS:" + estimates["IBM"][0].Eps+" Rev:"+estimates["IBM"][0].Revenue);

See the full documentation at

© 2017 QuantConnect Blog

Democratizing algorithmic investments Up ↑