Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
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 for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Might be splitting hairs (or asking a silly question) here but is there an advantage to having your exchange(or broker)-facing engine running a very light core written in C++ on a Linux box? Everything else can be dot Net, and perhaps a sockets connection is used between the FE and BE? Is sockets even the prefered way to get a Linux app to talk to a Windows app?
The reason I bring that up is I used a commercially-available platform recently that did just that. The C++ core was so lean it didn't event have a concept of a bar, only a tick plus all the other raw price and order data. If you required a bar you would have to build it either on the FE or the BE.
I can see the workflow advantage of a full dot Net environment, but is one at a disadvantage with that technology facing the exchange?
Yes and no. As I said - you loose a core, and you have to block task switching because it does bring a slower scheduler in. OTOH.... you gain speed. Do you? The moment you hit the network you are mostly in another task anyway with interrupts (due to the network driver). I am not sure that at the end you really safe something. It may make sense for HFT, but then you need a VERY lightweight OS below it - one that is quite primitive. Is there a real time linux with guaranteed network driver latency?
A lot of you have expressed that you have worked on, are working on, or plan to work on your own platform. Assuming the majority of you are doing this to become better traders, and not to sell the platform for revenue stream, then why not join forces together?
I think that would present a challenge on a few fronts, beginning with something as basic as Use Case.
I, for example, don't normally use charts for anything other than post-trade visualization i.e. I have no need for real-time charting in anything I build myself. The requirements for static data such as instrument names, expiration dates, tick sizes and values, exchange names, trade times, etc will vary from user to user. And then there is an API. Nothing is really free, and John, Paul, George, and Ringo might have access to TTFIX, Rithmic, RTS, and PATs respectively but that will present a challange in a distributed development environment. And then of course my requirement for MSSQL in the BE will be met with the open source crowd wanting mySQL...
All that before a single line of code is written .
NetTecture was kind enough to post some of his base code, and some of the other stuff out there is also a good place for ideas.
Not in any way shooting down the idea of collaboration, but I think it is more of a challenge for the trade platform than say, a middle-office trade reconciliation/risk management platform. And personally I'm an absolute crap coder at present... but working on it.
Ok, here is my new years goal. I am currently in the process of getting my code base more organized. Sadly this is blocked by me currently not trading in person (I have someone trading some of my strats) but being ina data warehouse proejct for 50 hours per day After that I am more a WOW addict than anything. As in: I also need some rest. That will take possibly till mid of the year (that said, it pays handsomely). Anyhow.
* I have a place on codeplex where I want to put some stuff. Tradex.codeplex.com
* I have my own TFS in my company for the builds and source control. THat said, there is a bridget that would allow partial publication to TFS. I never managed to acutally set that up.
* So, today is my last fuull working day this year. Tomorrow I will spend traveling and doing shoppnig. After that it is 2 weeks with time.
* And in this I want to get some of my code at least up to Codeplex. This will be core libraries, data structures, and possibly connectivity code as far as I have it. All my current services interfaces and possibly the general service runners (my "server" is some generic code that then loads services that do the work - keeps the individual services nicely packed).
Licensing will be very lenient (BSD style - take, use, modify, use comercially, just credit origina). Feel free to jump on it.
Services, front end etc. will be excluded form the free upload, at least "in general". Front end also needs commercial components (user interface).
I did something a few years ago. The core was a small CEP engine that ran on Linux, and the UI / Control user interfaces was in WxWidgets connected with zeromq so the UI and execution were separate.
Hey sam, I see you were having trouble using tradelink.
Did you join the tradelink users list? We'll help you out with whatever problems you're having.
You can do this by googling tradelink, clicking on the tradelink project. Then on the right side of the page you will see the link for 'TradeLink users'
Just to give an update redaring Tradex (my framework).
* I installed the sync tools. WIll see I get them working sunday. This will then start moving source into codeplex. Live link - all checkins automatically get moved, including work items.
* I make good progress on the NxCore connector. This is a hell of a decent data feed api Also got permission to publish the NxCore connector code- but it will need access to the local API before compiling, sorry. i dont distribute other peoples code and dll's.
* And finally I just got the first smaaaaaalll class covered 100% by unit tests. Another one on the way - the really nice thing is that I find obscure bugs with this. Nice. I start moving the core asemblies under full unit testing now because basicall I finalyl got code coverage reporting working in TFS and - they are so central I really dont want any bugs in them.
I would encourage you all rather to write your own project from scratch to join the TradeLink project.
It was created 3 years ago when I left one of the largest commodity funds in the world and went to trade on my own. There was not much out there open source wise so I created a platform and open sourced it. That was three years ago, now tradelink supports 15 brokers and data feeds including all the major proprietary trading firms and many retail ones.
It works with equities, options, fx, futures on both live and historical tick data. You can backtest level 1 and level 2 strategies at over 300,000 ticks a second, which is faster than many commercial platforms costing hundreds of thousand of dollars a year. Live trading operates at 40,000 ticks a second. We have over 12,000 downloads, 200 users on the mailing list and 50 commercial users representing half a billion in assets.
We also have a seperate company providing commercial support to hedge funds, prop trading firms and larger users who need extra assistance. Corporate supports helps to accelerate the growth of the open source project, because the more big companies who use it the more powerful the open source platform becomes for everybody. Again we've been at this for three years. Regardless of how big it gets, We're 100% commited to open source.
What I'd love to see happen is for you guys to use and contribute to tradelink and make it better. Together we can build something so much more impressive and powerful than having a bunch of fragmented individual platforms, which are great for personal use but to really make open source work you need a powerful community.
If this sounds interesting to you, please join up on the mailing list.
google tradelink
click on the 'tradelink project', hosted by google code (google's version of source forge)
here is where you can download the installer, view instructions/videos, read tutorials, download the source code
to join the group, click on 'tradelink users group'. here we talk about basic technical support issues in tradelink as well as extending the platform.