7

Very interesting question. I am not an expert on the subject, however, I was able to find a collection of papers on the subject that should get you started. Here is a good and very informative paper that walks you through several tick by tick volatility estimators that seek to reduce the volatility imposed by market micro-structure: Efficient estimation of ...


7

The use of kernels to estimate volatility using intraday data is "nothing more" than combining: intraday volatility estimation kernel smoothing Thus you have to take care about the "usual pits" of these two approaches. Intraday volatility estimation. I hope you know the "signature plot" effect. Of course if you use the proper estimation method, it should ...


7

What you refer to as the 99.5th percentile is known as the "Value-at-Risk." You are correct that you will need to make a distributional assumption, and there is a popular and well-researched approach to this problem, though I'm not certain it could be called "standard." I would recommend you use the "truncated Levy flight" distribution. James Xiong at ...


7

I personally use the simple Garch(1,1) for volatility filtering in the risk management area. In fact in most cases I don't even estimate the parameters, I stick 0.94 for mean reversion, 0.04 for the squared error and I get the constant by matching the series variance. My experience is that there is no point pretending to finetune parameters when vol is ...


6

I think an extremely interesting strand of research on this topic is represented by extensions of vine copulas with time-varying parameters. For vine copulas in general have a look at this site from the Technische Universität München: Vine Copula Models One of their research projects, which is the most relevant in this context, is:Time varying vine copula ...


6

Estimating $MA(q)$ models is significantly harder than $AR(p)$ models. Eviews, MATLAB and R can use multiple algorithms which are all based on some form of maximum likelihood estimation. You can look at the source of MATLAB and R or the excellent Eviews documentation. However, I strongly advise against rolling your own since efficient and well tested ...


6

There is no standard approach to this problem to the best of my knowledge. Different approaches exist and each has its own pros and cons as usual. To mention a few: Information-based methods: these aim at "risk-neutralising" the distribution observed under the physical measure relying on some information criterion e.g. minimising the KL divergence, or ...


4

The answer to the original question is simple: the Chopra-Ziemba paper is highly flawed and unreliable. Note that the framework is in-sample and based on a utility function. It has nothing to do with out-of-sample behavior of the mean vs. the covariance in an optimization. Estimation error grows linearly in the mean but quadratically in the covariance. At ...


4

Did you try solving for $w_k$? $$\bar{r}_t = \sum_{k=0}^p w_k r_{t-k}$$ $$\bar R = W R$$ Since you probably have $t>>k$, you can solve for $W$ using OLS $$\bar R = W R +\varepsilon$$ -- UPDATE You can try applying Kalman filter. Here, your state evolution is $$r_t=\mu+\varepsilon_t$$. You introduce new vector $x_t=(r_t, r_{t-1}, \dots, r_{t-p+1})$...


4

Thanks @Aksakal for suggesting Kalman Filter. Here I provide more details. We will view it as a state-space model: $$ \begin{split} z_t &= A_t z_{t-1} + B_t u_t + \epsilon_t, \\ y_t &= C_t z_t + D_t u_t + \delta_t, \\ \epsilon_t &\sim \mathcal{N}(0, Q_t),\ \delta_t \sim \mathcal{N}(0, R_t), \end{split} $$ where $z_t$ is the latent variable, $y_t$...


4

The $\lambda$ value used in the original paper is arbitrary, but you can estimate that by assuming (in the simplest case) 2 assets and running the following model: $\sigma^2_{12,t+1}$ $=$ $\lambda$$*$$\sigma^2_{12,t-1}$$+$$(1-\lambda)$$r_{1,t}$$*$$r_{2,t}$; given $r_{1,t}$ and $r_{2,t}$ respectively as the returns for the asset 1 and 2 and $\sigma^2_{12,t}$...


4

