Learning Python vs a specific platform lang like EasyLang or Amibroker AFL? | Traders Hideout


futures.io - futures trading strategies, market news, trading charts and platforms


Traders Hideout


Discuss day trading practices and futures trading strategies on this forum for all markets. This forum is also for discussing and reviews for brokers, data feeds, and commercial or third party add-ons




 

Learning Python vs a specific platform lang like EasyLang or Amibroker AFL?

  #3 (permalink)

Jacksonville, Florida United States
 
Trading Experience: Intermediate
Platform: NT8, Fully custom
Broker/Data: NT Brokerage, Interactive Brokers
Favorite Futures: ES
 
Jasonnator's Avatar
 
Posts: 75 since Dec 2014
Thanks: 21 given, 49 received


Hello crystalball,

I'll take a stab at answering your question. Bottom line up front, if you do not have a programming background, you will not be able to replicate the fidelity of off the shelf packages like Multicharts, NinjaTrader, or AmiBroker.

I say this specifically to address one key statement you made, "intraday multi year." Intraday means that you will be needing to deal with NBBO tick level level 1 or possibly even full order book level 2 data. These can be daunting tasks even for seasoned professional programmers.

The other aspect is multi year. I'll go with the lesser extreme example and say you're only dealing with NBBO level 1 data. Even for one instrument (ES for example), you're talking in the order of 100GB+ for a years worth of tick data. Accurate historical tick data is also very expensive for the one man show retail trader. With this amount of data, you'll need a true understanding of multithreading, asynchronous programming (enjoy race conditions), atomic programming, just to name a few. I'm not even going to touch on database approaches for storing tick level data. There are multiple threads on here addressing just that issue (NoSQL vs relational) alone. While these can be achieved in python, you'll need a full blown strongly typed language like c#, Java, c++, etc for a production pipeline to make a living with it. The caveat would be if you had a longer term strategy in which you could absorb a multi hour overnight scheduled task. Intraday, maybe an extremely proficient python developer could do it but they'd be using some advanced concepts undoubtedl(cython, offloading to c++, native memory calls, etc).

I'll close with a word of caution. There is a way to do multi year backtest much faster by cutting some corners and using 1m bar data. I'll say that you'll virtually never see anyone or any company put an automated strategy into production based on 1m bar data.

I am in the throws of doing all of the above and have an extremely talented team working for me and we're a year past our initial goal deadline. This stuff is extremely complicated to get truly right.

Best of luck,

Jason

Sent using the futures.io mobile app


Last edited by Jasonnator; October 8th, 2017 at 12:42 PM. Reason: Autocorrect snafu
Reply With Quote
The following 2 users say Thank You to Jasonnator for this post: