[R-SIG-Finance] Random numbers with positive skewness

spencerg spencer.graves at prodsyse.com
Mon Jul 20 16:55:11 CEST 2009


      I believe that GARCH models tend to fit real data better than a 
normal, and GARCH with a skewed t often fits even better.  I'm not 
absolutely certain, but I believe a skewed t distribution can be 
estimated with the "garchFit" function in the "fGarch" package.  If it 
were my problem, I'd try "garchFit" to several real data set using a 
skewed t before I used simulation.  Then you could simulate more numbers 
using "garchSim". 


      To look for capabilities in R for historical price data, I did the 
following: 


 library(RSiteSearch)
hpd <- RSiteSearch.function('historical price data')
HTML(hpd)


      This found 10 help pages in 8 contributed packages containing the 
indicated search term and displayed the results in a browser. 


      Hope this helps. 
      Spencer     


James Toll wrote:
> Hi,
>
> I've been debating how to go about acquiring the historical data 
> necessary to backtest an indexing idea and I finally decided that 
> maybe I should first try it out on some randomly generated time series 
> data. So, for starters, I need to generate 100 time series to 
> represent 100 different equities, like, for example, the OEX.  To take 
> the place of 10 years of closing prices, I thought I could simply 
> generate 2520 price relatives using something along the lines of this:
>
> x <- rnorm(2520, mean = 1, sd = 0.02)
>
> But obviously, it's not likely that each of the components of a cap 
> weighted index of 100 equities is going to have price relatives with 
> an SD of 0.02.  So I'd like to be able to vary the SD for each.  I 
> thought I could just as easily randomly generate a vector of SD's for 
> use in generating each time series like so:
>
> y<-rnorm(100, mean = 0.025, sd = 0.007)
>
> The problem I'm running into is that when generating the SD's for each 
> of the 100 time series my wild guess is that the mean might be 
> somewhere between 0.02 and 0.03, and I think the SD might be somewhere 
> around 0.007, but I don't think a normal distribution really works at 
> all.  I think I need a lot of positive skewness to the distribution.
>
> BTW, all of these wild guesses are simply based upon my experience as 
> an option market maker (which may be worthless to this task), and 
> there are lots of equities that normally trade between 30 and 50 
> volatility, but then I've also traded tech stocks with vols around 80 
> and 90.  So basically I think the bulk of the distribution of SD's is 
> between 0.02 and 0.03, they taper off on the left side around 0.01, 
> maybe a little lower, but then on the right side the long tail goes up 
> to around 0.06.  If my assumptions / conclusions are totally off base 
> please feel free to tell me.  This is definitely my first attempt at 
> any kind of backtesting.
>
> Is there some other method of generating random numbers that will 
> allow me to control the skewness of the distribution?  Thanks.
>
> James
>
> _______________________________________________
> R-SIG-Finance at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only.
> -- If you want to post, subscribe first.
>



More information about the R-SIG-Finance mailing list