def AEM(df, high='High', low='Low', volume='Volume'):
    """
    Arms Ease of Movement
    Returns: list of floats = jhta.AEM(df, high='High', low='Low', volume='Volume')
    Source: https://www.fmlabs.com/reference/default.htm?url=ArmsEMV.htm
    """
    aem_list = []
    for i in range(len(df[low])):
        if i < 1:
            aem = float('NaN')
        else:
            midpoint_move = (df[high][i] - df[low][i]) / 2 - (df[high][i - 
                1] - df[low][i - 1]) / 2
            boxratio = df[volume][i] / 10000 / (df[high][i] - df[low][i])
            aem = midpoint_move / boxratio
        aem_list.append(aem)
    return aem_list
