code: def min_cov_determinant(prices, frequency=252, random_state=None):
      
      if not isinstance(prices, pd.DataFrame):
          warnings.warn("prices are not in a dataframe", RuntimeWarning)
          prices = pd.DataFrame(prices)
      assets = prices.columns
      X = prices.pct_change().dropna(how="all")
      X = np.nan_to_num(X.values)
      raw_cov_array = covariance.fast_mcd(X, random_state=random_state)[1]
      return pd.DataFrame(raw_cov_array, index=assets, columns=assets) * frequency
docs: Calculate the minimum covariance determinant, an estimator of the covariance matrix
      that is more robust to noise.
  
      :param prices: adjusted closing prices of the asset, each row is a date
                     and each column is a ticker/id.
      :type prices: pd.DataFrame
      :param frequency: number of time periods in a year, defaults to 252 (the number
                        of trading days in a year)
      :type frequency: int, optional
      :param random_state: random seed to make results reproducible, defaults to None
      :type random_state: int, optional
      :return: annualised estimate of covariance matrix
      :rtype: pd.DataFrame