# Tag Info

11

There are multiple approaches that you could consider. The basic idea across all of them is that you want to find a portfolio that is stationary. In the two-asset case, it is well known how to accomplish this. This paper by Marcelo Perlin describes one approach: http://papers.ssrn.com/sol3/papers.cfm?abstract_id=952782 but I am not particularly inclined to ...

11

There are other strategy types not covered by mean-reversion/trend following: arbitrage - keep correlated assets close in price (SPX index versus the 500 stocks contained in it, or Gold trading in London versus Gold trading in New York) market making - buy on bid, sell on ask, gain the spread liquidity rebate - some venus pay you for putting limit orders ...

9

$\theta$ is the "mean" for this process. If $X_t > \theta \implies (\theta - X_t) < 0$, which means that the drift for the process is negative and tends towards $\theta$. The opposite case can be made for $X_t < \theta$ ; the process will have positive drift when $X_t$ is below $\theta$. Therefore we can consider $\kappa$ to be the "speed" of mean ...

8

There is no official taxonomy of quant trading models. After all, "valuations" are inherently subjective, no matter how much math we put behind them. But there are some industry-standard terms that might be helpful. Inside the Black Box has the following break-down: Price Trend Reversal Fundamental Yield Growth Quality It's also possible to ...

8

Take a look at the sde package; specifically the dcOU and dsOU functions. You may also find some examples on the R-SIG-Finance mailing list, which would be in the results of a search on www.rseek.org.

7

There is no standard method and many techniques can work well, including simple time series z-scoring. I'm many cases, I would recommend using the simpler approaches unless the added complexity can be justified. However, the challenge with all techniques is the proper calibration, which is very much context sensitive. The parameter selection needs to be ...

7

The code of Euler Maruyama simulation method is pretty simple (nu is long run mean, lambda is mean reversion speed): ornstein_uhlenbeck <- function(T,n,nu,lambda,sigma,x0){ dw <- rnorm(n, 0, sqrt(T/n)) dt <- T/n x <- c(x0) for (i in 2:(n+1)) { x[i] <- x[i-1] + lambda*(nu-x[i-1])*dt + sigma*dw[i-1] } return(x); }

6

As pointed out by Brian, the question is vague because generally mean reversion requires a well defined mean. Nevertheless, there are processes which are not mean stationary (mean is not homogenous across observations) for which a concept of mean exists. Let $\mu_t = E(x_t)$. In general you can have $\mu_t \neq \mu_s$ (i.e. violate mean stationarity) but ...

5

Mean reversion speed $\kappa$ is better interpreted with the concept of half-life, which can be calculated from $\text{HL} = \ln(2) / \kappa$. For example, if the mean reversion coefficient is $\kappa = 1.5$, then the half-life of the process is $\ln(2) / 1.5 = 0.46209812$ years, or about 6 months. Let's assume that the current interest rate is 1% and the ...

5

Well, "mean reversion trading" could mean a lot of things, I am not qualified to describe it in full generality. However, there is a simple model of mean reversion called the Ornstein Uhlenbeck process that is often seen. It has two parameters \lambda and \sigma, where lambda is the strength of the mean reversion (so one over lambda is the mean reversion ...

5

Pairs trading is just one type of statistical arbitrage (check out references on wikipedia page). It sounds like you are talking about trading "factors" against each other. Factors could be industries, size, fundamentals, or purely statistical. Start with Ed Thorp's Wilmott articles on statistical arbitrage. Then read Attilio Meucci's Review. An example ...

5

Within the fixed income space, there's a lot of literature on PCA trading. The first 2-3 principal component factors (PCs) can typically explain 90-99% of the total variances in yield curve movement. It's also nice, because the first PC looks like a change in the overall level of the yield curve, the second PC looks like a slope change, while the third ...

4

if you just want to test for significance of the generation of returns exceeding a hurdle rate then you can just setup a standard hypothesis test where you test whether your returns you generate from back tests exceeds a certain return. if you are more interested in testing for co-integration then you should consider the Johansen and/or Engle-Granger tests ...

4

You can also use the Sim.DiffProc package. Have a look at this document: Sim.DiffProc: A Package for Simulation of Diffusion Processes in R See esp. chapter 2.1.2 There is even a Graphical User Interface (GUI) available for some functions: http://cran.r-project.org/web/packages/Sim.DiffProcGUI/index.html See chapter 4 in the above document for details.

4

If you have a fairly good model of regime separation (of course requiring a good quantitative measure of regime state classifications -- momentum and reverting) and predictive likelihood (using something like a markov state transition matrix)-- one could weight contributions corresponding to next state probabilities. Of course, you will rarely get a ...

4

A very popular choice for mean reversion is the Ornstein–Uhlenbeck process (here in discretized form): $$L_{t+1}-L_t=\alpha(L^*-L_t)+\sigma\epsilon_t$$ Here you see that the level change is governed by some parameter $\alpha$, the mean reversion rate (or speed), and the distance between the long run mean $L^*$ and the actual level $L_t$ plus some noise. A ...

4

The formula is given in your link. For the real world probability without jump: $$x_t = x_{t-1} e^{-\eta \Delta t} + \hat{x}(1-e^{-\eta \Delta t}) +\sigma \sqrt{\frac{1-e^{- 2 \eta \Delta t}}{2 \eta}} N(0,1)$$ where: $x_t$: price $x_{t-1}$: PreviousPrice $\hat{x}$: long term mean (a parameter) $\Delta t$: Time step (one fraction) $\eta$: ...

3

1) The reversion speed $\eta$ is just a scaling factor >0 to control the sensitivity to mean deviations, it has no unit as such. 2) There are various simulation formulas in your reference link. Can you please specify which of these you want to simulate?

