I'm not sure whether I understand you correctly. And thus whether this reply addresses your question. I am following more instruments in an asset class than I can have open positions in. Let's say: I track 8 forex instruments, but have only enough risk capital to have an open position in three of them. My software ranks the eight instruments such that the instrument with the lowest volatility gets the highest priority, and the instrument with the highest volatility gets the lowest priority. Then the software determines for each instrument whether a position is desired, until the three slots are filled. Is this what you are asking about?
I was checking out that other thread on stocks trading, and it seems to be a common problem - how to pick which instruments to take positions in, when there's more potential entries than available capital.. In Rob's framework we currently avoid that problem by simply having the weights of all instruments of our trading universe to add up to 1, i.e. we only monitor what we can hold. (HobbyTrading seems to be changing the composition dynamically with the priority to "smaller" contracts). So if we expand our trading universe beyond what we can actually hold, then we clearly need some kind of a ranking function or rule to decide which positions of all available to enter. The potential criteria to use are the forecast strength, "value volatility" (contract size), and in case of futures we can also consider portfolio composition. I.e. stocks are all pretty-much the same (yes, there are different sectors but the difference isn't as big), but futures markets are more uncorrelated., so if for example today we have 10 stock indexes having forecast +20, and all other instruments not more than +3, it would probably be unwise to allocate everything to the stock-indexes only. I.e. maybe there should be some kind of max-allocation per group.. How to define these groups and how to deal with the fact that there could be different number of instruments in each is the question.. Also, all of this will be changing dynamically day to day (even tick-by-tick), and might cause more additional trading and costs., So if this is implemented as an independent sub-routine that changes current instrument-weights, how often should it be executed?
Thanks HobbyTrading and Kernfusion for sharing you thought! What HobbyTrading does makes sense combined with his minimum 3 contract approach. Yes that is exactly what I was asking about. It is good to know that this is a common problem for those dealing with stocks with much bigger universe. I decided not to be bothred with this kind of new ideas, and to stick to the basics for now!
Exactly. I have defined several asset classes and assigned each instrument to an asset class. Within each asset class I use this ranking system based on value volatility per contract. By doing it this way I can assure that there will not be an over-concentration on one or two asset classes.
Sound decision. Keep it simple, at least at first. You can always make it more complicated later on, if you still desire to do so.
Btw, how often do you run this ranking\weight-readjustment, every day? and also, if you already have a position in instrument A, but now instrument B replaced it in priority, will you keep the position in A until the system closes it naturally? Or maybe you just change the weights of A and B and simply let the system do it's thing (which will probably cause A to be closed and B opened according to it's forecast)?
Wow, so many questions.... Each instrument gets reviewed once per day. During this review are the rankings determined. At this time is it reviewed for those instruments which do not have an open position whether they are allowed to open a position. I do not actively close positions in case the rankings change. I only use the ranking system to determine whether an instrument which does not have an open position is allowed to open a position. The position size of the already open positions will therefore be reviewed and adapted as usual: based on value volatility and forecast. Due to this approach is the number of open positions not fixed. As example: suppose my target is to have three forex positions. If I have three (call them A, B and C) and D now reaches a lower volatility and the system wants to have an open position I will end up with four open positions (A ~D). Suppose C has a higher value volatility than D. If a couple of days later the position in C is not desired, and gets closed, then C is not allowed to re-open a position until it enters the ranking again. I know, it sounds complicated, but somehow it seems to work for me. Determining how many open positions I can allow per asset class is a manual activity. I review this once per week. But hardly ever have to make any changes.
I noticed that I do not receive "client id already in use" error from IB any longer. IB might have made some changes on its system. I do not know exactly as I made many changes on my PC and applications during last weekend... but these must have nothing to do with the error.
Hi all! I presume most of you do other trading strategies or investments, in the same account you do futures trading. How do you monitor pure performance of this futures trading? Do you need to download all your transaction log and filter related transactions and sum them up, or is there any other way? I have limited knowledge and experience in trading, and there are many things I need to learn to catch up. I run my trading with minimum setup - a combination of python programs (price data collection and forecast calculation) / spreadsheet (target position calculation) / manual ordering. Next thing I will do is develop programs in either performance monitoring or order placement.
My system executes and tracks it's orders automatically, therefore by definition it knows all the trades it did and can therefore calculate it's own statistics independently of what-ever else happened in this account (i.e. the system wouldn't even know is some other orders (not initiated by it) were filled on the same account).. If you're doing your trading manually, I guess you have to record orders related to this system separately from others..