Launched High Frequency Automated Trading Blackbox

It is so funny. I hear that the reason that we have the selloff is that we now don't have a downtick rule :p

Then I hear that it is the black boxes that are selling and we have lots of volatility :p

Then I hear...

Too friggin funny.

nitro :D
 
Quote from andread:

This is a pretty bold statement. And, 6 years after the introduction of C#, still pretty wrong

Soo... where we going with this? C++ on Linux is a good way to go? I want a bare bones trading machine, just gets data and works a FIX or the IB API. All the stuff exists for backtesting and charts, etc., already and that can all run on windows as far as I am concerned but my thinking regarding security is that Linux is better...
 
Quote from maxpi:

Soo... where we going with this? C++ on Linux is a good way to go? I want a bare bones trading machine, just gets data and works a FIX or the IB API. All the stuff exists for backtesting and charts, etc., already and that can all run on windows as far as I am concerned but my thinking regarding security is that Linux is better...
That's believed by many people, yes.
I'm not a security expert, but if you use a good antivirus, a good (possibly external) firewall, a few good rules (use your computer with a non administrator account, block as many ports as you can, don't open the attachments, don't install applications you don't know, etc), I think you'll be fine with Windows (I can't believe I can be that honest sometimes). If you want to do more complex stuff, like a web server, you should consider linux.
Concerning the language, that depends on your needs. If you need speed I would go with C++. If you don't need it then look at what is better for you. For example, look at the languages supported by the tools you use.
C# is an excellent language. If you want to use it, by all means go ahead. You lose some portability, but it doesn't seem to be a problem for you.
Opinions about languages are very different, but I would just think twice before considering other languages besides C++,C# and Java.
 
Quote from maxpi:

Soo... where we going with this? C++ on Linux is a good way to go? I want a bare bones trading machine, just gets data and works a FIX or the IB API. All the stuff exists for backtesting and charts, etc., already and that can all run on windows as far as I am concerned but my thinking regarding security is that Linux is better...

Security ?¿!! :cool:

Good reason to go with linux.

If you get lucky and you are good coder which i doubt you will spend the next 5 years patch working 10 differrent components and then wake up one day and realise you not only didnt get any further in your trading skills, you wasted 5 years of your youth on something you can get right now for a monthly fee. But hey, you can always say it was a "good experince".
 
Quote from nitro:

If you ever get to the stage where your programs and systems become truly object oriented, and at the same time require the utmost in performance without going to bare metal C, you are going to find that you wasted lots of time with Java.

Java support for Generics is poor at best. Using the power of Generics, hard core milti-threading knowledge, and understanding Patters and how they are used, are probably what seperates a beginning programmer from a programmer that has designed lots of realtime trading systems and knows how important each is. C#'s support for generics is superior to java, and the C# language will continue to move to bring more and more powerful features that you will not want to touch in other languages.

I implemented a very object oriented Core Framework in C# for building strategies, one in particular. I got an idea for another strategy, where the strategy has many complex legs to it. The framework I built ate it up and I was up in two weeks with the new model. If I had not written the framework with Generic components, correct multi-threading, and correct Patterns, it would never have been able to deal with the complexity. Most core framework trading systems are built to do one thing well, but are not flexible enough to deal with new strategies. Being able to have a flexible system that can handle new strategies is huge. It can mean tons of money because you get to trade first.

C# is going to rule the world. IMO it is imperative that C# is wrestled away from MSFT so that you don't have to use windows to use C#. Alternatively, MSFT development tools supports Linux. Miguel De Icasa (originator of Mono project) has proven this can be done. It is that important for Computer Science.

nitro

With C# your pretty much locked into Windows, Sorry Nitro but most trading systems today are developed in Java and C++ running on UNIX systems mostly Linux on and X64.

I know your a pretty smart guy but this is the craziest thing I've read from you on ET.

:)
 
Quote from maxpi:

