code: def check_arugments(self):
      granularity_constraints_list = [1, 5, 10, 15, 30, 60]
      granularity_constraints_list_string = "".join(
          str(value) + "," for value in granularity_constraints_list
      ).strip(",")
      directory_path = str(os.path.dirname(os.path.abspath(__file__)))
  
      if data_granularity_minutes not in granularity_constraints_list:
          print(
              "You can only choose the following values for 'data_granularity_minutes' argument -> %s\nExiting now..."
              % granularity_constraints_list_string
          )
          exit()
  
      if is_test == 1 and future_bars < 2:
          print(
              "You want to test but the future bars are less than 2. That does not give us enough data to test the model properly. Please use a value larger than 2.\nExiting now..."
          )
          exit()
  
      if output_format not in ["CLI", "JSON"]:
          print(
              "Please choose CLI or JSON for the output format field. Default is CLI."
          )
          exit()
      if not path.exists(directory_path + f"/stocks/{stock_list}"):
          print(
              "The stocks list file must exist in the stocks directory"
          )
          exit()
      if data_source not in ["binance", "yahoo_finance"]:
          print("Data source must be a valid and supported service.")
          exit()
  
imports: import os
  import ta
  import sys
  import json
  import math
  import pickle
  import random
  import requests
  import collections
  import numpy
  from os import walk, path
  import pandas
  import yfinance
  import datetime
  from scipy.stats import linregress
  from datetime import datetime, timedelta
  import matplotlib.pyplot
  from sklearn.ensemble import IsolationForest
  from data_loader import DataEngine
  import warnings
  import argparse
label_desc: Use image node_id 2 for calling the ArgChecker obj's underlying member method code with example usage: obj.check_arugments() without return types