How to build an automated system

Discussion in 'App Development' started by hft_boy, Feb 4, 2013.

  1. gmst

    gmst

    Bowo - your viewpoint is too narrow. There are many people on this board who have moved beyond MC and want to develop their own trading platform - since having your own trading platform liberates you from the inadequacies of off-the-shelf-products like MC, TS, NT etc.

    I understand you would rather spend time learning and developing strategies in MC, and thats fine with me. But it will be great if you can also understand that there are quite a few people on this board who are very interested in threads like this.

    So, thanks for your time and consideration.
     
    #91     Oct 17, 2013
  2. So first question I have for you, is how are you reading the data? Are you loading all records into memory? Or iterating line by line?

    I use callbacks via observer/observable for the backester in our production trading system, that being said majority of my research is done in either R or Python in a vectorized fashion. Not sure what your production system is coded in but you run into difficulty iterating over sets with more traditional languages.
     
    #92     Oct 17, 2013
  3. Just checked, I read the records line by line... So the disk reading could be the bottleneck.

    I am also leaning now towards using callbacks. Have you ever looked at QuickFix, I wonder how they implemented SocketInitiator class. I know code is all there but it's such a spagetti of code it takes time to figure it out.

    I use C++ on Linux to develop the platform and algos. I've done MATLAB and R (not Python), but I am doing research with C++ which is slower but when I do find something I do not have to translate it to C++.
     
    #93     Oct 17, 2013
  4. Being read from a database or something else? For tick data I like HDF5 and for less granular data flat files are fine (we are far too cheap to pay for kdb). Iterating over a text file shouldn't be your bottleneck I don't think.

    I've only briefly glanced at QuickFix, nothing really serious.

    To be honest, I think C++ is an awful environment for research. The big difficulty I see is iterating over variants and it's not exactly flexible either. Though I do think the upside is that your strategy is isolated.
     
    #94     Oct 17, 2013
  5. I just read from a text file right now. e.g. EUR/USD tick data file for one year is around 1GB with 75mln+ records.

    MATLAB and R, I do not know about Python, are slow comparing to C++. That's probably the main reason I am using C++. What's taking MATLAB hours may take C++ only 15min. The other reason is that I do not have to translate my code later from MATLAB/R to C++. MATLAB/R do have that nice vector operations that cut down development time.
     
    #95     Oct 17, 2013
  6. If they want to be the next MC, I don't get the motivation.
     
    #96     Oct 17, 2013
  7. Someone suggested instead of using multiple processes communicating through IPC but to have all code in the same process (as long as it's on the same host) and use concurrency. So I have a strategies (S) class and order execution (OE) class where S class sends orders to OE and OE send order confirmations to S. I can implement producer-consumer model where producer sends data asynchronously to consumer, but I do not know how to implement the modules to talk to each other.

    So, do you guys have any code samples or suggestions on how to implement a two-way asynchronous communication between objects? THX
     
    #97     Oct 27, 2013
  8. Hi hft_boy, can you show us a very simple backtest program structure?

     
    #98     Nov 14, 2013
  9. Hi hft_boy,

    very interesting conversation you got here.
    (at least it was before the whole flame war...)
    It sort of gravitaded towards the low level details of FIX gateway server implementations...

    in case you're interested to come back around I would like to push the discussion towards the high level view of the automated system... the different programs involved and such... to get the discussion moving in a positive direction again.

    regards.
     
    #99     Nov 21, 2013