text: Title: Ulcer Index development version vs main version
  Body: Ulcer Index
  
  in development version: I am ignoring everget
  ```python
  highest_close = close.rolling(length).max()
  downside = scalar * (close - highest_close)
  downside /= highest_close
  d2 = downside * downside
  _ui = d2.rolling(length).sum()
  ui = np.sqrt(_ui / length)
  ```
  
  In development version, sometime I am getting `RuntimeWarning: invalid value encountered in sqrt` after searching about it, I found there is a _ui value with negative and doing sqrt with negative result the error. I do not know why I am getting negative! I have revise the data of close. it looks normal and no negative in close
  
  d2 is not negative, but _ui sometime is negative. to fix it in development, I have added _ui = _ui.abs()
  
  In main version: I am ignoring everget
  ```python
  highest_close = close.rolling(length).max()
  downside = scalar* (close - highest_close)
  downside /= highest_close
  d2 = downside * downside
  ui = (d2.rolling(length).sum() / length).apply(np.sqrt)
  ```
  
  In the main version I do not get the error with same data.
  
  Maybe apply function in pandas is ignoring error?
  
  
  Is my data corropted or there is something in the calculation