3

The claim that interest rates don't follow long term trends is not consistent with observed data. The idea of mean reversion is that interest rates do not rise or fall without bound, but are limited by economic and political factors. But there is no indication that this oscillation of short rates should happen around a constant mean. Allowing the mean ...

3

Let's consider the following example: the process is initialized randomly with $\pm1$ and then stays there forever. Seems stationary to me, but it would never cross its mean.

3

EDIT: My reasoning below seems to be wrong. The process as you write it tends to infinity if $a$ is big enough and positive and if $\lambda_0$ is positive. I would not call this process non-meanreverting OU. It is just an Ito process of a simple form. If we remove the stochastic part then we get $$d\lambda_t = a \lambda_t dt$$ with the solution (if $\... 3 I found out what I was doing wrong - the OLS function was regressing with no intercept value - so I had to use the "add_constant" method to add an intercept term to the X series (z_lag) as follows: z_lag = np.roll(z_array,1) z_lag[0] = 0 z_ret = z_array - z_lag z_ret[0] = 0 #adds intercept terms to X variable for regression z_lag2 = sm.add_constant(z_lag) ... 3 Using https://en.wikipedia.org/wiki/Ornstein%E2%80%93Uhlenbeck_process#Solution $$X^i_t = (X^i_0 + \int_0^t\sigma_i e^{a_i u} dB^i_u)e^{-a_it}$$ and $$X^i_t-\mathbb{E}[X^i_t] = e^{-a_it} \int_0^t\sigma_i e^{a_i u} dB^i_u$$ and thus : $$\text{Cov}(X^1_t,X^2_t)=\mathbb{E}\left[e^{-a_1t} \int_0^t\sigma_1 e^{a_1 u} dB^1_u e^{-a_2t} \int_0^t\sigma_2 e^{... 2 Momentum and mean reversion are labels to describe the behavior of a stock relative to the time period under consideration. That means same stock can be a momentum stock at one point in time and mean reverting stock at different point in time. Similarly at same time, a stock can be both a momentum stock and mean reverting stock depending on which time frame ... 2 Bermudan swaptions (often on interest rates) are typically valued with a model that incorporates mean-reversion parameters. This might be as naive as Black-Karasinski, but more often is somewhat more sophisticated, for example Generalized Vasicek. Calibrating the model involves choosing model parameters that "best" fit the observed bermudan swaption prices.... 2 Following on from Tal Fishman's idea of using "some good old-fashioned judgment," you might find the idea of applying a Tukey chart and its related upper and lower control limits more useful than standard deviation. 2 This sounds like a case where you will need to apply some good old-fashioned judgment to determine what the standard deviation "should be" before you have enough data to measure it. Surely this process repeats with some frequency, and perhaps given some attributes and more details you could make an educated guess as to the standard deviation (or quantiles, ... 2 The concept of 'mean reversion' is tricky in continuous time. Most people would call 'mean reverting' a process where the drift pulls back towards a long run mean, and I assume that this is what you also mean. Something like the drift of an OU process. However, in continuous time the 'pull' can be generated by the volatility. For example the process$$ dX_t ... 2 Similar to Juan Gil's answer but a bit differently I would say the following based on this: The OU process $$dX_t = \kappa(\theta-X_t)dt + \sigma dW_t$$ can be (Euler-Maryuama discretization) discretized at times$n \Delta t,n=1,\ldots,\infty $which gives with$t = k \Delta t$$$X_{k+1} - X_k = \kappa \theta \Delta t -\kappa X_k \Delta t + \sigma (W_{k+1} ... 2 For a Ornstein-Uhlenbeck process, the maximum likelihood parameters are the ones from least squares regression. If your process is:$$ dX=\kappa (\theta-X)dt+\sigma dW $$you can do a linear regression in the form$$ \frac{dX}{dt}=a+bX+\epsilon $$So your parameters will be:$$ \kappa=-b  \theta=-\frac{a}{b}  \sigma=std(\epsilon dt)$\$

Only top voted, non community-wiki answers of a minimum length are eligible