A Quant's perspective on building a trading system. - Trading Journals | futures io social day trading
futures io futures trading


A Quant's perspective on building a trading system.
Updated: Views / Replies:15,751 / 74
Created: by SodyTexas Attachments:6

Welcome to futures io.

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

futures io is the largest futures trading community on the planet, with over 90,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors Ė all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you donít need to worry about fake reviews.

We are fundamentally different than most other trading sites:
  • We are here to help. Just let us know what you need.
  • We work extremely hard to keep things positive in our community.
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts.
  • We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.
  • 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.

-- Big Mike, Site Administrator

Reply
 6  
 
Thread Tools Search this Thread
 

A Quant's perspective on building a trading system.

  #61 (permalink)
Trading for Fun
New York, New York
 
Futures Experience: None
Platform: Takion
Broker/Data: GPC
Favorite Futures: Stocks
 
Limitless100's Avatar
 
Posts: 97 since May 2014
Thanks: 163 given, 55 received


artemiso View Post
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.

I have been using unmanaged code in C++.

Quoting 



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.

Thank you for the above comparisons, I also agree with the last statement regarding the developer having the final word over which language is best for them.

Quoting 

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

Absolutely.


Quoting 

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?

I don't believe I'm following this last portion above. I was under the impression C++ did have access to low level facilities? Could you @artemiso or someone else elaborate on this portion.

Quoting 


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.

I appreciate you opinion on this matter, thanks. It seems that MATLAB, in your opinion, provides additional benefit in exchange for a small expense. I believe there may even be an offer for a free download through university, which I recently discovered.

Quoting 

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.

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.



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.

I greatly appreciate your experienced insight @artemiso
I did not expect such a comprehensive and detailed answer. The information you have provided has helped to clear my mind and fortify my choices. I also agree with the last lines 100%, I have experimented with various languages already and I like C++ the most, it comes down to personal preference and what you can personally do the most with.

I apologize for bringing up an un-relevant programming topic in your thread OP! I am done now, just wanted to thank Artemiso.

Reply With Quote
The following user says Thank You to Limitless100 for this post:
 
  #62 (permalink)
 Vendor: diversifyportfolio.com 
PTA, Gauteng
 
Futures Experience: Advanced
Platform: Self built + Sierra + TWS
Favorite Futures: Stocks and Options
 
DarkPoolTrading's Avatar
 
Posts: 1,036 since May 2012
Thanks: 1,244 given, 1,304 received


fourtiwinks View Post
@artemiso,

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

Agreed, I too enjoy his posts but find the constant need to delete them curious. In any case, everyone who is subscribed to the threads gets artemiso's replies via email even if he delete's them as per his modus operandi.

Diversification is the only free lunch
Reply With Quote
The following 4 users say Thank You to DarkPoolTrading for this post:
 
  #63 (permalink)
Elite Member
Switzerland
 
Futures Experience: Advanced
Platform: Ninjatrader
Favorite Futures: Futures
 
Posts: 40 since Jun 2009
Thanks: 379 given, 29 received


Five

Reply With Quote
 
  #64 (permalink)
Market Wizard
Houston, TX
 
Futures Experience: Intermediate
Platform: NinjaTrader
Broker/Data: Optimus Futures
Favorite Futures: 6E
 
TheWizard's Avatar
 
Posts: 1,711 since Jun 2009
Thanks: 509 given, 4,072 received

SIX

After all, it's what you learn AFTER you know it all, that counts!
Reply With Quote
 
  #65 (permalink)
Elite Member
Manchester, NH
 
Futures Experience: Beginner
Platform: thinkorswim
Broker/Data: TD Ameritrade
Favorite Futures: Stocks
 
Posts: 902 since Jul 2012
Thanks: 603 given, 1,785 received


fourtiwinks View Post
@artemiso,

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


DarkPoolTrading View Post
Agreed, I too enjoy his posts but find the constant need to delete them curious. In any case, everyone who is subscribed to the threads gets artemiso's replies via email even if he delete's them as per his modus operandi.

Sorry, I didn't mean to flood the thread and someone else has already quoted my post anyway.

Reply With Quote
The following user says Thank You to artemiso for this post:
 
  #66 (permalink)
Elite Member
Manchester, NH
 
Futures Experience: Beginner
Platform: thinkorswim
Broker/Data: TD Ameritrade
Favorite Futures: Stocks
 
Posts: 902 since Jul 2012
Thanks: 603 given, 1,785 received


Limitless100 View Post
I don't believe I'm following this last portion above. I was under the impression C++ did have access to low level facilities? Could you @artemiso or someone else elaborate on this portion.

