Hot answers tagged

26

It's an interesting question. I particularly agree with the $\mathbb{Q}-\mathbb{P}$ dichotomy mentioned by many. I would add to the other answers that, come to think of it, the Black-Scholes postulated Geometric Brownian Motion could be interpreted as an AR(1) process on the logarithm of the stock price as you discretise the SDE from which it is a solution,...


14

I think you need to differentiate between Q-quants vs P-quants. The former might not use Econometrics, but P-quants use them a lot.


11

Traditional econometric (time series) models are of little or no value in forecasting market prices for purposes of "making money", i.e, generating excess return over a benchmark in an asset management setting. They have some limited value in strategic and tactical asset allocation. The ineffectiveness of time-series modeling in asset management stems ...


7

Having thought about this I think the following reason is also important and wasn't mentioned so far: When you look at the inner working of this whole class of econometric models it all boils down to the following: It is possible (under some reasonable assumptions) to express any $MA(q)$ model as an $AR(\infty)$ model (and vice-versa for expressing $AR(p)$ ...


6

My answer is very much in the spirit of Kiwiakos' answer. E.g. in this paper (where I am one of the coauthors) we use VMA (vector moving average) models (in the multivariate case) and AR models in the univariate case to calculate proper scaling of volatility or its contributions if there are (cross-) auto-correlations. This happens in the P world due to ...


4

You can use Matlab too, that, in my humble opinion, is simpler than R from a syntax point of view. The model you need for is run by the Matlab function arima that can be used with seasonality option to do what you have to do. Here you can find an example and a brief explanation of the model. Type ctrl + F and search for: "Specify a seasonal ARIMA model" ...


3

There are a couple of issues with your example. First, for this ticker, there is a problem with the Yahoo price data for the period 2014-11-26 through 2014-12-03 in which the prices drop about 80% and then return to their trend line. This appears to be related to a stock split which Yahoo isn't handling properly and isn't real. Its causing part of your ...


3

What you should do: read a general introduction to time series analysis before you apply these methods otherwise you will misinterpret the results. time series are assumed to be covariance stationary. This is in short that their mean is the same for all points in time and that the covariance between two observations only depends on the lag. the "I" in ...


2

You find R code for seasonal ARIMA models again in the book mentioned (this chapter). Do you really need the GARCH errors?


2

The mean equation specification for ARIMAX(8,0,0)(5,0,1)[7] (as in the R code above): $$ (1 - \phi_1L^1 - \ldots - \phi_8L^8)(1-\Phi_1L^7 - \Phi_2L^{14} - \ldots - \Phi_5L^{35})y_t = \beta x_t + (1 + \Theta_1L^7)\varepsilon_t $$ where $x_t$ is the holiday dummy variable. Equivalent ARIMA fit in Matlab (+ GARCH and forecasting): % specify seasonal ARIMA(8,...


2

In general, if you have a model of relation between $y$ and $x$ whereby the relation is not perfect but measured with errors: $$y_t = f(x_t) + \varepsilon_t,$$ where errors $\varepsilon$ are assumed to be additive but need not be, you are free to choose the distribution of these errors to better fit the reality. That is where GARCH enters as a great ...


1

I traced the error. It is a C language routine implemented in R that appears to have been functionally obsolesced, so it is called by other routines, but I don't think it is still implemented as its own routine. Some information on it is at ftp://cran.r-project.org/pub/R/doc/manuals/r-devel/R-exts.html Given the underlying math, there is one of three ...


1

Without testing it is hard to know. I am assuming you are trying to predict volatility and not returns. Hansen and Lunde (2005) concluded that hardly anything beats a Garch(1,1) for a stock and an exchange rate. But this conclusion could be re markedly different for another assets. There is know way to tell a priori. You need to run the models out-of-sample ...


1

But it is sensless to include data from night hours if I trade only during day. This kind of thinking seems to be a common beginners' fallacy in econometrics and related fields (nothing personal). You have to distinguish two elements of your problem: understanding how a time series develops (e.g. by building a model for it); utilizing your understanding to ...


1

When you say discontinuous, you are referring to the clock time. So depending on your assumptions, it may not be discontinuous in trading time. For some securities that are not trading over night and are relatively stable during off hours, you might as well safely ignore the off hours and make the time series continuous. While for others that trade ...


1

for Java you may try: 1) a) https://github.com/signaflo/java-timeseries b) https://github.com/signaflo/java-timeseries/wiki/The-timeseries-package c) https://github.com/signaflo/java-timeseries/wiki/ARIMA-models 2) https://github.com/Workday/timeseries-forecast Hope this helps! Damianos


1

You can do it manually. Let x be the data series. The code below considers all moving-average lag orders between 0 and max.q and prints out the BIC-minimizing lag order and the corresponding estimated model: m=list() # I will save estimated ARIMA(1,0,q) models here BIC=c() # I will save the corresponding BIC values here max.q=10 # the maximum MA order you ...


1

It is too much too text so I take screenshots and the link to Rob Hynman's blog entry: If you formulate the ARIMA model likes this: Then you get these long term forecasts:


1

While SARIMA-GARCH is not currently (October 2016) implemented in R as far as I am aware, you can deal with seasonality by including some dummy variables or Fourier terms in the conditional mean model. If you are using the "rugarch" package in R, you can include these terms via the argument external.regressors within the argument mean.model in the ugarchspec ...


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