If $\log{(|R_t|)}$ is your first term, I'm not sure why this is a matrix. Modulus (determinant herein) applied to a matrix $R_t$ gives a scalar. If your implementation in python produces a matrix, that's likely because modulus is treated as an element-wise abs() function for each element of a matrix. It may be easier and faster to use rugarch (univariate ...


4

Since you're asking on a quant finance forum, the mathematical approach would be Decide on a model that the stock price follows, and Compute the expected value of the price, conditional on the most recent price. A famous model, made ubiquitous by Black, Scholes and Merton, is a geometric Brownian motion. Under this model, the stock price $S_T$ at time $T$ ...


4

Not really. For infinite maturity bonds we have $Price = coupon/yield$ so your approximation is actually correct. However for short dated bonds it is not a good approximation. For example , a 1 year annual pay bond gives $Price=(1+coupon)/(1+yield)$ which is very poorly approximated by $coupon/yield$.


4

Expected returns are very difficult to estimate reliably without incurring estimation error as found out by Merton (1980) "On estimating the expected return on the market". This is why estimating volatility/the covariance matrix has become the default approach in the mean-variance model because volatility is easier to predict than returns. Even the global ...


4

The time step typically depends on the context. Due to the self-similarity of Brownian motion the mathematics should work similarly on any time scale, although the resultant estimates might vary greatly (as you mention). Since the cited article assumes a "high-frequency market maker," the implied time step seems to be the shortest time step available or ...


3

Using a realized kernel for calculating volatility will give you results in the same resolution as the data you feed them. So if you feed them minute-by-minute data, then the volatility will be calculated minute-by-minute. What that really means is that only once per minute will you have a good estimate of the volatility of whatever asset you're looking at. ...


3

There are many techniques, but I would begin with Stambaugh Analyzing Investments Whose Histories Differ in Lengths. The full information maximum likelihood approach he describes basically involves regressing the short history series against the long history series to obtain the covariance with the longer history securities and adding back the covariance of ...


3

One approach would be Engle (2002) dynamic conditional correlations. Taking your $Y_t$ and $X_t$, I will make the simplifying assumption that the mean equation of these is: $$\boxed{Y_t = \mu_y + \varepsilon_{y,t}}$$ $$\boxed{X_t = \mu_x + \varepsilon_{x,t}}$$ with $\varepsilon_{y,t} = z_{y,t} \sigma_{y,t} \sim N(0,\sigma_{y,t})$, $\varepsilon_{x,t} = ...


3

$dF(t,T)$ describes the dynamics of the rate of a particular forward contract as time $t$ moves forward to a fixed expiration $T$. $d\bar F(t,\tau)$ describes the dynamics of the rate at a particular point on the yield curve as time moves forward. The differential $\frac{\partial F}{\partial T}dt$ is simply the difference between holding the expiration ...


3

Interesting question, as All the answers (including mine) could not be generalized unfortunately. As far as I am concerned, I use a univariate EGARCH for risk modelling purposes (Filtered Historical Simulation (FHS), etc.). 1 - EGARCH, merely because GARCH models do not take into account so-called leverage effects, which is crucial to me for skewed and ...


3

$\alpha=0$ does not imply constant volatility. Consider just a simple Garch(1,1): $$\sigma^2_t = \omega + \alpha \eta_t^2 + \beta \sigma^2_{t-1}$$ Note that: $$\sigma^2_t = \omega + (\alpha + \beta) \eta_t^2 - \beta (\eta_t^2- \sigma^2_{t-1})$$ Now add $\eta_{t+1}^2$ to both sides: $$\eta_{t+1}^2 = \omega + (\alpha + \beta) \eta_t^2 - \beta (\eta_t^2-...


3

If you estimate your model via Maximum Likelihood method, you are forced to re-estimate the full model. This is due to the fact that estimates are values which maximize the full likelihood, the latter being based on a recursive algorithm which use all observations (including the new one) and implies that a new observation may also impact likelihood values of ...


3

First, you should use an exponential moving average, since the amount of state you need to keep is much smaller than for a simple moving average. Second the well known estimator of volatility, $$ \hat{\sigma} = \sqrt{\frac{1}{n}\sum_{i=1}^n (x_i - \bar{x})^2} $$ is not very robust, since the squaring amplifies the contribution of outliers (which is why ...


3

Based on an my updated understanding of your problem you have a portfolio consisting of $N$ illiquid assets. Valuations are not real time and usually lagged, by say, upto 3 months (or slightly longer), but at least valuations correspond to a consistent timestamp (or otherwise you interpolate a consistent timestamp). You want to construct a predictive model ...


2

I have written R code for some time-varying bivariate fat-tailed copula functions (ripped off Patton's Matlab code) and played around with various optimizers. You can then use Rsolnp, nloptr, alabama or DEoptim packages to find an optimisation solution. Here is some R code where I play around with different optimisation algorithms. Note that the data2.csv ...


2

Once we start building time-varying copulas like Lopes suggests in that paper, I think we are better off venturing into the world of state space models. When viewed in a bayesian context, the similarities between the approaches are striking to me. The advantage of the copula, as I understand it, is that it is a quick and dirty way to understand the ...


2

The standard answer to your question would be to do the maximum likelihood estimation. When you say "plug in $\sigma$" you can show that the sample estimate of $\sigma$ is actually the maximum likelihood estimate of $\sigma$ for the normal distribution. If I can assume that your data are IID then what you do is use your distribution with parameters $\{\...


2

I would recommend to use simple standard deviation (among the 2 options you offered). You are performing time series analysis of historical data points, you are not forecasting. Thus, why exposing yourself to a much more computationally intensive method? May I also point you to a related (not duplicate) thread: Why are GARCH models used to forecast ...


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