Back

Features we'd love to see in QuantConnect

I created this thread so we can all post and comment on the features we'd like to have and use on QuantConnect.
Update Backtest








In a discussion we can create write a comment, preview it and save it as a draft.

But what about discarding a draft.
0

More languages I guess. Not sure what languages are most popular other than C#, but be great to have options. C# is great for what I do though, great move to start on C#.
-Seth
0

Hey guys! What feature do you want to see next?

"Custom Bench Mark"
- Choose which index to use as a benchmark for your strategy

"Community Templates"
- Share algorithms with the community and copy other's

"Order Plotting"
- Track trades against your asset price chart

"Multi Language Support"
- Python support among others :)
1

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


RE: Next features:

Order plotting and multi-language support (Python!) would be my first pick, followed by Custom Bench Marks.

The ability to download a simulation's results without having to load/view in the web gui would be useful as well (Either as HTML file or Excel)
1

it will be a great feature to get different info from the system like simple average ect.. basically different data that you can get in regular trading platform instead of developing it in the client..
1

Thanks Eyal, we're hoping now we've open sourced the algorithm base class people can start contributing routines like that. Its fairly easy to calculate so we can build in that over time. Check out the Cache class -- with that we can create properties, helper functions which work over the incoming data

I built an enormous desktop back-testing platform we can cannibalize for QuantConnect.
1

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


My vote goes to Order Plotting
0

Optimization is almost necessary..
1

Any means to find the optimal parameters of a given trading model really. 'Optimal' being defined by a fitness function. Also a way to visualize parameter sensitivity. I suppose you could be clever about it, with genetic algorithms and what not, instead of brute-forcing every possible parameter combination. But i am not really an expert in this.

I can run (even tick-precise) backtests over a few years of data on a local machine. But running a boat-load of optimization iterations - i would rather be using a 3rd party service such as yours, instead of building and maintaining my own numbercruncher.
1

Good feedback thanks @Andy, I agree the cloud is a great place to run optimizations. We've been discussing a few ideas here recently -- perhaps including a psuedo type?

oInt optimizedInteger = range(start=0, finish=10, step=1);

And then it would automatically run the range of values for that parameter.
0

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Or maybe just decorate it with attributes

[Optimize(start=0, finish=10, step=1)]
int i = 5; //default for simulations w/o optimizer
2

Hi Jared,
I believe an offline back tester to facilitate more debugging, and plot functionality would help most of us. Sample pseudo code below.
J.

using QuantConnect.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QuantConnect.OfflineBackTester
{
class Program
{
static void Main(string[] args)
{
BuyLastDayOfMonthSellFirstDayOfMonth algo = new BuyLastDayOfMonthSellFirstDayOfMonth();
IAlgorithm iAlgo = algo as IAlgorithm;
QCAlgorithm QCAlgo = algo as QCAlgorithm;

DataManager dm = iAlgo.DataManager;
dm.Add(security: SecurityType.Equity, symbol:"SPY", resolution: Resolution.Minute);
//dm.MarketData.Add()

//*** load data ***
//Load offline data from Yahoo/ Google / QuantConnect csv feed (with limited data?)

//*** execute algorithm ***
//for every datatick execute next:
//iAlgo.OnTradeBar(Dictionary symbols);

//*** plot results ; including own data like buy/ sell
//plot performance;

//*** plot own data added to plot functionality
//plot output of indicators used
//plot buy/ sell signals


}
}
}
2

I'm just starting out at QuantConnect - any word on the Optimization story?
0

@Andrew - I think the roadmap at the moment is:
> Live Trading - July > Universe selection-August > Python-Sept > Optimization-Oct

For now you can manually optimize as you can queue up backtest results, altering a value and rebuilding your algorithm each time. You'll get email notifications if they're more than 2 years long.
0

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


It would be nice if more "beginner" languages were options (java, python, VBA).
0

Being mucking around and found that the web based code editor really needs an EXPLICIT save button. Also needs to include some dirty checking when closing a modified file (Save changes?)
0

Any plans for options trading support? Personally I'd be very interested in testing for example OTM vertical spread selling strategies. In my experience this is currently extremely hard to backtest, but it seems like you have all the tools (except the data maybe) already developed.

It would be really really sweet if you could simulate portfolio margin limitations / margin calls, but to be honest, just being able to backtest options trading (without any broker rules) would be really really sweet.
0

Sorry for the delayed reply! We've been hacking away with the new charting and backtesting engine.

@Ryan Sa - Thank you they're on the todo list, VBA would actually be super simple for us to integrate and is still in the .NET family so we'll check it out.

@Andrew - Thank you for feedback, we added a visual notification for Ctrl+S which will manually save your file.

@GeorgesMeinders - Interesting idea, we're integrating www.Tradier.com brokerage now and they have options. We're coding the full API so it wouldn't be too hard to add in options.

We don't have any options data though. If you have options data and can upload it to DropBox or Amazon you could run an Options backtest within 20-30 minutes.

Recommend checking our new blog post for the release of LEAN backtesting engine - https://www.quantconnect.com/blog/lean-backtesting-engine-v2-released
0

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Update Backtest





0

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Loading...

This discussion is closed