Its probably worth (re)reading this post: https://qoppac.blogspot.co.uk/2016/05/optimising-weights-with-costs.html
Based on reading the blog post, I think I understand the approach of pooling gross returns but using instrument specific costs. My understanding is that we pool the gross return data of all instruments in our group (typically asset class). When performing the bootstrap optimization, we use the pooled set of returns, which would lead to same weights for all instruments. But, we perform the bootstrap optimization for each instrument separately and we use the costs for each instrument to "adjust" the returns from the pool during the optimization. The end result should be a set of weights that are different for each instrument based on the difference in instrument trading costs. My understanding is that you also remove any rules that exceed the speed limit prior to the optimization.
Where do you get your implied / historic vol data from? (Presumably it is the implied/ historic of the underlying index). I assume you're using the carry difference 6 months / front but still trading the 2nd contract? It would be interesting to see if this rule works on other asset classes.
Yes, I get the index data for the S&P500 and STOXX to calculate the historical volatility; I use the VIX and VSTOXX index (as opposed to futures) values as the implied volatility.
For the carry curvature, I loosely follow http://www.cboe.com/rmc/2015/Day-1-Session-1A-Berlinda-Liu.pdf. I calculate the DISTANT_TERM_CARRY as the average of carry between M4 and M5, M5 and M6, and M6 and M7. The reason is that there is seasonality (December) in the VIX term structure and I'm hoping the averaging of the several carry calculations removes the seasonality. I also calculate a NEAR_TERM_CARRY as the average of the M1:M2, M2:M3 pairs. Then, CARRY_CURVATURE = NEAR_TERM_CARRY - DISTANT_TERM_CARY.
I'm not sure the Curvature approach would be very useful for other instruments since my understanding is that the only other instruments that have any volume in delivery months beyond the front month also have a lot of seasonality. Perhaps EuroDollar is the exception though.
Thanks for the pointers.
--Maciej
Last edited:
