code: def annual_volatility(returns,
                        period=DAILY,
                        alpha=2.0,
                        annualization=None,
                        out=None):
      
      allocated_output = out is None
      if allocated_output:
          out = np.empty(returns.shape[1:])
  
      returns_1d = returns.ndim == 1
  
      if len(returns) < 2:
          out[()] = np.nan
          if returns_1d:
              out = out.item()
          return out
  
      ann_factor = annualization_factor(period, annualization)
      nanstd(returns, ddof=1, axis=0, out=out)
      out = np.multiply(out, ann_factor ** (1.0 / alpha), out=out)
      if returns_1d:
          out = out.item()
      return out
docs: Determines the annual volatility of a strategy.
  
      Parameters
      ----------
      returns : pd.Series or np.ndarray
          Periodic returns of the strategy, noncumulative.
          - See full explanation in :func:`~empyrical.stats.cum_returns`.
      period : str, optional
          Defines the periodicity of the 'returns' data for purposes of
          annualizing. Value ignored if `annualization` parameter is specified.
          Defaults are::
  
              'monthly':12
              'weekly': 52
              'daily': 252
  
      alpha : float, optional
          Scaling relation (Levy stability exponent).
      annualization : int, optional
          Used to suppress default values available in `period` to convert
          returns into annual returns. Value should be the annual frequency of
          `returns`.
      out : array-like, optional
          Array to use as output buffer.
          If not passed, a new array will be created.
  
      Returns
      -------
      annual_volatility : float