Geting Started with Backtesting Software / Languages - Platforms and Indicators | futures.io
futures io futures trading


Geting Started with Backtesting Software / Languages
Started: by waverider Views / Replies:857 / 12
Last Reply: Attachments:0

Welcome to futures io.

Welcome, Guest!

This forum was established to help traders (especially futures traders) by openly sharing indicators, strategies, methods, trading journals and discussing the psychology of trading.

We are fundamentally different than most other trading forums:
  • We work extremely hard to keep things positive on our forums.
  • We do not tolerate rude behavior, trolling, or vendor advertising in posts.
  • We firmly believe in openness and encourage sharing. The holy grail is within you, it is not something tangible you can download.
  • We expect our members to participate and become a part of the community. Help yourself by helping others.


You'll need to register in order to view the content of the threads and start contributing to our community. It's free and simple, and we will never resell your private information.

-- Big Mike

Reply
 
Thread Tools Search this Thread
 

Geting Started with Backtesting Software / Languages

  #1 (permalink)
waverider
Sydney
 
Futures Experience: Advanced
Platform: NinjaTrader; TWS
Broker/Data: Kinetick, IB
Favorite Futures: US Stocks, FX, Futures
 
Posts: 45 since Dec 2009
Thanks: 28 given, 5 received

Geting Started with Backtesting Software / Languages

Hi All,

It's time for me to get into backtesting / automated trading and generate some quantitative ideas.

I am fairly technical and have decided I'm happy to learn to code (I'm not a total stranger, e.g. can write SQL, VBA, etc) but:

- I'd like to learn a language that will pay some real benefits down the track, e.g. C# or Python
- Having said that, people might suggest it's still better to start with, for e.g. Amibroker and their language to "make a start" and "generate some momentum" before freaking myself out with a real language!? I'm open to that

Where should I start ??

- Mostly EOD strategies for STOCKS and I need PORTFOLIO TESTING capability
- I want to develop skills in a language / software package that is going to be around for 10 years - as much as possible, I'd like to make an informed decision from the start and not have to learn something new in a few years (?)

So far I've seen: Amibroker; Multicharts; NinjaTrader; TradingBlox; TradeStation; TradersStudio; TradingBlox; and what appear to be the new generation (?) Quantopian and Quantconnect ...

I like the idea of getting into Quantopian and learning Python, but maybe I'm trying to bite off too much to start with?

Would it be wiser to start with Amibroker and build the basics, then move over there?

Any advice on how to make the decision on which way to go? I'm fearful of the potential time-wasting here if I get this wrong. I've only been on this for a few days, but liking the idea of Quantopian or otherwise Amibroker to start with, and take it from there ...

Thanks for any advice !!

Reply With Quote
 
  #2 (permalink)
Quick Summary
Quick Summary Post

Quick Summary is created and edited by users like you... Add FAQ's, Links and other Relevant Information by clicking the edit button in the lower right hand corner of this message.

 
  #3 (permalink)
Elite Member
Omer עומר / Israel י
 
Futures Experience: Master
Platform: NinjaTrader, Proprietary,
Broker/Data: Ninjabrokerage/IQfeed + Synthetic datafeed
Favorite Futures: 6A, 6B, 6C, 6E, 6J, 6S, ES, NQ, YM, AEX, CL, NG, ZB, ZN, ZC, ZS, GC
 
rleplae's Avatar
 
Posts: 1,831 since Sep 2013
Thanks: 1,310 given, 2,755 received
Forum Reputation: Legendary


There are several aspects to the question.

In my opinion
  1. there are number of tools, data sources, and languages and packages that allow you to 'model' and test an idea.
  2. there are a number of tools/platforms and languages you can use to implement a proven idea.
I think it is difficult to find a 'catch' all.

While python allows you to do RAD and validate and test idea's. C++ will allow you to code production grade high performance modules. I know some people will not agree, but that is my idea. If you don't know C++ then C# might give you results with lower entry (c# will protect you against yourself, C++ will not), you can compare it with ABS/ESP on your sportscar ;-)

Reply With Quote
The following 3 users say Thank You to rleplae for this post:
 
  #4 (permalink)
Elite Member
Cary, NC
 
Futures Experience: Advanced
Platform: MC, NT, Python, R
Broker/Data: FXCM, IB, Oanda, IQFeed
Favorite Futures: 6E, CL, EUR/USD
 
Fu510n's Avatar
 
Posts: 94 since Oct 2009
Thanks: 720 given, 77 received

Amount of code vs. # strategies tested

