code: def value_at_risk(
      investment: NUMERIC,
      mu: FLOAT,
      sigma: FLOAT,
      conf_level: FLOAT = 0.95,
  ) -> FLOAT:
      """Computes and returns the expected value at risk of an investment/assets.
  
      :param investment: Total value of the investment
      :type investment: :py:data:`~.finquant.data_types.NUMERIC`
  
      :param mu: Average/mean return of the investment
      :type mu: :py:data:`~.finquant.data_types.FLOAT`
  
      :param sigma: Standard deviation of the investment
      :type sigma: :py:data:`~.finquant.data_types.FLOAT`
  
      :param conf_level: Confidence level of the VaR
      :type conf_level: :py:data:`~.finquant.data_types.FLOAT`, default: 0.95
  
      :rtype: :py:data:`~.finquant.data_types.FLOAT`
      :return: Value at Risk (VaR) of the investment: ``investment*(mu-sigma*norm.ppf(1-conf_level))``
      """
      # Type validations:
      type_validation(
          investment=investment,
          mu=mu,
          sigma=sigma,
          conf_level=conf_level,
      )
      if conf_level >= 1 or conf_level <= 0:
          raise ValueError(
              "confidence level is expected to be between 0 and 1."
          )
      res_value_at_risk: FLOAT = investment * (
          mu - sigma * norm.ppf(1 - conf_level)
      )
      return res_value_at_risk
  
file_path: FinQuant/finquant/quants.py
imports: from typing import Optional, Tuple
  import numpy
  import pandas
  from scipy.stats import norm
  from finquant.data_types import ARRAY_OR_DATAFRAME, ARRAY_OR_SERIES, FLOAT, INT, NUMERIC
  from finquant.returns import weighted_mean_daily_returns
  from finquant.type_utilities import type_validation
label_desc: Use image node_id 7 for calling a global function with example usage: value_at_risk(investment, mu, sigma, conf_level) and returns: res_value_at_risk