modify an exising automated trading package or build a new one ?

Quote from nononsense:

You are a truly immature kid with an ego of a overgrown wise guy.
In my corrective reply, I simply repaid you in kind.
:)

You know, I wonder if you would say such things to people's face....

Like, learn to live in peace with people, respect people's standpoints and opinions. Why criticize someone who was trying to help someone else when you werent?

Like, what do you want? Is this making you feel accomplished in any way???
 
Thanks Mrtwo, great attitude. Thanks for being so helpful.

Quote from mrtwo:

You know what, me too. Life is about learning you know. I would be happier to be proved wrong than to have to deal with all this 'noise'.

The first reason is trust. For most people it is much easier to trust a Unix system than it is to trust a Windows system. Some of Microsoft's mistakes are still very fresh in our minds I guess.

Not long ago I remember voting against having Windows servers on production because of 'reliability issues'. I was such a Solaries zealot back then. Today I have absolutely nothing against the Windows platform - and more than that - I believe Visual Studio sets current benchmark for IDEs.

I agree with you that Visual Studio is a very good IDE. Now what are the specific "reliability issues" and going forward what are the assurances that they will be solved?

Nonetheless, I must say if I had to start a high-budget project today, I would probably work with HP-UX or even AIX instead of Windows. When you have deep pockets the 'time-to-market' pressure is much lower and you treat yourself with a non-compromise setup.

If money isn't a constraint but time is, and and having access to high performing and reliable hardware is a concern, then what would you recommend?

As far as I know, you are running a one-man-show, am I right? And if that is the case, the Windows platform can give you the leverage you need to be done in 6 weeks, not in 6 months. Now, are you compromising anything? Of course you are. Now you are 'trapped' but remember: it is all about intent. Will you really have to port your trading system? Why?

When the money start piling up in your account the last thing you will think about will be that you should port your system ;)

If my primitive algo is doing well then I would certainly want to scale up capacity and to add complexity, then what would be the way to port algos in Windows to other systems? Also, is it easy to port between Unix and Linux? I guess there is some scalability and interoperability concerns here, in addition to portability.


I can name 'free' as the main one and 'less code rewriting due platform changes' as the second. Would anyone like to add to this list?
Will the 'code rewriting due platform changes' come yearly with Windows? or are you talking about switching from Windows to Unix?


It depends, to make the migration less complicated, portability needs to be a requirement from the get go. Portability sometimes means that you will have to work with the 'lowest common denominator' of both platforms, keep that in mind :)

Are you saying that at the onset, I should make a comparision of Windows and Unix and find the 'lowest common denominator' of both platforms, and confine my coding to that?

If I were to use Java to write trading algo, how will that change all of these considerations?

Thanks, mrtwo, you have been very helpful.
 
Quote from dcraig:

Eric Raymond's "The Art of Unix Programming" is worth reading. It is more a discussion of the 'culture' of Unix than Unix programming as such and should give some insight into the real differences with the Windows world.

Available free at

http://www.faqs.org/docs/artu/

Thanks, intersting reading, that there seems to have been this history of people predicting the extinction of Unix... it certainly is a concern whether it will thrive or become marginal...
 
Quote from risktaker:

Uh...I'm thinking of going to Mars. Anybody know if the space shuttle can be modified to take me there?
Or should I assemble my own spaceship?
How easy is it to find the parts for assembling a rocket at the local hardware store? Anybody know if that's the best 'path' for me to take?

Thanks!
Nice one. Very amusing.
:)
 
Quote from Cheese:

Nice one. Very amusing.
:)
If this automation fad catches on with the Joe Blo's,
the undisputed legendary 95% loser ratio will jump to well over 98.5%.

:cool: nononsense :cool:
 
Thanks Mrtwo, great attitude. Thanks for being so helpful.


You are most welcome :)

I agree with you that Visual Studio is a very good IDE. Now what are the specific "reliability issues" and going forward what are the assurances that they will be solved?

Back then Microsoft was still struggling to convince people that Windows 2000 Server was viable platform for mission-critical systems. On top of that, security wasnt as much as a priority as it is today. Nevertheless, Windows 2000 was a pretty good platform and if I knew back then what I know now, I would have voted in favor of giving Windows a try on production servers.

Windows 2003 Server is very reliable and it delivers reasonable power at reasonable TOC. In a recent run, a HP Integrity Superdome running Windows 2003 Server scored 1,231,433 tpmC at 4.82 US $ per tpmC. Running the same routine, a HP Integrity rx5670 Cluster 64P running Red Hat scored 1,184,893 tpmC at 5.52 US $. (source: www.tpc.org).

If money isn't a constraint but time is, and and having access to high performing and reliable hardware is a concern, then what would you recommend?

