A Quant's perspective on building a trading system. - futures io
futures io futures trading



A Quant's perspective on building a trading system.


Discussion in Trading Journals

Updated September 26th 2014 by tabrun
      Top Posters
    1. looks_one SodyTexas with 31 posts (184 thanks)
    2. looks_two Limitless100 with 6 posts (2 thanks)
    3. looks_3 artemiso with 4 posts (3 thanks)
    4. looks_4 RickW00716 with 4 posts (1 thanks)
      Best Posters
    1. looks_one SodyTexas with 5.9 thanks per post
    2. looks_two fourtiwinks with 5.0 thanks per post
    3. looks_3 DarkPoolTrading with 4.0 thanks per post
    4. looks_4 liquidcci with 3.0 thanks per post
    1. trending_up 18,784 views
    2. thumb_up 226 thanks given
    3. group 89 followers
    1. forum 74 replies
    2. attach_file 5 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 100,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
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.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

 
Search this Thread
 

A Quant's perspective on building a trading system.

(login for full post details)
  #51 (permalink)
Austin TX
 
Experience: Advanced
Platform: Ninjatrader, Python, & R
Broker: RJO
Trading: Futures, Spreads
 
SodyTexas's Avatar
 
Posts: 328 since Sep 2013
Thanks: 100 given, 893 received

Update

Thought I would give a quick update, and you all know that the trade system is coming along great. I should have it complete by Monday (give or take a day).

"The great Traders have always been humbled by the market early on in their careers creating a deep respect for the market. Until one has this respect indelibly engraved in their makeup, the concept of money management and discipline will never be treated seriously."
Visit my Facebook Visit my futures io Trade Journal Reply With Quote
The following 7 users say Thank You to SodyTexas for this post:

Can you help answer these questions
from other members on futures io?
Convert NinjaTrader NT7 indicator to Tradestation EasyLanguage and RADARSCREEN
Platforms and Indicators
Issue meeting order entry conditions
Elite Automated NinjaTrader Trading
Last 5 minutes Label
ThinkOrSwim
Moving average with Lag reduction
NinjaTrader
Linux?
ThinkOrSwim
 
 
(login for full post details)
  #52 (permalink)
Richmond Virginia
 
Experience: Intermediate
Platform: Ninja Trader
Trading: ES
 
Posts: 310 since Feb 2013
Thanks: 289 given, 150 received


SodyTexas View Post
Thought I would give a quick update, and you all know that the trade system is coming along great. I should have it complete by Monday (give or take a day).

very interested to see what you've come up with

Reply With Quote
 
(login for full post details)
  #53 (permalink)
Austin TX
 
Experience: Advanced
Platform: Ninjatrader, Python, & R
Broker: RJO
Trading: Futures, Spreads
 
SodyTexas's Avatar
 
Posts: 328 since Sep 2013
Thanks: 100 given, 893 received



RickW00716 View Post
very interested to see what you've come up with

Hopefully its not to hard to follow.. But if I post a system with my name associated to it I'm going to make sure it is good.

It will be worth the wait.

Cheers,

Sody

"The great Traders have always been humbled by the market early on in their careers creating a deep respect for the market. Until one has this respect indelibly engraved in their makeup, the concept of money management and discipline will never be treated seriously."
Visit my Facebook Visit my futures io Trade Journal Reply With Quote
The following 5 users say Thank You to SodyTexas for this post:
 
(login for full post details)
  #54 (permalink)
Site Administrator
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 48,784 since Jun 2009
Thanks: 31,500 given, 94,182 received


SodyTexas View Post
The XPS of Ahrens did not upload, so let me attach the PDF of the OCT 2013 S&C.

It is not clear to me -- Is this publication freely available by the source? If it is not freely available, it needs to be removed immediately from futures.io (formerly BMT) as we don't allow copyrighted works (pirated material). Please reply ASAP.

Mike

We're here to help -- just ask

For the best trading education, watch our webinars
Searching for trading reviews? Review this list

Follow us on Twitter, YouTube, and Facebook

Support our community as an Elite Member:
https://futures.io/elite/
Follow me on Twitter Visit my Facebook Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #55 (permalink)
Austin TX
 
Experience: Advanced
Platform: Ninjatrader, Python, & R
Broker: RJO
Trading: Futures, Spreads
 
SodyTexas's Avatar
 
Posts: 328 since Sep 2013
Thanks: 100 given, 893 received


Big Mike View Post
It is not clear to me -- Is this publication freely available by the source? If it is not freely available, it needs to be removed immediately from futures.io (formerly BMT) as we don't allow copyrighted works (pirated material). Please reply ASAP.

