class_docstr: Fast Stochastic Oscillator Indicator [%K, Momentum Indicator]
  https://wiki.timetotrade.eu/Stochastic
  
  This stochastic is considered volatile, and varies a lot when used in
  market analysis. It is recommended to use the slow stochastic oscillator
  or a moving average of the %K [%D].
  
  **Default Inputs:** :data:`zipline.pipeline.data.EquityPricing.close`,                         :data:`zipline.pipeline.data.EquityPricing.low`,                         :data:`zipline.pipeline.data.EquityPricing.high`
  
  **Default Window Length:** 14
  
  Returns
  -------
  out: %K oscillator
code: def compute(self, today, assets, out, closes, lows, highs):
      highest_highs = nanmax(highs, axis=0)
      lowest_lows = nanmin(lows, axis=0)
      today_closes = closes[-1]
  
      evaluate(
          "((tc - ll) / (hh - ll)) * 100",
          local_dict={
              "tc": today_closes,
              "ll": lowest_lows,
              "hh": highest_highs,
          },
          global_dict={},
          out=out,
      )
  
imports: from __future__ import division
  from numpy import abs, average, clip, diff, dstack, inf
  from numexpr import evaluate
  from zipline.pipeline.data import EquityPricing
  from zipline.pipeline.factors import CustomFactor
  from zipline.pipeline.mixins import SingleInputMixin
  from zipline.utils.input_validation import expect_bounded
  from zipline.utils.math_utils import nanargmax, nanargmin, nanmax, nanmean, nanstd, nanmin
  from zipline.utils.numpy_utils import rolling_window
  from .basic import exponential_weights
  from .basic import LinearWeightedMovingAverage, MaxDrawdown, SimpleMovingAverage, VWAP, WeightedAverageValue
label_desc: Use image node_id 1 for calling the FastStochasticOscillator obj's underlying member method code with example usage: obj.compute(today, assets, out, closes, lows, highs) without return types