code: def negative_directional_movement(high_data, low_data):
      
      catch_errors.check_for_input_len_diff(high_data, low_data)
      up_moves = calculate_up_moves(high_data)
      down_moves = calculate_down_moves(low_data)
  
      ndm = []
      for idx in range(0, len(down_moves)):
          if down_moves[idx] > up_moves[idx] and down_moves[idx] > 0:
              ndm.append(down_moves[idx])
          else:
              ndm.append(0)
  
      return ndm
docs: Negative Directional Movement (-DM).
  
  
      -DM: if DWNMOVE > UPMOVE and DWNMOVE > 0 then -DM = DWNMOVE else -Dm = 0