Hey! I made you some Wiener processes!

Check them out.

Here are thirty homoskedastic ones:

> homo.wieners <- array(0, c(100, 30))
> for (j in 1:30) {
  for (i in 2:length(homo.wieners)) {
          homo.wieners[i,j] <-  homo.wieners[ i - 1, j] + rnorm(1)
                     }}

> for (j in 1:30) {

       plot( homo.wieners[,j], 
          type = "l", col = rgb(.1,.1,.1,.6),
          ylab="", xlab="", ylim=c(-25,25)
            );
             par(new=TRUE)

 

Here’s just the meat of that wiener, in case the for loops or window dressing were confusing.

homo.wiener[i] <-  homo.wiener[ i - 1] + rnorm(1)

 

I also made you some heteroskedastic wieners.

# same for-loop encasing. ∀ j make wieners; ∀j plot wieners
> hetero.wiener[i] <- hetero.wiener[ i-1 ] + rnorm(1, sd=rpois(1,1) )




 

It wasn’t even that hard — here are some autoregressive(1) wieners as well.

# same for-loop encasing. j make wieners; ∀j plot wieners
> ar.wiener[i] <- ar.wiener[i-1]*.9 + rnorm(1)

 

Other types of wieners:

  • a.wiener[i-1] + rnorm(1) * a.wiener[i-1] + rnorm(1)
  • central.limit.wiener[i-1] + sum( runif(17, min=-1) )
  • cauchy.wiener[i-1] + rcauchy(1)      #leaping lizards!

     
  • random.eruption.wiener[i-1] + rnorm(1) * random.eruption.wiener[i-1] + rnorm(1)



     
  • non.markov.wiener[i-1] + non.markov.wiener[i-2] + rnorm(1)
  • the.wiener.that.never.forgets[i] <- cumsum( the.wiener.that.never.forgets) + rnorm(1)
  • non.wiener[i] <- rnorm(1)
     
  • moving.average.3.wiener[i] <- .6 * rnorm(n=1,sd=1) + .1 * rnorm(n=1,sd=50) + .3 * rnorm(n=1, mean=-3,sd=17)
  • 2d.wiener <- array(0, c(2, 100));
    ifelse( runif(1) > .5,
         2d.wiener[1,i] <- 2d.wiener[1,i-1] + rnorm(1)
                 && 2d.wiener[2,i] <- 2d.wiener[2,i-1],
         2d.wiener[2,i] <- 2d.wiener[2,i-1] + rnorm(1)
                 && 2d.wiener[ 1,i] <- 2d.wiener[1,i-1]


     
  • 131d.wiener <- array(0, c( 131, 100 )); ....
  • cross.pollinated.wiener
  • contrasting sd=1,2,3 of homo.wieners
     
 

What really stands out in writing about these wieners after playing around with them, is that logically interesting wieners don’t always make for visually interesting wieners.

There are lots of games you can play with these wieners. Some of my favourites are:

  • trying to make the wieners look like stock prices
    https://i0.wp.com/blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-22-metablogapi/3733.allseries_5F00_3535DC51.png
    https://i0.wp.com/www.bearcave.com/misl/misl_tech/signal/nonstat/amat_close.jpg
    https://i0.wp.com/www.emeraldinsight.com/fig/1598_10_1016_S1569-3767_07_00005-2.png
    https://isomorphismes.files.wordpress.com/2011/09/02688-icici-price-cds.jpg
    https://isomorphismes.files.wordpress.com/2011/09/e9b99-conditional2bmc2bstock.png
    https://i2.wp.com/www.bearcave.com/misl/misl_tech/wavelets/wavelet_graph.jpg
    https://i1.wp.com/cdn.macrumors.com/article-new/2012/08/aapl_644_13.jpg
    https://i1.wp.com/blog.ipl.com/wp-content/uploads/MSM-Volatility.png
    https://i2.wp.com/www.mathworks.com/cmsimages/50806_wl_dft4_fig1_wl.jpg





    ChartIQ Practice Trading Simulator
    CNBC Real-Time
    (I thought sqrt(rcauchy(1)) errors with a little autocorrelation looked pretty good)
  • trying to make them look like heart monitors
    pieces of a QRS wave complex
    (actually really hard, as they’re composed of PQRST waves)

Also it’s pretty hard to tell which wieners are interesting just from looking at the codes above. I guess you will just have to go mess around with some wieners yourself. Some of them will surprise you and not do anything; that’s instructive as well. 

 

VOICE OF GOD: WHAT’S UP. I AM THAT I AM. I DECLARE THAT THE WORD ‘WIENER’ IS OBJECTIVELY FUNNY. THAT’S ALL FOR NOW. SEE YOU WEDNESDAY THE 17TH.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s