code: def calmar_ratio(returns, period=DAILY, annualization=None):
      """
      Determines the Calmar ratio, or drawdown ratio, of a strategy.
  
      Parameters
      ----------
      returns : pd.Series or np.ndarray
          Daily 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
  
      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`.
  
  
      Returns
      -------
      calmar_ratio : float
          Calmar ratio (drawdown ratio) as float. Returns np.nan if there is no
          calmar ratio.
  
      Note
      -----
      See https://en.wikipedia.org/wiki/Calmar_ratio for more details.
      """
  
      max_dd = max_drawdown(returns=returns)
      if max_dd < 0:
          temp = annual_return(
              returns=returns,
              period=period,
              annualization=annualization,
          ) / abs(max_dd)
      else:
          return np.nan
  
      if np.isinf(temp):
          return np.nan
  
      return temp
  
imports: from __future__ import division
  import math
  import pandas
  import numpy
  from math import pow
  from scipy import stats, optimize
  from six import iteritems
  from sys import float_info
  from .utils import nanmean, nanstd, nanmin, up, down, roll, rolling_window
  from .periods import ANNUALIZATION_FACTORS, APPROX_BDAYS_PER_YEAR
  from .periods import DAILY, WEEKLY, MONTHLY, QUARTERLY, YEARLY
label_desc: Use image node_id 14 for calling a global function with example usage: calmar_ratio(returns, period, annualization) and returns: temp, np, np