Category Archives: Research
The recent move by the Swiss National Bank (SNB) to remove the peg between the Swiss Franc and the Euro has caused lots of turmoil (see here and here) in an already volatile environment. The magnitude of the event was a pure surprise to me. Yes, this is Switzerland, and this is the Swiss Franc, but, from a mere technical point of view, after the peg in September 2011, the Franc should not have been treated any more as a major currency. Consider, which currencies are pegged? If China removes the peg between the Yuan and the US dollar, would it send the same shock waves through the world markets? I doubt it.
Today over a coffee, me and a friend did a quick analysis on the Russell 2000. The reason was that I was holding a short, and was debating whether to close it or not. Not only the outcome of this analysis made my action clear, but it also surprised me quite a bit. Here are the monthly statistics for the month of December.
In a recent post, I did some analysis of the efficiency of the DVI indicator. That was pretty much all I had to say back then, but that quickly changed. While reading Building Reliable Trading Systems, by Keith Fitschen I stumbled upon an alternative way to visualize entry efficiency – the entry power.
The DVI indicator is a well-known indicator, created by David Varadi from CSS Analytics. It was introduced in 2009 as a good predictor for the S&P 500 over the past 30 years. Its performance on the S&P 500 has been studied in the blogosphere comprehensively. None of these studies, however, contained everything I was looking for, and since I have a few indicators on my todo list, I decided to use the DVI to create an approach for analyzing indicators.
In a previous post I discussed how to implement in real trading a strategy back-tested on the close (the signal is generated on the close and the trading is performed on the close too). The main tool was pre-computing what I call tables of actions. In my opinion, the complexity of implementing a strategy in real trading depends on the types of tables of actions the strategy generates, and in this post I am going to show you a system which can be implemented using only the two on-close orders provided by Interactive Brokers and other retail brokerages.
library(quantmod) source("garchAuto.R") spy = getSymbols("SPY", auto.assign=FALSE) rets = ROC(Cl(spy), na.pad=FALSE) fit = garchAuto(rets, cores=8, trace=TRUE)
After the last code line above, fit contains the best (according to the AIC statistic) model, which is the return value of garchFit. The function has reasonable defaults, but also provides controls over various aspects of the model selection – check the code.
The function is called garchAuto, following the naming convention of the fGarch package. In fact, I am trying to get it into the fGarch package, but haven’t heard back yet. There are reasons why I don’t feel too optimistic about this happening, hence, my decision to publish it here.
Last, if you wonder why I abandoned the original garchSearch name, the reason is that a similar function from the forecast package is called auto.arima (“auto”, not “search”).