Custom Trading Platform

Discussion in 'App Development' started by naifwonder, Aug 16, 2012.

  1. Dude, you are one incredible programmer....if all of this is "true/real" !
    Holy sh*t, you'd be worth about $500k/yr at a major investment bank.
     
    #31     Aug 20, 2012
  2. Kind of hard to make this up, won't you think? Well, its not that I created this platform overnight, it was an endeavor over 3 long years, but it does the job in exactly the way I want. I am not a programmer and do not have a CS back ground, but I am grateful to some very good friends I worked with in the past who showed me the ropes and I have been very active asking questions on Stackoverflow.com. I also paid programmers for project work, especially on the WPF part because I have no idea about designing GUIs. Re Messaging, one user mentioned RabbitMQ: Its fast enough for up to maybe 1000 symbols, as it kind of maxes out on 40,000 messages/second. With ZeroMQ (brokerless, hence a lot faster) I manage to send messages at a rate of 5,000,000 per second between modules (given the message load is sufficiently small, like sub 1kb). But even that was too slow for backtesting processes, thus when I profile strategies the strategy engine embeds the datasource (historical data binary data store manager) and OMS/PMS/Risk/Fill Simulator in-process. Thats the only way I manage to process about 5million quotes (ticks, trades, order book updates,...) per second, regardless of how many symbols the strategy consumes at a time, obviously the symbol's data is merge/sorted to keep the order by timestamp.

    I think anyone can make it with the motivation and work put into. But I disagree with your salary estimate, I would not even be able to pull such number as trader in any investment bank at the moment. I know some top options traders and their salaries and bonuses are capped way below your number. There is a reason almost no prop trader or good market maker is still working for investment banks at this point, most guys have moved onto greener pastures at hedge funds or started their own venture, unless they grew too frustrated with this politically charged market environment and retired or changed careers.

    Am happy to share ideas about system architecture, I myself learn more from others every single day. Care to share your setup? Do you trade systematic strategies? If yes, I would be especially interested in whether you connect to several brokers/liquidity providers at the same time and how you manage the consolidation of pricing data between the different feeds...


     
    #32     Aug 20, 2012
  3. #33     Aug 21, 2012
  4. what do you expect? They are a Russian company which is in the business of pumping out glossy user interfaces and charts with lots of colors, none of those guys has EVER held a trading position at any financial institution nor has ever made a dime for himself/herself otherwise they would not produce such garbage product. I can only repeat myself, those products are for the absolute beginner to play around with, but I cannot stress enough how incapable they are to manage live trading strategies.
    Its not just MC, its NT, its RE, its Smart Quant, take whatever firm. Problem is they try to produce something that fits everyone but dont get one single thing really right.

     
    #34     Aug 21, 2012
  5. Yeah Amazing, but they are trying to architect for multiple data feeds, multiple brokers. That's amazingly complex.
    I have a funny feeling your platform is "IB-Only".
    Not that it's bad....but I'm just saying you are comparing Apples to Oranges here.
     
    #35     Aug 21, 2012
  6. 2rosy

    2rosy

    its called the adapter pattern. its not amazingly complex. everyone does it :cool:
     
    #36     Aug 21, 2012
  7. I do connect with IB but also 2 other fx ECNs, all through FIX. I was asking earlier because I am currently considering building a consolidation feed so that I can later on add any number of liquidity providers. Right now those entities I trade with are kind of hard-wired and it makes things inflexible and hard to scale and adjust.

    Re your comment about multi-adapter, let me ask you: Do you prefer Porsche to build a new car that can run on gasoline, ethanol, battery power, it can swim, it can fly, it can drive. Only problem is it does not do one thing well. It breaks down, it occasionally drowns or crashes, the engine occasionally explodes because it cannot handle the switch from ethanol to gasoline. You get the point, whats all this worth if you cannot trade properly even with a single broker? Complex is the thing I disrespect and which disgusts me the most to be honest, if an awesome technology can be made simple to use that is what I truly respect. And that is the precise reason Apple is so successful. Not the design (they were special in that regards for years before the iphone came out and only appealed to geeks), no, but the ease of use. Those retail platforms do a lousy job if you ask me but I tell you a secret: As long as you appeal to an as broad as possible user base then you can max your revenues. You know you cant pump out a product that works well in all disciplines, you know it sucks actually but you put some lip stick on it, dress it in stockings and heels and voila, there you go, a glossy sexy product. Makes me chuckle. But I really said enough about it, this was my last comment re those retail platforms, lets focus again on CUSTOM TRADING PLATFORMS, the thread title.

    P.S.: You evaded my question. How does your setup look like, what would you say if someone asked you what value you can add in this thread, how would you share your knowledge?

     
    #37     Aug 21, 2012
  8. I think retail trading platforms are ideal for certain types of projects. For that niche, these platforms are great at what they do, and for the most part, they are reliable within reasonable limits. I do not think retail platform developers churn out unreliable products. They do not have enoough control the hardware that they run on to be configured for the level of growth and reliability that would be expected of a more custom tailored solution. I do not see these retail platforms as targeting this more advanced user-base (advanced as in programmatically speaking - do not turn this into a debate about advanced in terms of trading knowledge). As such, it would be like blasting Toyota for under performing in an Indy 500 race. I think this distinguished is very easy to forget, and in some sense, tempting to make. I must admit, in cases where a retail platform was the ideal solution, I have had some pleasant experiences. There were certainly pros and cons, but not enough to turn me away from them completely

    I am noticing some conversation here regarding the robustness of software: The ability of the custom platform to handle future ideas, new brokers, data feeds, etc. A well-built platform uses abstraction layers when it is possible to account for these things. For example, instead of simply calling a broker's specific code to get new bar data, there might be a custom function called getBarData() which calls the broker function, converts into a standardized format, then returns the bar data. So, if the developer would want to change the data feed api, they need only modify the inner workings of that function, and there would be no need to touch the code that depends on the abstraction layer. I think most programmers that know what they are doing tend to lean towards this abstraction methodology where time and performance-requirements allow it - not just in trading platform development, but across any project where it is a reasonably desirable trait of the product.
     
    #38     Aug 21, 2012
  9. * you argue in favor of those retail platforms now for some time but each time you say "they are ideal for certain types of projects" you fail to elaborate. Which projects really?

    * I was never debunking those packages for lack of advanced features. I am debunking them for not even performing at the absolute basic level: Correct back test statistics, not able to run a reliable broker connection to one single broker, the broker they all love to advertise with, IB. What is any test rig good for if the strategy cannot be traded live? It cannot, because none of the mentioned packages seem to be able to keep one single broker connection alive for any reasonable amount of time. Please google or search on this forum and show me one retail product where users are not constantly reporting bugs and errors when it comes to fills, cancellations, trade closures. Please, just one...


     
    #39     Aug 21, 2012
  10. januson

    januson

    Hi amazingIndustry

    I'm in the process of building my own trading application as well, I've developed a lot of different small applications exactly as you did, but unfortunately my work has stalled the last couple of month :(... I just don't feel for it at the moment, but I can feel my mojo is returning :)

    anyway.... I did see your comments on TPL Dataflow, where did you implement that in your trading application? I was thinking about a local message queue in each application, because ZeroMQ is brokerless? is that correct?
    My initial thought was to use RabbitMQ, but ZeroMQ looks more promising when utilizing TPL Dataflow, what do you think?
     
    #40     Aug 22, 2012