Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

trading an intrument list of 2000 equities - bulk order patterns required

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    trading an intrument list of 2000 equities - bulk order patterns required

    Hi

    I have a requirement to trade around 10 sometimes to 100 instruments per day - with a fixed amount of £5K each...
    A bulk Order list is generated from a scanned instrument list of around 2000 instruments... etf and stocks..


    So to use a strategy I can can do...
    for each instrument in list add bars....
    but that is 2000 daily bars Array elements added to 1 strategy...
    seems like quite a bit for the memory to handle

    The trouble is that - etfs and stocks may come and go so it means restarted each time there is an instrument list change. The issue I have is that Strategies are tied to bars... which may be a performance limitation


    The pattern I am going to use to solve this is:

    INDICATOR
    create 1 generic signals indicator - containing the order logic and exit logic..it will plot a 1 or -1 for entry and exit.

    Market Analyser
    use the market analyser
    add the instrument list
    Add 2 columns type indicator/ for the order and exit signals
    The indicator will dump the orders to file/stream
    Q.WILL IT COPE WITH 2000 instrument loaded????


    STRATEGY
    leave a strategy running that reads the order list at 15:30PM
    for each order place the order using the correct bars/instrument etc.
    Daily bars 2 days, tick and period calculation.
    Q.WILL IT COPE WITH 2000 instrument loaded????


    BESPOKE
    I may have to write a bespoke application/service which simply reads the order list and places the orders directly via an API to the broker...

    But I want to keep this within NT....

    Q. Perhaps an alternative then is use the NT Client...?
    for each order etc....

    So my feasibility study is this:
    1. Performance of 2000 instruments + daily bars
    2. Look for unsupported methods - that allow a strategy to place orders for an instrument without loading bars..
    3. use NT Client
    4. Hybrid NT & Bespoke API direct
    Is there a pattern or some info that may assist this project?
    It would be great to recommend and prove that NT is a feasible choice for this project...
    MicroTrends
    NinjaTrader Ecosystem Vendor - micro-trends.co.uk

    #2
    MicroTrends, I could unfortunately not comment on the unsupported methods. On the performance question I would start out with lets say 500 symbols and your indicator to see how the system used would hold up...I do remember for example testing with DOW, SP and NQ100 for a total of 630 symbols on a quadcore and it held up nicely...but we would not have hardset # in this regard. For the orders I would release them prob in chunks controlled by a timer event to spread it a little out.
    BertrandNinjaTrader Customer Service

    Comment


      #3
      Hello Mindset,

      as you are just working on daily bars I don't see much problems with timing issues.

      Some points come into my mind:

      1. Don't use Marketanalyzer. This is one of the unfinished parts ot NT. It does not always work as expected.
      It is much better to use a strategy and use a basket of instruments in that strategy.
      (see portfogliobase). Just automate the loading of a basket of instrument.

      2. Just an example: I am currently loading portfogliobase on SP500 basket. Takes 4 minutes to load for the first 100 symbols. This is a first time load and all data has to be pulled from Kinetick . (My ninja is currently at 125 MB memory footprint)

      3. I am the guy who knows unsupported NT. But I cannot find out just to please someone else. Usually in NT there is always a solution.

      4. For cpu benchmark. Just try out to some SMA(2000) or some other indicator that used the last 2000 bars for the calculation of the current OnBarUpdate value.
      Intuitivly I would say above 3 minute bars timeframe you should be OK. Anyway with 64 bit you have unlimited memory. Try adding a strategy (on a new symbol) in NT and check the change in memory consumption in task-manager. Then extrapolate to 2000 symbols and you know!

      5. Memory consumption II: Using IB as data provider has the disadvantage that the TWS application will also need much memory (apart from the max symbols limit in IB)
      Kinetick is better and has a low memory footprint.

      regards
      Andreas
      Attached Files

      Comment


        #4
        Thanks for the input - I knocked up a quick test - just to s - ee if the bars will load.... which so far looks all good. Next i will perfrom some indicator tests on top etc...
        init...
        foreach (Instrument i in list.Instruments)
        {
        Print(
        "Add Instrument bars " + i.FullName);
        iCount++;
        Add(i.FullName, PeriodType.Day ,
        1);
        ..........}


        ...OnBarUpdate()
        int iCount=1;
        foreach (Instrument i in list.Instruments)
        {
        Print(
        "EnterLong(" + iCount.ToString() + ",1," + i.FullName +")");
        EnterLong(iCount,
        1,i.FullName);
        iCount++;
        }
        MicroTrends
        NinjaTrader Ecosystem Vendor - micro-trends.co.uk

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by terofs, Yesterday, 04:18 PM
        1 response
        21 views
        0 likes
        Last Post terofs
        by terofs
         
        Started by CommonWhale, Today, 09:55 AM
        1 response
        3 views
        0 likes
        Last Post NinjaTrader_Erick  
        Started by Gerik, Today, 09:40 AM
        2 responses
        7 views
        0 likes
        Last Post Gerik
        by Gerik
         
        Started by RookieTrader, Today, 09:37 AM
        2 responses
        13 views
        0 likes
        Last Post RookieTrader  
        Started by alifarahani, Today, 09:40 AM
        1 response
        7 views
        0 likes
        Last Post NinjaTrader_Jesse  
        Working...
        X