For me, it boiled down to how much time you want to invest in slinging code vs. implementing strategies to test. I dabbled for a year or so a long time ago with Metatrader/MQL4 (since it's syntax was very "C-like"), but ran up against platform limitations that pushed me towards NinjaTrader and MultiCharts. While I liked NT initially, I was able to develop & test a lot more strategies MUCH more quickly with MultiCharts (in EasyLanguage) than with C#, so ended up going the MC route for the past 4-5 years.

With a few hundred strategies under my belt (pretty much tested "everything" ), one gets to the point where they realize that nothing works "all the time", but a FEW work "most of the time" (until they don't) and it becomes critical to deploy a decent set of money management (and strategy selection) rules along with your buy/sell/pattern matching logic.

I'm now at a point though where backtesting with MultiCharts takes too long so I'm building out my own platform with R & Python that takes better advantage of multiple core processor/servers. If you're in it for the long haul, you'll most likely end up bumping up against similar limitations with most retail packages at some point and will end up rolling your own since backtesting optimization (e.g. using cached "bars" and per-bar calculations vs. generating each time) can save a boatload of testing time.

My .02,
-Guy

Reply With Quote
The following 2 users say Thank You to Fu510n for this post:
 
  #5 (permalink)
waverider
Sydney
 
Futures Experience: Advanced
Platform: NinjaTrader; TWS
Broker/Data: Kinetick, IB
Favorite Futures: US Stocks, FX, Futures
 
Posts: 45 since Dec 2009
Thanks: 28 given, 5 received

Futures Edge on FIO

Fu510n View Post
For me, it boiled down to how much time you want to invest in slinging code vs. implementing strategies to test. I dabbled for a year or so a long time ago with Metatrader/MQL4 (since it's syntax was very "C-like"), but ran up against platform limitations that pushed me towards NinjaTrader and MultiCharts. While I liked NT initially, I was able to develop & test a lot more strategies MUCH more quickly with MultiCharts (in EasyLanguage) than with C#, so ended up going the MC route for the past 4-5 years.

With a few hundred strategies under my belt (pretty much tested "everything" ), one gets to the point where they realize that nothing works "all the time", but a FEW work "most of the time" (until they don't) and it becomes critical to deploy a decent set of money management (and strategy selection) rules along with your buy/sell/pattern matching logic.

I'm now at a point though where backtesting with MultiCharts takes too long so I'm building out my own platform with R & Python that takes better advantage of multiple core processor/servers. If you're in it for the long haul, you'll most likely end up bumping up against similar limitations with most retail packages at some point and will end up rolling your own since backtesting optimization (e.g. using cached "bars" and per-bar calculations vs. generating each time) can save a boatload of testing time.

My .02,
-Guy

Thanks Guy, that's awesome. I'm comparing RightEdge and MultiCharts.NET at the moment. Or possibly even start with MultiCharts (easy language) and upgrade into the .NET C# environment later... Although my thinking was to not waste time with a custom language and just get to work (slowly is fine) with a real language that will serve me better in the long run. Hence C# or Python. Apart from Quantopian, I'm not sure who else uses Python, so that has me comparing MultiCharts.NET and RightEdge at the moment (C#).

I'm considering 'fast-tracking' my progress by employing help in the coding at the early stages too ... Let me know if you know of anyone? It's going to be a long-term decision to slowly try and get more automated in my trading, so I have realistic expectations and just want to make an informed decision from the outset so that I have a platform that will see me through for a number of years - while also teaching me to code.

Reply With Quote
 
  #6 (permalink)
Elite Member
Luxembourg, Luxembourg
 
Futures Experience: Advanced
Platform: TWS
Broker/Data: Interactive Brokers
Favorite Futures: Stocks
 
Posts: 482 since May 2012
Thanks: 1,599 given, 1,076 received

I have used the trial version of TradingBlox in the past to test variations of the Turtle strategy on futures. When I tested it, it was one of the few (if not the only) backtesting suites that did portfolio-level backtesting and I believe it was also the first suite to fully use multi-threading. I have not used a lot of other backtesting engines, but TradingBlox backtested the Turtle System (10 years of data) on an old P4 2.4Ghz pc instantaneously. I never needed to learn the coding language, but most people find it pretty easy.

The biggest con with TradingBlox at the time was that it could not implement any autotrading strategies. Orders were exported into a file at the end of the day, and that file could then be submitted to brokers, but this was not really what i was looking for. However, if you just base your trades off EOD data, then this could work for you.

Reply With Quote
The following user says Thank You to grausch for this post:
 
  #7 (permalink)
waverider
Sydney
 
Futures Experience: Advanced
Platform: NinjaTrader; TWS
Broker/Data: Kinetick, IB
Favorite Futures: US Stocks, FX, Futures
 
Posts: 45 since Dec 2009
Thanks: 28 given, 5 received


grausch View Post
I have used the trial version of TradingBlox in the past to test variations of the Turtle strategy on futures. When I tested it, it was one of the few (if not the only) backtesting suites that did portfolio-level backtesting and I believe it was also the first suite to fully use multi-threading. I have not used a lot of other backtesting engines, but TradingBlox backtested the Turtle System (10 years of data) on an old P4 2.4Ghz pc instantaneously. I never needed to learn the coding language, but most people find it pretty easy.

The biggest con with TradingBlox at the time was that it could not implement any autotrading strategies. Orders were exported into a file at the end of the day, and that file could then be submitted to brokers, but this was not really what i was looking for. However, if you just base your trades off EOD data, then this could work for you.

Thanks Grausch,

I hear that Amibroker is also very fast. I think the top packages out there are the moment include: TradingBlox, TradersStudio; Quantopian and Quantconnect for web-based tools with free data; Genovest; OpenQuant; Quantshare; Trade Station; etc ... BUT, I would REALLY like to learn C# or Python (for other reasons) so if I can get a package that uses that - even better.

RightEdge and Multicharts.NET are what I'm looking at presently ... Not that I have time or the expertise to literally test-drive them all ... Hence these posts : )


Last edited by waverider; August 9th, 2016 at 04:57 AM.
Reply With Quote
The following user says Thank You to waverider for this post:
 
  #8 (permalink)
Membership Temporarily Revoked
Zurich/Switzerland
 
Futures Experience: Advanced
Platform: -
Favorite Futures: -
 
Posts: 79 since Oct 2014
Thanks: 0 given, 33 received


Quoting 
Having said that, people might suggest it's still better to start with, for e.g. Amibroker and their language to "make a start" and "generate some momentum" before freaking myself out with a real language!?

In Amibroker you can use general purpose languages such as C/C++, .Net, .. too.
As for AFL here AFL (and C) | Unofficial AmiBroker Users Forum (3rd party) are some collected quotes by Tomasz Janeczko. AmiBroker is not a "starter" software, it is a fully fledged professional software. It has more capabilities than other softwares (being more expensive).

Reply With Quote
The following user says Thank You to prouser for this post:
 
  #9 (permalink)
Elite Member
near Paris, France
 
Futures Experience: Beginner
Platform: -
Favorite Futures: -
 
Nicolas11's Avatar
 
Posts: 1,070 since Aug 2011
Thanks: 2,232 given, 1,727 received

Hi,

R is also a solution for backtesting on a portfolio.

Nicolas

Reply With Quote
 
  #10 (permalink)
waverider
Sydney
 
Futures Experience: Advanced
Platform: NinjaTrader; TWS
Broker/Data: Kinetick, IB
Favorite Futures: US Stocks, FX, Futures
 
Posts: 45 since Dec 2009
Thanks: 28 given, 5 received

MultiCharts for Stock Scanning


Can anyone comment on using MultiCharts for Stock Scanning?

I'd like to replace my current scanning software (Beyond Charts) with software that does Scanning AND Back-Testing.

For scanning I'd like to:

- Have easily configured watchlists (ideally, the data provider (like Premium.net) provides nice lists with their data - like 'S&P500'; 'S&P1500', and so on. I can also then customise / merge / amend these to create a distinct watchlist of stocks that I will scan every day.

- EOD data only. My current software automatically downloads all EOD data whenever available, so when I wake up in the morning, turn the computer on, the downloads complete, then I just have to hit "scan". Don't suppose MC is this effective?

- Because data is already downloaded, scans are very quick.

Can I do all this with MC? What about other platforms? Can MultiCharts.NET be used to build customised modules to do these things?

Thanks for any insights,

wave

Reply With Quote

Reply



futures io > > > Geting Started with Backtesting Software / Languages

Thread Tools Search this Thread
Search this Thread:

Advanced Search



Upcoming Webinars and Events (4:30PM ET unless noted)
 

Spring Grains Outlook w/Sean Lusk @ Walsh Trading

Elite only

FIO Video Journal Challenge featuring NinjaTrader ($2,000+ of prizes)

April

Process above all else w/Anthony Crudele @ Futures Radio Show

Elite only

Machine Learning - Quantitative Trading w/Martin Froehler @ Quantiacs

Elite only

Market Dynamics w/Peter Davies @ Jigsaw Trading

Elite only

Ask Me Anything w/Patrick Rooney @ Trading Technologies

Apr 18

Ask Me Anything w/FuturesTrader71

Apr 19

Machine Learning w/Kris Longmore

Elite only

Market Analysis w/Dave Forss

Apr 25

Introducing iSystems with Stage 5 Trading

Apr 27
     

Similar Threads
Thread Thread Starter Forum Replies Last Post
Options Backtesting Software? Chubbly Options on Futures 9 January 8th, 2017 10:53 AM
Pattern backtesting software buylosellhi Traders Hideout 4 May 31st, 2016 09:21 AM
How many languages are you fluent in? Big Mike Off-Topic 43 September 15th, 2013 05:48 AM
Can I integrate ThinkScript with other languages? Yakito ThinkOrSwim Programming 2 July 3rd, 2013 09:12 PM
All other non-English languages subforum Big Mike All Other non-English Languages 0 July 1st, 2012 10:25 PM


All times are GMT -4. The time now is 06:31 PM.

no new posts
Page generated 2017-03-27 in 0.15 seconds with 19 queries on phoenix via your IP 54.166.24.181