Discussion in 'Trading Software' started by nononsense, Jul 1, 2005.
conclusion, learn C first?
For general users: NO. In fact python will quickly given access to programming undreamed of with any other 'real' language. In fact python is often used in schools these days - sometimes even for kids. About learning C? Only for the truly ambitious. If you want to get into the high brow stuff, it will take you some time (1-2 years?) to get up to sufficient virtuosity.
A programmer can be significantly more productive in Python than in Java. How much more productive? The most widely accepted estimate is 5-10 times.
Python is a useful tool: In fact, I really like all of the open source stack - LAMP along with C++, php, python etc.
New development is within this environment and we have relegated $soft to legacy only applications. I like the Java open source moves but even trading interfaces can usually be provided without a rich client java app or some combination of opensource GUI and server components ....
Will the future of a python implementation be faster than "C" ?
PyPy: The next breed of Python ?
More PyPy Info
Ummmm, Could be rabbit....
PS. very happy python user here. python Is extremely fast (faster than say... c++) when you utilize it's capabilities. thanks nonon,
Yeah, learning C++ and Java is good.
But don't overlook the high-level interpreted languages like Python, MATLAB and others for development of systems.
I like Matlab. I basically work from within Matlab and call Java and C-Mex as needed. Its easy to write an interface to your broker API.
IB has a Java API and I have developed mixed java/matlab functions that connect Matlab to the IB API via java sockets. No complilation necessary unless I want to send p-code versions to my friends (p-code is not human readable). The code is mixed and its a little blurry where Matlab ends and Java begins.
You can also use JMatlink to call Matlab from Java.
C++ is a little different. You can use C from within Matlab but it must be compiled with the Matlab compiler. Matlab supplies C-engine functions that let you call Matlab from C. But recent versions of Matlab have speed up many operations to the point where C-mex isn't any faster than m-code for some stuff. The reason you might call Matlab from C++ is for its matrix functions or perhaps plotting etc.
My entire ATS is written in Matlab. I run a cluster over my lan with one machine collecting tick data and storing it in a flat file structure. The same machine stores my retail-purchased historic data and slings this data upon request from other cluster elements.
Another machine runs the trading interface to IB and manages orders, manages the account, monitors the connection, monitors the UPS, manages risk, deals with trading anomalies and responds to the analysis cluster element to initiate and close trades.
The last machine is a dual-processor hotie and runs the backtesting, statistical evaluation and system development instances of Matlab. This element generates trading requests based upon the current trading system that is running. I develop my system(s) here and test 'em out. This was the hardest part to write because one has to accept many assumptions about executions like slippage and commissions. I spent 99% of the time writing the backtesting and statistical functions and 1% of the time developing my system.
Unfortunately I have to stop trading. This afternoon I'm signing an NCA and NDA that finishes my short trading career. Yep, I'm gonna be a HF quant-developer weenie. And yes, this is my last post.
I'm a little sad to leave my engineering career and am terrified of my new position.
Anyway, dont forget to learn some high-level language along with your C++ and Java work and the next thing you know you'll get a call from some HF or IB or make the money on your own (or bust out). You might be surprised how fast that happens. A year ago I didn't know what an ATS was.
Good luck and good trading to all!
377 Ohms = the characterstic impedance of free space
I will pass this career advice along "PYTHON then C if need"
Yeah, nkhoi! Excellent idea.
Few ever will need much C! Comes in handy when you really need it though!
With all due respect to you and to an established product like Matlab...
Why spend thousands of dollars on a matlab like commercial product ?
Here are two Python module packages who's users have come from Matlab to a better, faster, easier, and opensource (also free, as in beer) sw.
Notice who the developers of numarray are... heard of the hubble space telescope?
Separate names with a comma.