Learn R Programming

RandomWalker (version 0.1.0)

brownian_motion: Brownian Motion

Description

Create a Brownian Motion Tibble

Usage

brownian_motion(
  .num_walks = 25,
  .n = 100,
  .delta_time = 1,
  .initial_value = 0,
  .return_tibble = TRUE
)

Value

A tibble/matrix

Arguments

.num_walks

Total number of simulations.

.n

Total time of the simulation.

.delta_time

Time step size.

.initial_value

Integer representing the initial value.

.return_tibble

The default is TRUE. If set to FALSE then an object of class matrix will be returned.

Author

Steven P. Sanderson II, MPH

Details

Brownian Motion, also known as the Wiener process, is a continuous-time random process that describes the random movement of particles suspended in a fluid. It is named after the physicist Robert Brown, who first described the phenomenon in 1827.

The equation for Brownian Motion can be represented as:

W(t) = W(0) + sqrt(t) * Z

Where W(t) is the Brownian motion at time t, W(0) is the initial value of the Brownian motion, sqrt(t) is the square root of time, and Z is a standard normal random variable.

Brownian Motion has numerous applications, including modeling stock prices in financial markets, modeling particle movement in fluids, and modeling random walk processes in general. It is a useful tool in probability theory and statistical analysis.

See Also

Other Generator Functions: discrete_walk(), geometric_brownian_motion(), random_normal_drift_walk(), random_normal_walk()

Examples

Run this code
library(ggplot2)

set.seed(123)
brownian_motion()

set.seed(123)
brownian_motion() |>
  ggplot(aes(x = x, y = y, group = walk_number, color = walk_number)) +
  geom_line() +
  labs(title = "Brownian Motion", x = "Time", y = "Value") +
  theme_minimal() +
  theme(legend.position = "none")

Run the code above in your browser using DataLab