I have 4 Collective2 systems, two of which I created under Collective2, and the other two of which are ‘mirrored’ into Collective2 from Youtualfunds.com (where I initially created them).
Now, the mirrored funds look like normal Collective2 funds, but they are maintained from within Youtualfunds – which rather than using explicit buy and sell orders for specific numbers of shares of stock uses a portfolio percentage. This is very convenient for the purposes of Youtualfunds users because they can simply specify that they want, way, 40% of their equity on AKAM, 30% on NVDA, and 30% Short on ILMN. Youtualfunds then makes the calculations of how many shares this would turn out to be. When I update Youtualfunds systems I use the web API so each day I specify the allocated percentage and long/short attribute for each stock – even if there have been miniscule changes to the allocations because of natural stock price increase/decrease since the previous trading day. So, if one day the percentages are 40% AKAM, 30% NVDA, and 30% Short ILMN, then the next day the actual allocations may now be 39% AKAM, 32% NVDA, and 29% Short ILMN. Now, if I invoke the web API to update the Youtualfund system then I would respecify the desired 40%/30%/30% allocation – because it would be a heck of a lot harder for my software to ONLY invoke the web API if an actual trade was needed – and even then I would have to first ‘read’ the current effective allocations to ensure that I didn’t change an existing allocation by only 1-2% or so.
The First Question then is: Do these automatic, unintentional, incremental tweaks to the Youtualfund percentage allocations result in ‘real’ trades – and thus affect the trading statistics – or not?
Now, when a fund like this is mirrored back into Collective2, then what I see are real BUYs and SELLs just like a native Collective2 system would have. However, the BUYs and SELLs don’t make total sense. For example, my Schulenberg 5-Stocks system ‘bought’ 239 shares of JOYG on 9/1 and then sold 238 shares on 9/2. Apparently there is a fictitious share because although the entire position in JOYG was closed out, the allocation percentage at that moment (and based upon the total portfolio equity) was translated into only 238 shares. Also strange is a case in which I ‘bought’ 1502 shares of NVDA on 9/1, and then bought 1432 shares of NVDA on 9/2. There was never apparently a SELL of NVDA; the 1432 shares looks like an automatic portfolio adjustment that reflects the fact that my holding of NVDA was based upon an overall portfolio percentage rather than an explicit number of shares.
The SECOND Question then is: Are these mirrored trades from Youtualfunds.com going to support real autotrading within Collective2? And also, will numerous tiny trades come and go on the Collective2 side of things as the Youtualfunds system reiterates the same portfolio allocation percentages … and will this in turn impact the number of trades that shows up in Collective2?
I believe that this is a very complex software engineering problem, and although being a software guy myself I don’t see how this difference between the Youtualfunds trading style (allocation percentages) and the Collective2 shares-based approach can be reconciled in a simple way.
Bottom line: it doesn’t look to me like the mirrored system in Collective2 could be successfully autotraded, and even if traded manually a subscriber would have to be aware of small ‘disconnects’ that should be ignored (e.g., buying 239 shares and then selling only 238.
Perhaps I am misreading the data, which is quite possible, but I think there are some very tricky issues that still need to be worked out.
[LINKSYSTEM_65234449]
If the percentage of a given holding changes from day to day due to value of the holding, then yes- if you were to re-allocate at the original percentage, shares would be bought or sold. If you want to avoid this, use the programmer API or look at the fund to see the current percentage, and re-allocate at that percentage to hold the position as-is. If this does not work as expected, please let me know. I feel like I am missing something here?
About some of the specific examples you cite: there are no ‘fictitious’ or missing shares - instead I think you are misinterpreting the way C2 displays trades. The B/S column shows in which direction the trade was opened - ‘BUY’ for a long position, ‘SELL’ for a short position. So, in the 9/1 JOYG trade, you opened a long position of 237 shares on 9/1 that you closed on 9/2. Immediately afterwards, you opened a short position of 238 shares, which you closed on 9/6. The NVDA trade you mention is actually composed of two trades, one which opened 9/1 and closed 9/7, and another that opened on 9/8 that is still opened.
I was a bit concerned when I first read your post, but I think if you more closely look at the C2 closed trade record you will see the closing times listed and the actions you took on YF are accurately reflected on C2.
Matt,
I appreciated your reply and I have modified my procedures to ensure that unintentional trading activity does not occur in my Youtualfunds … nor in their Collective2 ‘mirrored’ versions.
I have now gone back to manually inputting changes rather than using the url method, deciding that it wasn’t worth the programming time at present to handle it correctly in software.
However, some concerns remain. Take ^MAGIC for example, which trades 5 stocks. My initial allocations were for 20% on all stocks, and this exact allocation persists. Whether I ‘get’ the allocations via the url api or by examining the allocation values posted on the screen, everything reads 20. The first thing that occurs to me is that these numbers ought to be changing as stock prices fluctuate … and in any event they should be decimal numbers, e.g., 20.0 – rather than integer-valued.
Now, on 9/12/11 I carefully edited ^MAGIC to simply flip AKAM from a Short to a Long, and to flip ILMN from a Long to a Short. I did not change their ‘20%’ allocations, nor did I alter any of the remaining 3 equities. Nonetheless, Collective2 sent me a message showing that 63 shares of NVDA had been ‘sold’ (bumping my trading statistics), and I assume that this was done to retain a 20% allocation for NVDA. Perhaps NVDA was ‘really’ at, say 20.2% (although Youtualfunds only shows 20%), and the SELL was needed to achieve the correct allocation.
So, the questions are: (1) why do my allocations ‘appear’ to be unchanging?, (2) why are allocations only shown as integral values?, and (3) why are trades occurring that were not specifically triggered?
Thanks