def METHOD_NAME(
    self, fit_period: fitDates = arg_not_supplied
) -> correlationEstimate:
    if fit_period is arg_not_supplied:
        fit_period = self._get_default_fit_period_cover_all_data()
    raw_corr_matrix = self._get_raw_corr_for_fitperiod(fit_period)
    cleaning = self.cleaning
    if cleaning:
        data_for_correlation = self.data
        offdiag = self.offdiag
        corr_matrix = raw_corr_matrix.clean_corr_matrix_given_data(
            fit_period, data_for_correlation, offdiag=offdiag
        )
    else:
        corr_matrix = raw_corr_matrix
    floor_at_zero = self.floor_at_zero
    clip = self.clip
    shrinkage = self.shrinkage_parameter
    corr_matrix = modify_correlation(
        corr_matrix, floor_at_zero=floor_at_zero, shrinkage=shrinkage, clip=clip
    )
    return corr_matrix