title: Generate random normal distribution with kurtosis greater than 3
body: <p>A normal distribution has a kurtosis of 3. With an increase in outliers in the distribution, the tails become "fat" and the kurtosis increases beyond 3.</p>
  
  <p>How do I generate a random distribution between two numbers with kurtosis greater than 3 (preferably around 5-7)?</p>
  
  <p><strong>Imports</strong></p>
  
  <pre><code>import numpy as np
  import scipy.stats import kurtosis
  </code></pre>
  
  <p><strong>Random Uniform between 0.01-0.10</strong></p>
  
  <pre><code># Random Uniform Distribution
  runif = np.random.uniform(0.01, 0.10, 10000)
  
  kurtosis(runif, fisher=False)
  </code></pre>
  
  <blockquote>
    <p>1.8124891901330156</p>
  </blockquote>
  
  <p><a href="https://i.stack.imgur.com/xtCoV.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/xtCoV.png" alt="enter image description here"></a></p>
  
  <p><strong>Random Normal between 0.01-0.10</strong></p>
  
  <pre><code>lower = 0.01
  upper = 0.10
  mu = (upper)/2
  sigma = 0.01
  N = 10000
  retstats = scipy.stats.truncnorm.rvs((lower-mu)/sigma,(upper-mu)/sigma,loc=mu,scale=sigma,size=N)
  
  mean = .05
  stdev = .01  # 99.73% chance the sample will fall in your desired range
  
  values = [gauss(mean, stdev) for _ in range(10000)]
  
  kurtosis(values, fisher=False)
  </code></pre>
  
  <blockquote>
    <p>3.015004351756201</p>
  </blockquote>
  
  <p><a href="https://i.stack.imgur.com/vgGa6.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vgGa6.png" alt="enter image description here"></a></p>
  
  <p><strong>Random Normal with fat-tails between 0.01-0.10</strong></p>
  
  <p>???</p>