Skip to main content
11 events
when toggle format what by license comment
May 3, 2016 at 20:29 comment added Quantuple Personally, this is what I understand. Day 1, (1) run OLS to get $\hat{\beta_0}$ and $\hat{\beta}$, (2) build auxiliary process from regression residuals and estimate OU parameters (3) generate signal and trade accordingly. Day 2 to Day 5, instead of step (1) just use the value found at day 1 and continue with steps (2) and (3) as usual. Day 6, do as Day 1 that is find the new $\hat{\beta}$ etc. Maybe you would get more insight if you asked this question on Quantitative Finance Stack Exchange, please be specific on what you tried and what you already know if you do so people there can help
May 3, 2016 at 18:42 comment added Arti Do I understand correctly that after running OLS: 1) I get beta and alpha, 2) I estimate OU parameters, 3) then I hold all parameters constant for next 5 days, 4) get 5 residuals from the regression, add them up to X(k) one by one, 5) estimate Z score for rach of these 5 days via (X(k)-mu)/sigma, where mu and sigma are OU parameters obtained in step 2).
May 3, 2016 at 17:46 comment added Quantuple @Arti No I never ran this strategy myself. My bad: I only mentioned this daily re-calibration to illustrate why $s$-scores were not constant as you initially claimed. If you look in your reference (bottom right paragraph at page 1 and figure 2.2), you see that they suggest to keep $\hat{\beta}$ (OLS weights obtained when regressing $R^1$ on $R^2$) piecewise constant over intervals of 5 days to preclude rebalancing costs from eating up the profit from trading mean reversion. Also I suggest you first benchmark your impl using the same data set as the reference paper to see how it compares.
May 3, 2016 at 17:11 comment added Arti Quantuple, do you have any experience of implementing this algo? I ran several simulations estimating s-scores for each day based on the historical 60 days period. I estimated around 100 s-scores and then applied trading tresholds from Avellaneda paper, the results are just random trading there is no visible edge at all. Is it correct to run the regression everyday? shouldn't some parameters be kept constant for some time?
May 3, 2016 at 0:21 vote accept Arti
May 2, 2016 at 15:05 comment added Quantuple @Arti, I have edited my answer for you to get a better grasp of what really happens in practice. Please re-read everything since I've added details everywhere :) If the answer suits you, don't hesitate to accept it: if it helped you it might help others.
May 2, 2016 at 15:04 history edited Quantuple CC BY-SA 3.0
added 64 characters in body
May 2, 2016 at 14:53 history edited Quantuple CC BY-SA 3.0
added 910 characters in body
May 2, 2016 at 14:47 history edited Quantuple CC BY-SA 3.0
added 910 characters in body
May 2, 2016 at 14:09 comment added Arti Thanks Quantuple, great answer. So now, if I understand you correctly I should use X from the auxiliary values series (2.5) to fit in the Z-score equation. Regarding the Avellaneda papers, the notation that s=(-m)/sigma is a bit confusing to me, since both m and sigma are constants the s-score will also be constant, but Figure 7 from the paper, shows its evolution as a mean reverting process, is that example calculated using auxiliary values? In the 3rd section it is defined as per equation (2.1) above.
May 2, 2016 at 13:29 history answered Quantuple CC BY-SA 3.0