Lazy Python Brownian Generator

nerdblog ยป Lazy Python Brownian Generator

Posted on 14 Nov 2015 23:46

I needed a source stochastic data to act as a mock for some time series IoT work I have been doing lately. After some google searching I was unable to find something right off the bat so decided to write one. I needed a source of random looking walk data that was endless as they would need to produce data for long periods of time and have a low memory footprint. It's possible to just use numpy just to generate a long list of walk data but this was more fun.

def geometric_brownian_sequence(s0=0, upper=0, lower=0, dt=.1, mu=0.0, sigma=0.01): current = s0 while True: w = np.random.standard_normal() * np.sqrt(dt) x = (mu - 0.5 * sigma ** 2) * dt + sigma * w current = max(lower, min(upper, current * np.exp(x))) yield current

Like this entry?

page revision: 2, last edited: 14 Nov 2015 23:48

## Leave a comment