def varmax(self, data: ['SASdata', str] = None,
               bound: str = None,
               by: [str, list] = None,
               causal: str = None,
               cointeg: str = None,
               condfore: str = None,
               garch: str = None,
               id: [str, list] = None,
               initial: str = None,
               model: str = None,
               nloptions: str = None,
               output: [str, bool, 'SASdata'] = None,
               restrict: str = None,
               test: str = None,
               procopts: str = None,
               stmtpassthrough: str = None,
               **kwargs: dict) -> 'SASresults':
        """
        Python method to call the VARMAX procedure

        Documentation link:
        https://go.documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.4&docsetId=etsug&docsetTarget=etsug_varmax_syntax.htm&locale=en

        :param data: SASdata object or string. This parameter is required.
        :parm adjust: The adjust variable can only be a string type.
        :parm arima: The arima variable can only be a string type.
        :parm automdl: The automdl variable can only be a string type.
        :parm by: The by variable can be a string or list type.
        :parm check: The check variable can only be a string type.
        :parm estimate: The estimate variable can only be a string type.
        :parm event: The event variable can only be a string type.
        :parm forecast: The forecast variable can only be a string type.
        :parm id: The id variable can be a string or list type.
        :parm identify: The identify variable can only be a string type.
        :parm input: The input variable can be a string, list or dict type. It refers to the dependent, y, or label variable.
        :parm outlier: The outlier variable can only be a string type.
        :parm output: The output variable can be a string, boolean or SASdata type. The member name for a boolean is "_output".
        :parm pickmdl: The pickmdl variable can only be a string type.
        :parm regression: The regression variable can only be a string type.
        :parm seatsdecomp: The seatsdecomp variable can only be a string type.
        :parm tables: The tables variable can only be a string type.
        :parm transform: The transform variable can only be a string type.
        :parm userdefined: The userdefined variable can only be a string type.
        :parm var: The var variable can only be a string type.
        :parm x11: The x11 variable can only be a string type.
        :parm procopts: The procopts variable is a generic option available for advanced use. It can only be a string type.
        :parm stmtpassthrough: The stmtpassthrough variable is a generic option available for advanced use. It can only be a string type.
        :return: SAS Result Object
        """