Multiple strategy testing in paper IB accounts

Discussion in 'Strategy Building' started by dogarrhea, Jan 18, 2020.

  1. dogarrhea

    dogarrhea

    I am trying to have multiple sessions in TWS. Each session has its own strategy/algo/whatever trading in that session. Is this possible? I would imagine that if you set up 10 real accounts, you can have 10 paper accounts as well, and therefore have 10 different sessions/trader workstations/gateways open. The problem is that I would need 10 real tax ids or social security numbers and all the consequences of trading on behalf of someone (even if it's paper, I have access to those accounts). Is this just impossible and the forward testing in paper or live will just be bottle necked? There's also creating "sub accounts" tied to a new account but I don't know what the limitations are for that, such as having access to its own paper trading account for sub accounts.

    Right now testing looks like:
    Forward Test strategy A, then test strategy B, then test strategy C etc. in that order sequentially.

    I want to do:
    Forward Test strategy A, B, and C at the same time using the same set of symbols. This is 3 times as fast.



    Due to nuances in data and offline paper trading which has been done to death, forward testing (either live with small amounts of real money or paper money) has to be done in the client during live trading hours.
     
  2. Put a little real money on it
     
  3. minmike

    minmike

    Why would you need a new session for each algo?
     
  4. guru

    guru


    I didn't see a way of creating multiple paper accounts or sub-accounts, but I test many strategies at the same time in a single paper account. Just allocate specific $ amount to each strategy and track trades and account balance per strategy. Paper account would then only be used for estimating trade executions.
     
    nooby_mcnoob likes this.
  5. Yep, this seems the best way. You can tag orders through the API which I've never used but I presume can be used to segregate by strategy.

    Only problem I would see is if strategy A and B want to go long and short the same thing.
     
  6. dogarrhea

    dogarrhea

    This is the problem. If you say, put in a bracket order for stock A order #1, and then another bracket order for stock A, order #2, then order #1 gets executed, it messes with order #2 even though it's still waiting around. And even if it didn't mess with it, and order #2's parent order got executed the child orders would mess with each other.
     
  7. dogarrhea

    dogarrhea

    The problem isn't so much "putting real money" in but separating each strategy so their orders to interfere with the orders of the other strategies. In the OP, I mentioned the problem of cross orders getting repriced.
     
  8. guru

    guru


    I'm placing crossing buy/sell orders on the same stocks at the same time, but they aren't closely related and seem to execute "properly" at different times.
    However, paper trade execution may still not be accurate, so if you worry about small nuances and interference then you may still be getting wrong picture of actual trading, possibly similar to an additional internal offline tests, but not realistic enough for live trading. Basically if you worry about small nuances and interferences then you may really want to consider live tests soon.
     
  9. guru

    guru


    Though you mentioned bracket orders, which I don't use, so my experience may differ. I emulate bracket orders internally, and just send each part of the order separately to IB, when marketable. And my orders aren't very sensitive to small price fluctuations, just trying to get fills at limit.
     
  10. dogarrhea

    dogarrhea

    So what you do is:
    1. create a limit order
    2. create 2 more conditional limit orders based on the limit order
    a. condition is that original limit order is executed and cancel if one or the other closing orders is executed

    This wouldn't work when you have multiple closing orders would it? Say I have two sell orders and they both have similar conditions but different numbers.
     
    #10     Jan 18, 2020