Fitting and Simulating Skewed Student t Returns
Summary
The document addresses fitting a skewed Student t distribution to financial limit order book returns and then simulating from the fitted model. It points to an R distribution-fitting library for maximum likelihood estimation and to a package that implements skewed t distributions with an MLE routine. It also mentions matching moments as a possible route to estimating location and shape parameters, though it gives little detail on that suggestion.
As a simple alternative, the response proposes fitting gain and loss observations separately by reflecting each side to form symmetric samples and applying standard Student t estimation. Simulation then selects the gain or loss parameter set according to a random draw. This construction is easy to implement but creates a discontinuity at zero, and the document acknowledges that skewed t distributions can be defined in multiple ways. It provides advice rather than a worked fit, validation results, or guidance on assessing suitability for a particular order book dataset.
Key ideas
- Skewed Student t parameters can be estimated with a package that supports the distribution and MLE.
- Moment matching is suggested as another possible way to estimate some parameters.
- Separate gain and loss fits can approximate skewness using standard Student t models.
- The two-sided construction enables simulation by choosing between gain and loss models.
- The simple construction has a discontinuity at zero and is not the only skewed t specification.
Tags
Full text
# Skewed Student t distribution MLE and Simulation
# Skewed Student t distribution MLE and Simulation
I have Financial LOB data and I feel that a skewed t distribution will fit best. I have a problem trying to find the parameters using MLE numerically since Matlabs built in function does not allow for Skewed t-distn.
Can somebody point me to some code which will find the parameters? Or can someone offer advice for an easy way to do this? I also need to simulate using these parameters but I think this is easier
Cheers
## Answer by will (score 2)
https://quant.stackexchange.com/a/26189
Can you not just measure the moments of your data, and then use them to find `mu` and `v`?
where the second simplifies to
## Answer by Hanjo Odendaal (score 1)
https://quant.stackexchange.com/a/26188
i think the `fitdistrplus` library in R could help you with this:
```
fitdist(data, distr, method = c("mle", "mme", "qme", "mge"),
start=NULL, fix.arg=NULL, discrete, keepdata = TRUE, keepdata.nb=100, ...)
# for student t
fitdistr(x, "t", start = list(m=mean(x),s=sd(x), df=3), lower=c(-1, 0.001,1))
```
## Answer by RiskyScientist (score 1)
https://quant.stackexchange.com/a/27789
You might have a look at the "sn" R package in CRAN:
Link to standard R documentation for CRAN package sn
It has a skewed t distribution implemented as well as an MLE function.
Alternatively, a simple approach (which leads to a slightly ugly looking distribution) would be to model the positive returns and negative returns separately. In pseudocode:
1) Separate the positive returns (LOB gains) and negative returns into different vectors
2) Using the positive returns, multiply them all by -1 and append them to the original positive return data set, creating a symmetric return series
3) Do a standard Student t MLE fit to this data
4) Repeat the above steps for the negative return data, creating a symmetric time series, etc.
You now have a version of "the" skewed t distribution (there are a number of ways of creating a skewed t distribution) which has a discontinuity at the zero return point - this is ugly, but the method is at least simple and straightforward. As you can imagine, simulation is also very easy: if your starting uniform random is < 0.5 then you use the "loss" parameters, otherwise you use the "gain" parameters. It may be that you only really care about the losses - if so then the above process is even simpler.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.