NexusFi: Find Your Edge


Home Menu

 





Geting Started with Backtesting Software / Languages


Discussion in Platforms and Indicators

Updated
      Top Posters
    1. looks_one waverider with 5 posts (1 thanks)
    2. looks_two Fu510n with 2 posts (3 thanks)
    3. looks_3 prouser with 2 posts (1 thanks)
    4. looks_4 Quick Summary with 1 posts (0 thanks)
      Best Posters
    1. looks_one rleplae with 3 thanks per post
    2. looks_two Fu510n with 1.5 thanks per post
    3. looks_3 grausch with 1 thanks per post
    4. looks_4 waverider with 0.2 thanks per post
    1. trending_up 5,630 views
    2. thumb_up 9 thanks given
    3. group 13 followers
    1. forum 13 posts
    2. attach_file 0 attachments




 
Search this Thread

Geting Started with Backtesting Software / Languages

  #1 (permalink)
 waverider 
Brisbane Australia
 
Experience: Advanced
Platform: Ninja; Amibroker; TWS
Broker: Kinetick, IB
Trading: Stocks, Futures
Posts: 46 since Dec 2009
Thanks Given: 28
Thanks Received: 6

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

Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
Better Renko Gaps
The Elite Circle
ZombieSqueeze
Platforms and Indicators
How to apply profiles
Traders Hideout
MC PL editor upgrade
MultiCharts
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Just another trading journal: PA, Wyckoff & Trends
36 thanks
Tao te Trade: way of the WLD
24 thanks
Spoo-nalysis ES e-mini futures S&P 500
21 thanks
Bigger Wins or Fewer Losses?
19 thanks
GFIs1 1 DAX trade per day journal
16 thanks
  #3 (permalink)
 
rleplae's Avatar
 rleplae 
Gits (Hooglede) Belgium
Legendary Market Wizard
 
Experience: Master
Platform: NinjaTrader, Proprietary,
Broker: Ninjabrokerage/IQfeed + Synthetic datafeed
Trading: 6A, 6B, 6C, 6E, 6J, 6S, ES, NQ, YM, AEX, CL, NG, ZB, ZN, ZC, ZS, GC
Posts: 3,003 since Sep 2013
Thanks Given: 2,442
Thanks Received: 5,863


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 ;-)

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #4 (permalink)
 
Fu510n's Avatar
 Fu510n 
Suffield, CT
 
Experience: Advanced
Platform: MC, TS, Python, Rust
Broker: IB, IQFeed, TS, Kraken
Trading: ES, NQ, RTY, YM, CL, RB, 6E
Frequency: Several times daily
Duration: Seconds
Posts: 144 since Oct 2009
Thanks Given: 902
Thanks Received: 143

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

Follow me on Twitter Reply With Quote
Thanked by:
  #5 (permalink)
 waverider 
Brisbane Australia
 
Experience: Advanced
Platform: Ninja; Amibroker; TWS
Broker: Kinetick, IB
Trading: Stocks, Futures
Posts: 46 since Dec 2009
Thanks Given: 28
Thanks Received: 6


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.

Started this thread Reply With Quote
  #6 (permalink)
 grausch 
Luxembourg, Luxembourg
 
Experience: Advanced
Platform: TWS
Broker: Interactive Brokers
Trading: Stocks
Posts: 494 since May 2012
Thanks Given: 1,731
Thanks Received: 1,159

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
Thanked by:
  #7 (permalink)
 waverider 
Brisbane Australia
 
Experience: Advanced
Platform: Ninja; Amibroker; TWS
Broker: Kinetick, IB
Trading: Stocks, Futures
Posts: 46 since Dec 2009
Thanks Given: 28
Thanks Received: 6


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 : )

Started this thread Reply With Quote
Thanked by:
  #8 (permalink)
 prouser 
Zurich/Switzerland
 
Posts: 79 since Oct 2014


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
  #9 (permalink)
 
Nicolas11's Avatar
 Nicolas11 
near Paris, France
 
Experience: Beginner
Platform: -
Trading: -
Posts: 1,071 since Aug 2011
Thanks Given: 2,232
Thanks Received: 1,769

Hi,

R is also a solution for backtesting on a portfolio.

Nicolas

Visit my NexusFi Trade Journal Reply With Quote
  #10 (permalink)
 waverider 
Brisbane Australia
 
Experience: Advanced
Platform: Ninja; Amibroker; TWS
Broker: Kinetick, IB
Trading: Stocks, Futures
Posts: 46 since Dec 2009
Thanks Given: 28
Thanks Received: 6


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

Started this thread Reply With Quote




Last Updated on November 21, 2017


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts