code: def weighted_std(
      cov_matrix: ARRAY_OR_DATAFRAME[FLOAT],
      weights: ARRAY_OR_SERIES[FLOAT],
  ) -> FLOAT:
      """Computes the weighted standard deviation, or Volatility of
      a portfolio, which contains several stocks.
  
      :param cov_matrix: Covariance matrix
      :type cov_matrix: :py:data:`~.finquant.data_types.ARRAY_OR_DATAFRAME`
  
      :param weights: An array representing weights
      :type weights: :py:data:`~.finquant.data_types.ARRAY_OR_SERIES`
  
      :rtype: :py:data:`~.finquant.data_types.FLOAT`
      :return: Weighted sigma (standard deviation) as a floating point number:
          ``np.sqrt(np.dot(weights.T, np.dot(cov_matrix, weights)))``
      """
      # Type validations:
      type_validation(cov_matrix=cov_matrix, weights=weights)
      weighted_sigma: FLOAT = np.sqrt(
          np.dot(weights.T, np.dot(cov_matrix, weights))
      )
      return weighted_sigma
  
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 2 for calling a global function with example usage: weighted_std(cov_matrix, weights) and returns: weighted_sigma