docs: def eval_from_json(json):
          """ Evaluates SO from JSON (typically Poloniex API response)
  
          Args:
              json: List of dates where each entry is a dict of raw market data.
  
          Returns:
              Float SO between 0 and 100.
          """
          close  = json[-1]['close'] # Latest closing price
          low    = min(poloniex.get_attribute(json, 'low')) # Lowest low
          high   = max(poloniex.get_attribute(json, 'high')) # Highest high
          return SO.eval_algorithm(close, low, high)