class_docstr: Provide exponential weighted (EW) functions.
  
  Exactly one parameter: `com`, `span`, `halflife`, or `alpha` must be
  provided.
  
  Parameters
  ----------
  com : float, optional
      Specify decay in terms of center of mass,
      :math:`\alpha = 1 / (1 + com)`, for :math:`com \geq 0`.
  span : float, optional
      Specify decay in terms of span,
      :math:`\alpha = 2 / (span + 1)`, for :math:`span \geq 1`.
  halflife : float, str, timedelta, optional
      Specify decay in terms of half-life,
      :math:`\alpha = 1 - \exp\left(-\ln(2) / halflife\right)`, for
      :math:`halflife > 0`.
      If ``times`` is specified, the time unit (str or timedelta) over which an
      observation decays to half its value. Only applicable to ``mean()``
      and halflife value will not apply to the other functions.
  alpha : float, optional
      Specify smoothing factor :math:`\alpha` directly,
      :math:`0 < \alpha \leq 1`.
  min_periods : int, default 0
      Minimum number of observations in window required to have a value
      (otherwise result is NA).
  adjust : bool, default True
      Divide by decaying adjustment factor in beginning periods to account
      for imbalance in relative weightings (viewing EWMA as a moving average).
      - When ``adjust=True`` (default), the EW function is calculated using weights
        :math:`w_i = (1 - \alpha)^i`. For example, the EW moving average of the series
        [:math:`x_0, x_1, ..., x_t`] would be:
      .. math::
          y_t = \frac{x_t + (1 - \alpha)x_{t-1} + (1 - \alpha)^2 x_{t-2} + ... + (1 -
          \alpha)^t x_0}{1 + (1 - \alpha) + (1 - \alpha)^2 + ... + (1 - \alpha)^t}
      - When ``adjust=False``, the exponentially weighted function is calculated
        recursively:
      .. math::
          \begin{split}
              y_0 &= x_0\\
              y_t &= (1 - \alpha) y_{t-1} + \alpha x_t,
          \end{split}
  ignore_na : bool, default False
      Ignore missing values when calculating weights.
      - When ``ignore_na=False`` (default), weights are based on absolute positions.
      - When ``ignore_na=True``, weights are based on relative positions.
  
  See Also
  --------
  .. [1] https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ewm.html
  
  References
  ----------
  .. [1] https://github.com/pandas-dev/pandas/blob/d9fff2792bf16178d4e450fe7384244e50635733/pandas/core/window/ewm.py#L65
class_docstr_tok: ["Provide","exponential","weighted","(","EW",")","functions",".","Exactly","one","parameter",":","`","com","`",",","`","span","`",",","`","halflife","`",",","or","`","alpha","`","must","be","provided",".","Parameters","--","--","--","--","--","com",":","float",",","optional","Specify","decay","in","terms","of","center","of","mass",",",":","math",":","`","\\alpha","=","1","\/","(","1","+","com",")","`",",","for",":","math",":","`","com","\\geq","0","`",".","span",":","float",",","optional","Specify","decay","in","terms","of","span",",",":","math",":","`","\\alpha","=","2","\/","(","span","+","1",")","`",",","for",":","math",":","`","span","\\geq","1","`",".","halflife",":","float",",","str",",","timedelta",",","optional","Specify","decay","in","terms","of","half-life",",",":","math",":","`","\\alpha","=","1","-","\\exp\\left","(","-\\ln","(","2",")","\/","halflife\\right",")","`",",","for",":","math",":","`","halflife",">","0","`",".","If","``","times","``","is","specified",",","the","time","unit","(","str","or","timedelta",")","over","which","an","observation","decays","to","half","its","value",".","Only","applicable","to","``","mean","(",")","``","and","halflife","value","will","not","apply","to","the","other","functions",".","alpha",":","float",",","optional","Specify","smoothing","factor",":","math",":","`","\\alpha","`","directly",",",":","math",":","`","0","<","\\alpha","\\leq","1","`",".","min_periods",":","int",",","default","0","Minimum","number","of","observations","in","window","required","to","have","a","value","(","otherwise","result","is","NA",")",".","adjust",":","bool",",","default","True","Divide","by","decaying","adjustment","factor","in","beginning","periods","to","account","for","imbalance","in","relative","weightings","(","viewing","EWMA","as","a","moving","average",")",".","-","When","``","adjust=True","``","(","default",")",",","the","EW","function","is","calculated","using","weights",":","math",":","`","w_i","=","(","1","-","\\alpha",")","^i","`",".","For","example",",","the","EW","moving","average","of","the","series","[",":","math",":","`","x_0",",","x_1",",","...",",","x_t","`","]","would","be",":","..","math",":",":","y_t","=","\\frac","{","x_t","+","(","1","-","\\alpha",")","x_","{","t-1","}","+","(","1","-","\\alpha",")","^2","x_","{","t-2","}","+","...","+","(","1","-","\\alpha",")","^t","x_0","}","{","1","+","(","1","-","\\alpha",")","+","(","1","-","\\alpha",")","^2","+","...","+","(","1","-","\\alpha",")","^t","}","-","When","``","adjust=False","``",",","the","exponentially","weighted","function","is","calculated","recursively",":","..","math",":",":","\\begin","{","split","}","y_0","&","=","x_0\\\\","y_t","&","=","(","1","-","\\alpha",")","y_","{","t-1","}","+","\\alpha","x_t",",","\\end","{","split","}","ignore_na",":","bool",",","default","False","Ignore","missing","values","when","calculating","weights",".","-","When","``","ignore_na=False","``","(","default",")",",","weights","are","based","on","absolute","positions",".","-","When","``","ignore_na=True","``",",","weights","are","based","on","relative","positions",".","See","Also","--","--","--","--","..","[","1","]","https",":","\/\/pandas.pydata.org\/pandas-docs\/stable\/reference\/api\/pandas.Series.ewm.html","References","--","--","--","--","--","..","[","1","]","https",":","\/\/github.com\/pandas-dev\/pandas\/blob\/d9fff2792bf16178d4e450fe7384244e50635733\/pandas\/core\/window\/ewm.py","#","L65"]
docstr: Computes the exponential weighted moving standard deviation.
  
  Returns
  -------
  `Stream[float]`
      The exponential weighted moving standard deviation stream based on
      the underlying stream of values.
docstr_tok: ["Computes","the","exponential","weighted","moving","standard","deviation",".","Returns","--","--","--","-","`","Stream","[","float","]","`","The","exponential","weighted","moving","standard","deviation","stream","based","on","the","underlying","stream","of","values","."]
code: def std(self, bias=False) -> "Stream[float]":
      """Computes the exponential weighted moving standard deviation.
  
      Returns
      -------
      `Stream[float]`
          The exponential weighted moving standard deviation stream based on
          the underlying stream of values.
      """
      return self.var(bias).sqrt()
  
imports: from typing import List, Tuple
  import numpy
  from tensortrade.feed.core.base import Stream
  from tensortrade.feed.api.float import Float
label_desc: Use image node_id 6 for calling the EWM obj's underlying member method code with example usage: obj.std(bias) and returns: self