Yeah, there's a lot you actually can't do in C# .NET without interop; some of these are Windows limitations, I'm not sure if the same extends to Mono (never tried). I was saying, if you're debating between the two at all, then probably performance doesn't matter that much to you as you think.


Quoting 
I apologize for bringing up an un-relevant programming topic in your thread OP! I am done now, just wanted to thank Artemiso.

You're welcome and good luck as always.

Reply With Quote
 
  #67 (permalink)
Trading for Fun
New York, New York
 
Futures Experience: None
Platform: Takion
Broker/Data: GPC
Favorite Futures: Stocks
 
Limitless100's Avatar
 
Posts: 97 since May 2014
Thanks: 163 given, 55 received


artemiso View Post
Yeah, there's a lot you actually can't do in C# .NET without interop; some of these are Windows limitations, I'm not sure if the same extends to Mono (never tried). I was saying, if you're debating between the two at all, then probably performance doesn't matter that much to you as you think.



You're welcome and good luck as always.

Okay that is what I thought you were referencing. I have been under the impression that C++ was the more wise choice for what I desire, which is why I chose it and am sticking with it. I simply wanted an educated opinion to shed additional light on the topic, which you did, thanks again.

Reply With Quote
 
  #68 (permalink)
Elite Member
Prescott, wi
 
Futures Experience: Beginner
Platform: ninjatrader
Favorite Futures: Tf,Nq,Es
 
Posts: 5 since Dec 2013
Thanks: 6 given, 3 received

Thank you for sharing your wealth of knowledge looking forward to taking in as much as I can.

Reply With Quote
The following user says Thank You to gers569 for this post:
 
  #69 (permalink)
Elite Member
Melbourne, VIC, Australia
 
Futures Experience: Intermediate
Platform: NinjaTrader
Favorite Futures: SPI
 
Posts: 113 since Dec 2010
Thanks: 125 given, 31 received


SodyTexas View Post
Ok, lets talk about the next indicator, the SoderstromCloud. It is the Ichimoku Cloud with both the Senkou Span A and B but it add something unique to the mix.

If you do the math on the Snekou Span B it is always the 50% line in the Fibonacci retracement looking back the standard 52 periods of Ichimoku; and acts as either support or resistance. Many times you will see price peak out of this line and retrace back true it causing a false signal.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


But what I did to add cushioning by expanding the Senkou Span B to the next nearest Fibonacci line. I am not a complete believer in Fibonacci, but because many traders are I think it becomes a self-fulfilling S&R. Logically, to me if I was going to fatten the Senkou Span B line (needed for proper position sizing using Van Tharps R-multiples) the next Fibonacci retracements makes sense.

Attached is the indicator, like before I will also post it in the elite indicator section.

Cheers, Sody


@SodyTexas
I have installed your indicator and only get a cloud visible.
How do I get other components?
Cheers,
romus

When nothing goes right... go left
Reply With Quote
 
  #70 (permalink)
Spread Trader
Austin TX
 
Futures Experience: Advanced
Platform: Ninjatrader, Python, & R
Broker/Data: RJO
Favorite Futures: Futures, Spreads
 
SodyTexas's Avatar
 
Posts: 313 since Sep 2013
Thanks: 96 given, 843 received



romus View Post
@SodyTexas
I have installed your indicator and only get a cloud visible.
How do I get other components?
Cheers,
romus

The other are the Ahrens indicator

"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."
Reply With Quote

Reply



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

Thread Tools Search this Thread
Search this Thread:

Advanced Search



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

Jigsaw Trading: TBA

Elite only

FuturesTrader71: TBA

Elite only

NinjaTrader: TBA

Jan 18

RandBots: TBA

Jan 23

GFF Brokers & CME Group: Futures & Bitcoin

Elite only

Adam Grimes: TBA

Elite only

Ran Aroussi: TBA

Elite only
     

Similar Threads
Thread Thread Starter Forum Replies Last Post
Building Blocks of a Trading System (1) - Trend Filter Fat Tails Elite Automated Trading 31 December 21st, 2015 11:55 AM
Building a Semi Automatic Trading System. KomodoDragon Elite Automated Trading 3 May 4th, 2014 06:31 PM
Building a better Trading System SodyTexas Elite Trading Journals 12 January 7th, 2014 10:23 AM
Advice on building an order management system from the ground up ki1ian Elite EasyLanguage Automated Trading 1 November 7th, 2012 02:01 PM
Building a momentum-based stock rotation system imPairsonator The Elite Circle 12 October 3rd, 2012 11:07 PM


All times are GMT -4. The time now is 09:39 AM.

Copyright © 2017 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
Page generated 2017-12-14 in 0.16 seconds with 20 queries on phoenix via your IP 54.82.56.95