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.