Soo... where we going with this? C++ on Linux is a good way to go? I want a bare bones trading machine, just gets data and works a FIX or the IB API. All the stuff exists for backtesting and charts, etc., already and that can all run on windows as far as I am concerned but my thinking regarding security is that Linux is better...

With the GNU C/C++ compiler and the opensource FIX engine - Quickfixengine you can be up and running with little or no time iwth minimal cost.
 
Quote from 2cents:

am not planning to discuss any perf parameters here on ET, don't take it personal... but the sharpe, sortino etc need to be good enough for institutionals since thats my target market...
i respect your point. the whole thread is quite interesting
for me, since we are trading completely mechanical, but
from 5min data as the lowest in granularity. i thought
that below that we need to invest about one man-year
in pure IT. connectivity. data. robustness. all the things
you are talking about here. i still think that we have
additional sharpe in nearer reach ...

we are testing on everything at hand, from tradesignal
to excel sheets and R. but when it comes to trading we
run C++ on a mac (unix based for couple of years now).
the problem with language is that it becomes
more and more expensive (in terms of time) to move.
so that decision is pretty important for ... everything
else. on 5min data we naturally don't suffer any performance
problem. this is not a millisecond game. if we move to
below 5min i think we would attempt to go level II
immediately. but that is quite an animal ... and i KNOW
there will be issues i cannot even imagine now.
 
I see others have diversified away from windows. I'm still debating what is most secure. I can have income from manual trading while I'm working all this stuff out, no pressure on me at all. Security questions are making me crazy however. I wonder if a linux box set up as a firewall is better than a commercial hardware firewall really. What if the linux box can be hacked easier than a commercial box that runs with unchangeable firmware code?? Why not just stay with windows, add a hardware firewall with great logging capability, like a Sonicwall or much pricier Cisco, and run a software firewall too, also with great logging capability.. if they get past the hardware one your logs should alert you and maybe before they get past the software one??

Keeping the rogue programmer inside the broker's firewall from stealing intellectual property is another can of worms.. the brokers are said to have "pinhole" firewalls where nothing gets through but things that conform to a "form". Makes sense to me. If a rogue coder can get past all that in two directions maybe nothing can stop him/her?? One friend said I could put watermarks of some sort in my code and if I detected theft I could work with the brokerage IT department to find out where the files are... seems like a big pain and it might be hard to get the brokerage motivated to look for it...
 
Quote from nitro:

If you ever get to the stage where your programs and systems become truly object oriented, and at the same time require the utmost in performance without going to bare metal C, you are going to find that you wasted lots of time with Java.

Java support for Generics is poor at best. Using the power of Generics, hard core milti-threading knowledge, and understanding Patters and how they are used, are probably what seperates a beginning programmer from a programmer that has designed lots of realtime trading systems and knows how important each is. C#'s support for generics is superior to java, and the C# language will continue to move to bring more and more powerful features that you will not want to touch in other languages.

I implemented a very object oriented Core Framework in C# for building strategies, one in particular. I got an idea for another strategy, where the strategy has many complex legs to it. The framework I built ate it up and I was up in two weeks with the new model. If I had not written the framework with Generic components, correct multi-threading, and correct Patterns, it would never have been able to deal with the complexity. Most core framework trading systems are built to do one thing well, but are not flexible enough to deal with new strategies. Being able to have a flexible system that can handle new strategies is huge. It can mean tons of money because you get to trade first.

C# is going to rule the world. IMO it is imperative that C# is wrestled away from MSFT so that you don't have to use windows to use C#. Alternatively, MSFT development tools supports Linux. Miguel De Icasa (originator of Mono project) has proven this can be done. It is that important for Computer Science.

nitro

I don't see how C# can beat C++/Qt, except maybe for tighter integration with Studio, and slightly simplified syntax. Plus you get cross-platform out of the box. And then you've got Java beat on performance.
 
Back
Top