Mike

Am not sure or not if it available freely or not. Please remove immediately. I have a subscription to S&C and I know they have some articles freely available. But I am not sure if this is one of them.

I will do more research and make sure it is before reposting.

Thanks Mike

"The great Traders have always been humbled by the market early on in their careers creating a deep respect for the market. Until one has this respect indelibly engraved in their makeup, the concept of money management and discipline will never be treated seriously."
Visit my Facebook Visit my futures io Trade Journal Reply With Quote
The following 2 users say Thank You to SodyTexas for this post:
 
(login for full post details)
  #56 (permalink)
Richmond Virginia
 
Experience: Intermediate
Platform: Ninja Trader
Trading: ES
 
Posts: 310 since Feb 2013
Thanks: 289 given, 150 received


SodyTexas View Post
Hopefully its not to hard to follow.. But if I post a system with my name associated to it I'm going to make sure it is good.

It will be worth the wait.

Cheers,

Sody

will your system be for intraday trading or will it be something that can be used on all timeframes?

Reply With Quote
 
(login for full post details)
  #57 (permalink)
Austin TX
 
Experience: Advanced
Platform: Ninjatrader, Python, & R
Broker: RJO
Trading: Futures, Spreads
 
SodyTexas's Avatar
 
Posts: 328 since Sep 2013
Thanks: 100 given, 893 received


artemiso View Post
@Limitless100

I guess you meant this?

Firstly, it sounds to me that you're using managed C++, which loses important benefits of the language without gaining anything. To be fair, my opinion is not so useful. I'm generally agnostic to the programming language. I have memory-hungry applications that would cost more in server power/computation time than developer salaries, so C# is not my weapon of choice. At the same time, I have many more lines of Fortran in production mode than C++, so I'm not the best person to defend C++ either.

Hand-holding: C# .NET does a fair job of trying to hand-hold mediocre developers, e.g. it doesn't support multiple inheritance through classes; point-and-click UI builder in VS for writing industrial strength GUIs; I would also rather C++ has an immutable string library and think C# has the better default here. Microsoft steals good ideas every now and then (parametric polymorphism in 2.0, lambda expressions in 3.0), and I like the language direction. But I think choosing C# .NET over C++ because of anxieties over memory management is an uninformed decision.

It's a commonly-perpetuated myth that memory management is difficult in C++, and that you hardly need to worry about that in C# .NET/C++. I don't think that's the case - I don't want to get into this fight because everyone has written pages of arguments about this, but I can say that in the C# .NET programs that I've written for financial applications, I spent a lot more time making sure every object either lived forever or died immediately before it got promoted to generation 1/2. If you don't understand the purpose of this though, I'd honestly think you're better served with Java/C# .NET for now.

The practice of writing good code in C++ is mostly similar to that in C#. Prefer static dispatch over dynamic dispatch (C# .NET 4.0), maintain modular abstractions etc., so at the end of the day, the onus is still on the developer and has nothing to do with the technical merits of either language.

Concurrency: I don't know what others think but if you're going to make a living with this, you're going to have multiple cores on multiple machines. A reasonable way to parallelize your workload across multiple machines is to fork multiple processes and have them communicate via message passing. As far as I know, there's high-performance messaging middleware with efficient C++ interfaces, but not so much .NET interfaces. (I would probably recommend Solace if you were working with .NET.)

Containers: C++'s STL containers are powerful and useful for what you're trying to do and have no practical equivalents in C#. An interview question I would give to a potential developer is to name/think of an application of a standard C++ container in a financial setting - if you don't know the answer, chances are that you're better off with C# .NET/Java.

Libraries and third party integration: There isn't even a serious numerical library or market access API with C# bindings (Lime/WEX, maybe). You could pay for Extreme Optimization's MKL wrappers, I suppose.

Low-level facilities: You should make up your mind - you probably picked C++ initially because of what you've heard about its performance (I think this is misguided), but you're going to have a hard time doing any meaningful performance measurement in C# without access to low-level facilities - so perhaps performance isn't really a concern for you after all?

MATLAB/R: My most serious problem with using array-oriented languages such as MATLAB/R/numPy is that it accustoms you to manipulate and analyze data in a very rigid, flat and uniform manner - it's a round hole and your market data is like a square peg that doesn't fit in it very well. For example, there's no clean way of processing sub-tuples containing both strings and integers in an array-oriented language. I personally like MATLAB over R/numPy because of its cleaner documentation and the proprietary package distribution model. Think of it as an iPhone. There are many good apps for the iPhone because it's a single spec with tightly-controlled, proprietary distribution; Android apps have to deal with different technical specs, screen sizes etc. Performance-wise, MATLAB's parallel processing model is also more convenient than R/numPy, and similarly, most CPU-bound operations are highly-optimized Fortran/C routines anyway.

