@staticmethod
def calculate_mean_historical_returns(asset_prices, resample_by=None,
    frequency=252):
    """
        Calculates the annualised mean historical returns from asset price data.

        :param asset_prices: (pd.DataFrame) Asset price data
        :param resample_by: (str) Period to resample data ['D','W','M' etc.] None for no resampling
        :param frequency: (int) Average number of observations per year
        :return: (pd.Series) Annualized mean historical returns per asset
        """
    if resample_by:
        asset_prices = asset_prices.resample(resample_by).last()
    returns = asset_prices.pct_change().dropna(how='all')
    returns = returns.mean() * frequency
    return returns