If money isnt a constraint and you can afford hiring a few seasoned developers, I would recommend that you go Unix, that is for sure.

Make sure at least half of your development team has experience with automated trading and do the best as you can to keep it simple: overdesign will kill your performance even when working with high-caliber hardware.

If my primitive algo is doing well then I would certainly want to scale up capacity and to add complexity, then what would be the way to port algos in Windows to other systems? Also, is it easy to port between Unix and Linux? I guess there is some scalability and interoperability concerns here, in addition to portability.

Porting from Unix to Linux and vice versa is painless. In many ways Unix and Linux are the same OS. Of course, there are differences here and there but not enough to cause too much of a hassle.

Now, porting from Windows to Unix isnt fun. Basically, to benefit of the Windows platform, you have to embrace it completely. Every time saving feature you use will make your code harder to port and if you just code at the 'lower common denominador' while on Windows, you might as well just give it up and stick to Unix, because it isnt worth it, at least most of times.

I would pick a platform, either one of the two and just stick to it. Cross platform development adds more risk to your project than it makes it 'safer'. As a rule, you only code with more than one platform in mind when you are required to.

Will the 'code rewriting due platform changes' come yearly with Windows? or are you talking about switching from Windows to Unix?

No, not yearly but 'eventually'. It will happen sooner or later, that is for sure. Most of times, it isnt painful at all, at least on the C++ side.

Are you saying that at the onset, I should make a comparision of Windows and Unix and find the 'lowest common denominator' of both platforms, and confine my coding to that?

Yes, that is the theory. When you are aware which OS features are safe to use on both platforms, you can code a "OS abstraction layer" to hide the specific implementations from your aplication - this way, when the time comes, you will only replace this abstraction layer and your code should, hopefully, work on a different platform :)

If I were to use Java to write trading algo, how will that change all of these considerations?

Java is a breeze to port in between platforms. It was designed to be that way. I personally wouldnt develop anything in any language other than C++, Java or C#.

The one thing about Java is performance. Not that Java is slow as many people believe, but as any platform-neutral and memory-managed language, it demands that you write your code 'in the right way' to benefit the most from it.

I would not implement neural nets on Java or C# though.

I hope that helps :)

Peace,
MrTwo
 
Quote from mrtwo:

You know what, I believe you are *very* right!

Overdesign is the #1 slayer of good ideas :D

I ruined my amateur radio hobby by over design, every time I had an idea I "improved on it" and it never was as much fun as it would have been to "just do it". With the trading stuff I want to "just do it" to the extent possible. I have become so fluent in EZ Language that it is very easy to go from idea to test but that took years. If I had it to do over again I might actually build my own system but from existing stuff. One guy I spoke with had built his testing system from some electronic testing software environment. He said it programmed by drawing a flow chart and inserting functions that were like the functions in Excel. It ran under windows and it came with the capability to work with a set of data points like an Excel file of OHLC I guess. That would be about the fastest way to do zero to sixty in the backtest development world that I can think of and the software has the advantage of being widely used by serious people and therefore less buggy. I cannot say that about TS2000, I ran a test recently in the radarscreen, I divided the close of thousands of stocks into 100 and got a result. I then multiplied the result by the close price and got 100.... but not all the time!! There were a couple dozen that returned 20 instead of 100!! I found a work around eventually but that does not happen that much with electronic test software that I know of.
 
Quote from nononsense:

If this automation fad catches on with the Joe Blo's,
the undisputed legendary 95% loser ratio will jump to well over 98.5%.

:cool: nononsense :cool:
Yeah .. and funny how it can afflict otherwise intelligent people.
Same old problem .. they arrive with answers without knowing enough about the market or what the actual problems/challenges are.
:)
 
Quote from mrtwo:

The fact that Solaris is free doesnt make Sun hardware any cheaper, does it?

Solaris runs on PCs as well as on sparc boxes and has done so for quite a few years. SUN are now taking Solaris x86 seriously due to their range of Athlon based machines. Most of Solaris is now open source - http://www.opensolaris.org/os/

Sun have an interesting deal at the moment giving away Opteron based work stations if you sign up for services. For the entry level machine it's around $30 per month. Choice of Solaris, Linux or Windows. I think it's quite a good deal.
 
Quote from ecoscien:

Thanks, intersting reading, that there seems to have been this history of people predicting the extinction of Unix... it certainly is a concern whether it will thrive or become marginal...

There is absolutely zero chance that Unix will become marginal on the server side of things or in 'technical' areas such as telecommunications, supercomputing clusters and so forth. Linux will also thrive on embedded systems.

Linux on the desktop will also grow. Who knows by how much. Interestingly IBM are eating their own dog food and converting internal destops to Linux - a mamoth task.
 
Back
Top