Basically, I did have a happier experience developing in Fortran and C++ than C#; Fortran and C++ have been more productive and have offered better development tools. To give you an idea, my best times-to-market were about 2 days in Fortran, C++ and Python vs 2 weeks in C#. Your mileage may vary.

Wow Fortran over C#.. How dare you sir.. And to insult numPy as well; let's leave Python out of it. The fact is simple. Fortran and C++ is still relevant to UHFT because of the speed. This journal thankfully is not about HFT and not all quant trading is HFT.

Unless we are here to compare how many Cuda's we have stacked for our parallel processes I'm going to try and move past this code talk.

I apologize if joking about C++ offended you. C# in this case is a necessity to ninjatrader, personally, my trading stack outside of Ninja and beyond the scope of this journal is Python.



Cheers,

Sody

"The great Traders have always been humbled by the market early on in their careers creating a deep respect for the market. Until one has this respect indelibly engraved in their makeup, the concept of money management and discipline will never be treated seriously."
Visit my Facebook Visit my futures io Trade Journal Reply With Quote
The following 4 users say Thank You to SodyTexas for this post:
 
(login for full post details)
  #58 (permalink)
New York, NY
 
Experience: Beginner
Platform: Vanguard 401k
Broker: Yahoo Finance
Trading: Mutual funds
 
Posts: 1,058 since Jul 2012
Thanks: 731 given, 2,198 received


SodyTexas View Post
Wow Fortran over C#.. How dare you sir.. And to insult numPy as well; let's leave Python out of it. The fact is simple. Fortran and C++ is still relevant to UHFT because of the speed. This journal thankfully is not about HFT and not all quant trading is HFT.

Just to emphasize: I prefer these languages over C# because of their ease of development and availability of tools, and I didn't mention that speed was a deciding factor.


SodyTexas View Post
I apologize if joking about C++ offended you. C# in this case is a necessity to ninjatrader, personally, my trading stack outside of Ninja and beyond the scope of this journal is Python.

Oh no, no offense taken at all. @Limitless100 just wanted to hear my thoughts on C++, MATLAB, R and C# in reference to what you had mentioned.

Python is my go-to language for almost anything that takes less than 40 lines to express. But to wrap up on my point to @Limitless100 that I prefer to be language-agnostic, take this for example: How would I write a Python script that recursively checks if Quantopian's Zipline is a poorly-written library only designed for single-core processing at the application level? I can do this very quickly in Perl, but not Python:

 
Code
#!/bin/sh
grep -r multiprocessing zipline/ | perl -e 'while(<>){}; print $.,"\n";'

Every language has its elegant side, I'd learn many and choose whatever makes you feel comfortable and productive.

Anyway, I agree that we should move past a debate about programming languages.

Reply With Quote
The following 2 users say Thank You to artemiso for this post:
 
(login for full post details)
  #59 (permalink)
Singapore
 
Experience: Beginner
 
Posts: 206 since Jun 2011
Thanks: 469 given, 201 received

@artemiso,

You have always made excellent and informative posts, but sad to see that you usually delete them.. sigh..

Reply With Quote
The following 5 users say Thank You to fourtiwinks for this post:
 
(login for full post details)
  #60 (permalink)
Austin TX
 
Experience: Advanced
Platform: Ninjatrader, Python, & R
Broker: RJO
Trading: Futures, Spreads
 
SodyTexas's Avatar
 
Posts: 328 since Sep 2013
Thanks: 100 given, 893 received



artemiso View Post
Just to emphasize: I prefer these languages over C# because of their ease of development and availability of tools, and I didn't mention that speed was a deciding factor.

Just added my two cents, that I see value in C++ and Fortran when it comes to speed. But (at least for me) I find C# easier to code in than C++ (Fortran I have very little experience) . Completely, agree that the language depends on the project your working on.

Thanks for your input to my journal!

Sody

"The great Traders have always been humbled by the market early on in their careers creating a deep respect for the market. Until one has this respect indelibly engraved in their makeup, the concept of money management and discipline will never be treated seriously."
Visit my Facebook Visit my futures io Trade Journal Reply With Quote
The following user says Thank You to SodyTexas for this post:


futures io Trading Community Trading Journals > A Quant's perspective on building a trading system.


September 26, 2014


Upcoming Webinars and Events
 

Free BloodHound Licenses for everyone!

June
 

Every journal equals ten meals for the hungry

June
     



Copyright © 2020 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
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.
no new posts