code: def run(**kwargs):
      
      config_path = kwargs.get('config_path', None)
      if config_path is not None:
          config_path = os.path.abspath(config_path)
          kwargs.pop('config_path')
      if not kwargs.get('base__securities', None):
          kwargs.pop('base__securities', None)
  
      from rqalpha import main
      source_code = kwargs.get("base__source_code")
      cfg = parse_config(kwargs, config_path=config_path, click_type=True, source_code=source_code)
      source_code = cfg.base.source_code
      results = main.run(cfg, source_code=source_code)
  
      # store results into ipython when running in ipython
      from rqalpha.utils import is_run_from_ipython
      if results is not None and is_run_from_ipython():
          import IPython
          from rqalpha.utils import RqAttrDict
          ipy = IPython.get_ipython()
          report = results.get("sys_analyser", {})
          ipy.user_global_ns["results"] = results
          ipy.user_global_ns["report"] = RqAttrDict(report)
  
      if results is None:
          sys.exit(1)
docs: Start to run a strategy