Notebook

Enter your backtest ID.

Note: the backtest needs to be longer than 2 years in order to receive a score.

In [1]:
# Replace the string below with your backtest ID.
bt = get_backtest('5a8598062819584429a63bee')
100% Time: 0:00:14|###########################################################|
In [2]:
import empyrical as ep
import pyfolio as pf
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from quantopian.research import returns
In [3]:
from quantopian.pipeline import Pipeline
from quantopian.research import run_pipeline
from quantopian.pipeline.filters import QTradableStocksUS

def get_tradable_universe(start, end):
    """
    Gets the tradable universe in a format that can be compared to the positions
    of a backtest.
    """
    pipe = Pipeline(
        columns={'qtu':QTradableStocksUS()}
    )
    df = run_pipeline(pipe, start, end)
    df = df.unstack()
    df.columns = df.columns.droplevel()
    df = df.astype(float).replace(0, np.nan)
    return df
In [4]:
def volatility_adjusted_daily_return(trailing_algorithm_returns):
    """
    Normalize the last daily return in `trailing_algorithm_returns` by the annualized
    volatility of `trailing_algorithm_returns`.
    """
    
    todays_return = trailing_algorithm_returns[-1]
    # Volatility is floored at 2%.
    volatility = max(ep.annual_volatility(trailing_algorithm_returns), 0.02)
    score = (todays_return / volatility)
    
    return score
In [5]:
def compute_score(algorithm_returns):
    """
    Compute the score of a backtest from its algorithm_returns.
    """
    
    result = []
    
    cumulative_score = 0
    count = 0
    
    daily_scores = roll(
        algorithm_returns,
        function=volatility_adjusted_daily_return,
        window=63
    )
    
    cumulative_score = np.cumsum(daily_scores[441:])
    latest_score = cumulative_score[-1]
    
    print ''
    print 'Score computed between %s and %s.' % (cumulative_score.index[0].date(), daily_scores.index[-1].date())
    
    plt.plot(cumulative_score)
    plt.title('Out-of-Sample Score Over Time')
    print 'Cumulative Score: %f' % latest_score
    
    return cumulative_score
In [6]:
# This code is copied from the empyrical repository.
# Source: https://github.com/quantopian/empyrical/blob/master/empyrical/utils.py#L49
# Includes a fix to the bug reported here: https://github.com/quantopian/empyrical/issues/79
def roll(*args, **kwargs):
    """
    Calculates a given statistic across a rolling time period.
    Parameters
    ----------
    returns : pd.Series or np.ndarray
        Daily returns of the strategy, noncumulative.
        - See full explanation in :func:`~empyrical.stats.cum_returns`.
    factor_returns (optional): float / series
        Benchmark return to compare returns against.
    function:
        the function to run for each rolling window.
    window (keyword): int
        the number of periods included in each calculation.
    (other keywords): other keywords that are required to be passed to the
        function in the 'function' argument may also be passed in.
    Returns
    -------
    np.ndarray, pd.Series
        depends on input type
        ndarray(s) ==> ndarray
        Series(s) ==> pd.Series
        A Series or ndarray of the results of the stat across the rolling
        window.
    """
    func = kwargs.pop('function')
    window = kwargs.pop('window')
    if len(args) > 2:
        raise ValueError("Cannot pass more than 2 return sets")

    if len(args) == 2:
        if not isinstance(args[0], type(args[1])):
            raise ValueError("The two returns arguments are not the same.")

    if isinstance(args[0], np.ndarray):
        return _roll_numpy(func, window, *args, **kwargs)
    return _roll_pandas(func, window, *args, **kwargs)

def _roll_ndarray(func, window, *args, **kwargs):
    data = []
    for i in range(window, len(args[0]) + 1):
        rets = [s[i-window:i] for s in args]
        data.append(func(*rets, **kwargs))
    return np.array(data)


def _roll_pandas(func, window, *args, **kwargs):
    data = {}
    for i in range(window, len(args[0]) + 1):
        rets = [s.iloc[i-window:i] for s in args]
        data[args[0].index[i - 1]] = func(*rets, **kwargs)
    return pd.Series(data)
In [7]:
SECTORS = [
    'basic_materials', 'consumer_cyclical', 'financial_services',
    'real_estate', 'consumer_defensive', 'health_care', 'utilities',
    'communication_services', 'energy', 'industrials', 'technology'
]

STYLES = [
    'momentum', 'size', 'value', 'short_term_reversal', 'volatility'
]

POSITION_CONCENTRATION_98TH_MAX = 0.05
POSITION_CONCENTRATION_100TH_MAX = 0.1
LEVERAGE_0TH_MIN = 0.7
LEVERAGE_2ND_MIN = 0.8
LEVERAGE_98TH_MAX = 1.1
LEVERAGE_100TH_MAX = 1.2
DAILY_TURNOVER_0TH_MIN = 0.03
DAILY_TURNOVER_2ND_MIN = 0.05
DAILY_TURNOVER_98TH_MAX = 0.65
DAILY_TURNOVER_100TH_MAX = 0.8
NET_EXPOSURE_LIMIT_98TH_MAX = 0.1
NET_EXPOSURE_LIMIT_100TH_MAX = 0.2
BETA_TO_SPY_98TH_MAX = 0.3
BETA_TO_SPY_100TH_MAX = 0.4
SECTOR_EXPOSURE_98TH_MAX = 0.2
SECTOR_EXPOSURE_100TH_MAX = 0.25
STYLE_EXPOSURE_98TH_MAX = 0.4
STYLE_EXPOSURE_100TH_MAX = 0.5
TRADABLE_UNIVERSE_0TH_MIN = 0.9
TRADABLE_UNIVERSE_2ND_MIN = 0.95


def check_constraints(positions, transactions, algorithm_returns, risk_exposures):
    
    sector_constraints = True
    style_constraints = True
    constraints_met = 0
    num_constraints = 9
    
    # Position Concentration Constraint
    print 'Checking positions concentration limit...'
    try:
        percent_allocations = pf.pos.get_percent_alloc(positions[5:])
        daily_absolute_percent_allocations = percent_allocations.abs().drop('cash', axis=1)
        daily_max_absolute_position = daily_absolute_percent_allocations.max(axis=1)
        
        position_concentration_98 = daily_max_absolute_position.quantile(0.98)
        position_concentration_100 = daily_max_absolute_position.max()
        
    except IndexError:
        position_concentration_98 = -1
        position_concentration_100 = -1
        
    if (position_concentration_98 > POSITION_CONCENTRATION_98TH_MAX):
        print 'FAIL: 98th percentile position concentration of %.2f > %.1f.' % (
        position_concentration_98*100,
        POSITION_CONCENTRATION_98TH_MAX*100
    )
    elif (position_concentration_100 > POSITION_CONCENTRATION_100TH_MAX):
        print 'FAIL: 100th percentile position concentration of %.2f > %.1f.' % (
        position_concentration_100*100,
        POSITION_CONCENTRATION_100TH_MAX*100
    )
    else:
        print 'PASS: Max position concentration of %.2f%% <= %.1f%%.' % (
            position_concentration_98*100,
            POSITION_CONCENTRATION_98TH_MAX*100
        )
        constraints_met += 1

        
    # Leverage Constraint
    print ''
    print 'Checking leverage limits...'
    leverage = pf.timeseries.gross_lev(positions[5:])
    leverage_0 = leverage.min()
    leverage_2 = leverage.quantile(0.02)
    leverage_98 = leverage.quantile(0.98)
    leverage_100 = leverage.max()
    leverage_passed = True
    
    if (leverage_0 < LEVERAGE_0TH_MIN):
        print 'FAIL: Minimum leverage of %.2fx is below %.1fx' % (
            leverage_0,
            LEVERAGE_0TH_MIN
        )
        leverage_passed = False
    if (leverage_2 < LEVERAGE_2ND_MIN):
        print 'FAIL: 2nd percentile leverage of %.2fx is below %.1fx' % (
            leverage_2,
            LEVERAGE_2ND_MIN
        )
        leverage_passed = False
    if (leverage_98 > LEVERAGE_98TH_MAX):
        print 'FAIL: 98th percentile leverage of %.2fx is above %.1fx' % (
            leverage_98,
            LEVERAGE_98TH_MAX
        )
        leverage_passed = False
    if (leverage_100 > LEVERAGE_100TH_MAX):
        print 'FAIL: Maximum leverage of %.2fx is above %.1fx' % (
            leverage_0,
            LEVERAGE_0TH_MAX
        )
        leverage_passed = False
    if leverage_passed:
        print 'PASS: Leverage range of %.2fx-%.2fx is between %.1fx-%.1fx.' % (
            leverage_2,
            leverage_98,
            LEVERAGE_2ND_MIN,
            LEVERAGE_98TH_MAX
        )
        constraints_met += 1
      
    # Turnover Constraint
    print ''
    print 'Checking turnover limits...'
    turnover = pf.txn.get_turnover(positions, transactions, denominator='portfolio_value')
    # Compute mean rolling 63 trading day turnover.
    rolling_mean_turnover = roll(
        turnover, 
        function=pd.Series.mean,
        window=63)[62:]
    rolling_mean_turnover_0 = rolling_mean_turnover.min()
    rolling_mean_turnover_2 = rolling_mean_turnover.quantile(0.02)
    rolling_mean_turnover_98 = rolling_mean_turnover.quantile(0.98)
    rolling_mean_turnover_100 = rolling_mean_turnover.max()  
    rolling_mean_turnover_passed = True
    
    if (rolling_mean_turnover_0 < DAILY_TURNOVER_0TH_MIN):
        print 'FAIL: Minimum turnover of %.2f%% is below %.1f%%.' % (
            rolling_mean_turnover_0*100,
            DAILY_TURNOVER_0TH_MIN*100
        )
        rolling_mean_turnover_passed = False
    if (rolling_mean_turnover_2 < DAILY_TURNOVER_2ND_MIN):
        print 'FAIL: 2nd percentile turnover of %.2f%% is below %.1fx' % (
            rolling_mean_turnover_2*100,
            DAILY_TURNOVER_2ND_MIN*100
        )
        rolling_mean_turnover_passed = False
    if (rolling_mean_turnover_98 > DAILY_TURNOVER_98TH_MAX):
        print 'FAIL: 98th percentile turnover of %.2f%% is above %.1fx' % (
            rolling_mean_turnover_98*100,
            DAILY_TURNOVER_98TH_MAX*100
        )
        rolling_mean_turnover_passed = False
    if (rolling_mean_turnover_100 > DAILY_TURNOVER_100TH_MAX):
        print 'FAIL: Maximum turnover of %.2f%% is above %.1fx' % (
            rolling_mean_turnover_100*100,
            DAILY_TURNOVER_100TH_MAX*100
        )
        rolling_mean_turnover_passed = False
    if rolling_mean_turnover_passed:
        print 'PASS: Mean turnover range of %.2f%%-%.2f%% is between %.1f%%-%.1f%%.' % (
            rolling_mean_turnover_2*100,
            rolling_mean_turnover_98*100,
            DAILY_TURNOVER_2ND_MIN*100,
            DAILY_TURNOVER_98TH_MAX*100
        )
        constraints_met += 1

        
    # Net Exposure Constraint
    print ''
    print 'Checking net exposure limit...'
    net_exposure = pf.pos.get_long_short_pos(positions[5:])['net exposure'].abs()
    net_exposure_98 = net_exposure.quantile(0.98)
    net_exposure_100 = net_exposure.max()
    
    if (net_exposure_98 > NET_EXPOSURE_LIMIT_98TH_MAX):
        print 'FAIL: 98th percentile net exposure (absolute value) of %.2f > %.1f.' % (
        net_exposure_98*100,
        NET_EXPOSURE_LIMIT_98TH_MAX*100
    )
    elif (net_exposure_100 > NET_EXPOSURE_LIMIT_100TH_MAX):
        print 'FAIL: 100th percentile net exposure (absolute value) of %.2f > %.1f.' % (
        net_exposure_100*100,
        NET_EXPOSURE_LIMIT_100TH_MAX*100
    )
    else:
        print 'PASS: Net exposure (absolute value) of %.2f%% <= %.1f%%.' % (
            net_exposure_98*100,
            NET_EXPOSURE_LIMIT_98TH_MAX*100
        )
        constraints_met += 1
    
        
    # Beta Constraint
    print ''
    print 'Checking beta-to-SPY limit...'
    spy_returns = returns(
        symbols('SPY'),
        algorithm_returns.index[0],
        algorithm_returns.index[-1],
    )
    beta = roll(
        algorithm_returns,
        spy_returns,
        function=ep.beta,
        window=126
    ).reindex_like(algorithm_returns).fillna(0).abs()
    beta_98 = beta.quantile(0.98)
    beta_100 = beta.max()
    if (beta_98 > BETA_TO_SPY_98TH_MAX):
            print 'FAIL: 98th percentile absolute beta of %.3f > %.1f.' % (
            beta_98,
            BETA_TO_SPY_98TH_MAX
        )
    elif (beta_100 > BETA_TO_SPY_100TH_MAX):
        print 'FAIL: 100th percentile absolute beta of %.3f > %.1f.' % (
            beta_100,
            BETA_TO_SPY_100TH_MAX
        )
    else:
        print 'PASS: Max absolute beta of %.3f <= %.1f.' % (
            beta_98,
            BETA_TO_SPY_98TH_MAX
        )
        constraints_met += 1
        
    # Risk Exposures
    rolling_mean_risk_exposures = risk_exposures.rolling(63, axis=0).mean()[62:].fillna(0)
    
    # Sector Exposures
    print ''
    print 'Checking sector exposure limits...'
    for sector in SECTORS:
        absolute_mean_sector_exposure = rolling_mean_risk_exposures[sector].abs()
        abs_mean_sector_exposure_98 = absolute_mean_sector_exposure.quantile(0.98)
        abs_mean_sector_exposure_100 = absolute_mean_sector_exposure.max()
        if (abs_mean_sector_exposure_98 > SECTOR_EXPOSURE_98TH_MAX):
            print 'FAIL: 98th percentile %s exposure of %.3f (absolute value) is greater than %.2f.' % (
                sector,
                abs_mean_sector_exposure_98,
                SECTOR_EXPOSURE_98TH_MAX
            )
            sector_constraints = False
        elif (abs_mean_sector_exposure_100 > SECTOR_EXPOSURE_100TH_MAX):
            max_sector_exposure_day = absolute_mean_sector_exposure.idxmax()
            print 'FAIL: Max %s exposure of %.3f (absolute value) on %s is greater than %.2f.' % (
                sector,
                abs_mean_sector_exposure_100,
                max_sector_exposure_day,
                SECTOR_EXPOSURE_100TH_MAX
            )
            sector_constraints = False
    if sector_constraints:
        print 'PASS: All sector exposures were between +/-%.2f.' % SECTOR_EXPOSURE_98TH_MAX
        constraints_met += 1
        
    # Style Exposures
    print ''
    print 'Checking style exposure limits...'
    for style in STYLES:
        absolute_mean_style_exposure = rolling_mean_risk_exposures[style].abs()
        abs_mean_style_exposure_98 = absolute_mean_style_exposure.quantile(0.98)
        abs_mean_style_exposure_100 = absolute_mean_style_exposure.max()
        if (abs_mean_style_exposure_98 > STYLE_EXPOSURE_98TH_MAX):
            print 'FAIL: 98th percentile %s exposure of %.3f (absolute value) is greater than %.2f.' % (
                style, 
                abs_mean_style_exposure_98, 
                STYLE_EXPOSURE_98TH_MAX
            )
            style_constraints = False
        elif (abs_mean_style_exposure_100 > STYLE_EXPOSURE_100TH_MAX):
            max_style_exposure_day = absolute_mean_style_exposure.idxmax()
            print 'FAIL: Max %s exposure of %.3f (absolute value) on %s is greater than %.2f.' % (
                style, 
                abs_mean_style_exposure_100, 
                max_style_exposure_day.date(),
                STYLE_EXPOSURE_100TH_MAX
            )
            style_constraints = False
    if style_constraints:
        print 'PASS: All style exposures were between +/-%.2f.' % STYLE_EXPOSURE_98TH_MAX
        constraints_met += 1
    
    
    # Tradable Universe
    print ''
    print 'Checking investment in tradable universe...'
    positions_wo_cash = positions.drop('cash', axis=1)
    positions_wo_cash = positions_wo_cash.abs()
    total_investment = positions_wo_cash.fillna(0).sum(axis=1)
    daily_qtu_investment = universe.multiply(positions_wo_cash).fillna(0).sum(axis=1)
    percent_in_qtu = daily_qtu_investment / total_investment
    percent_in_qtu = percent_in_qtu[5:].fillna(0)
    
    percent_in_qtu_0 = percent_in_qtu.min()
    percent_in_qtu_2 = percent_in_qtu.quantile(0.02)
        
    if percent_in_qtu_0 < TRADABLE_UNIVERSE_0TH_MIN:
        min_percent_in_qtu_date = percent_in_qtu.argmin()
        print 'FAIL: Minimum investment in QTradableStocksUS of %.2f%% on %s is < %.1f%%.' % (
            percent_in_qtu_0*100, 
            min_percent_in_qtu_date.date(),
            TRADABLE_UNIVERSE_0TH_MIN*100
        )
    elif percent_in_qtu_2 < TRADABLE_UNIVERSE_2ND_MIN:
        print 'FAIL: Investment in QTradableStocksUS (2nd percentile) of %.2f%% is < %.1f%%.' % (
            percent_in_qtu_2*100, 
            TRADABLE_UNIVERSE_2ND_MIN*100
        )
    else:
        print 'PASS: Investment in QTradableStocksUS is >= %.1f%%.' % (
            TRADABLE_UNIVERSE_2ND_MIN*100
        )
        constraints_met += 1
        
        
    # Total algorithm_returns Constraint
    print ''
    print 'Checking that algorithm has positive algorithm_returns...'
    cumulative_algorithm_returns = ep.cum_returns_final(algorithm_returns)
    if (cumulative_algorithm_returns > 0):
        print 'PASS: Cumulative algorithm_returns of %.2f is positive.' % (
            cumulative_algorithm_returns
        )
        constraints_met += 1
    else:
        print 'FAIL: Cumulative algorithm_returns of %.2f is negative.' % (
            cumulative_algorithm_returns
        )
    
    print ''
    print 'Results:'
    if constraints_met == num_constraints:
        print 'All constraints met!'
    else:
        print '%d/%d tests passed.' % (constraints_met, num_constraints)
In [8]:
def evaluate_backtest(positions, transactions, algorithm_returns, risk_exposures):
    if len(positions.index) > 504:
        check_constraints(positions, transactions, algorithm_returns, risk_exposures)
        score = compute_score(algorithm_returns[start:end])
    else:
        print 'ERROR: Backtest must be longer than 2 years to be evaluated.'

Transform some of the data.

In [9]:
positions = bt.pyfolio_positions
transactions = bt.pyfolio_transactions
algorithm_returns = bt.daily_performance.returns
factor_exposures = bt.factor_exposures

start = positions.index[0]
end = positions.index[-1]
universe = get_tradable_universe(start, end)
universe.columns = universe.columns.map(lambda x: '%s-%s' % (x.symbol, x.sid))

Run this to evaluate your algorithm. Note that the new contest will require all filters to pass before a submission is eligible to participate.

In [10]:
evaluate_backtest(positions, transactions, algorithm_returns, factor_exposures)
Checking positions concentration limit...
PASS: Max position concentration of 0.39% <= 5.0%.

Checking leverage limits...
PASS: Leverage range of 0.98x-1.01x is between 0.8x-1.1x.

Checking turnover limits...
PASS: Mean turnover range of 48.84%-54.51% is between 5.0%-65.0%.

Checking net exposure limit...
PASS: Net exposure (absolute value) of 0.37% <= 10.0%.

Checking beta-to-SPY limit...
PASS: Max absolute beta of 0.139 <= 0.3.

Checking sector exposure limits...
PASS: All sector exposures were between +/-0.20.

Checking style exposure limits...
PASS: All style exposures were between +/-0.40.

Checking investment in tradable universe...
PASS: Investment in QTradableStocksUS is >= 95.0%.

Checking that algorithm has positive algorithm_returns...
PASS: Cumulative algorithm_returns of 0.05 is positive.

Results:
All constraints met!

Score computed between 2015-12-31 and 2016-01-25.
Cumulative Score: 0.287440
In [11]:
bt.create_full_tear_sheet()
Start date2014-01-06
End date2016-01-25
Total months24
Backtest
Annual return 2.4%
Cumulative returns 5.0%
Annual volatility 3.1%
Sharpe ratio 0.78
Calmar ratio 0.82
Stability 0.63
Max drawdown -2.9%
Omega ratio 1.13
Sortino ratio 1.13
Skew -0.08
Kurtosis 0.32
Tail ratio 0.95
Daily value at risk -0.4%
Gross leverage 1.00
Daily turnover 51.7%
Alpha 0.02
Beta 0.08
Worst drawdown periods Net drawdown in % Peak date Valley date Recovery date Duration
0 2.93 2014-02-25 2014-12-09 2015-03-02 265
1 1.86 2015-03-19 2015-04-02 2015-07-15 85
2 1.76 2015-07-24 2015-10-22 NaT NaN
3 0.35 2015-03-09 2015-03-12 2015-03-16 6
4 0.33 2014-01-23 2014-01-27 2014-01-30 6
/usr/local/lib/python2.7/dist-packages/numpy/lib/function_base.py:3834: RuntimeWarning: Invalid value encountered in percentile
  RuntimeWarning)
Stress Events mean min max
Apr14 -0.04% -0.37% 0.32%
Oct14 -0.08% -0.54% 0.39%
Fall2015 0.00% -0.48% 0.58%
New Normal 0.01% -0.73% 0.58%
Top 10 long positions of all time max
WLL-25707 0.41%
ITMN-21284 0.41%
YELP-42596 0.40%
BRCM-18529 0.40%
RARE-46285 0.39%
BCEI-42272 0.39%
BHI-858 0.39%
OAS-39797 0.39%
AEGR-40294 0.39%
APC-455 0.39%
Top 10 short positions of all time max
BB-19831 -0.44%
CRR-14700 -0.41%
XCO-28083 -0.40%
DVAX-25972 -0.40%
CLF-1595 -0.39%
BGC-3129 -0.39%
STRA-15397 -0.39%
EZPW-2671 -0.39%
LRN-35259 -0.39%
ZU-45866 -0.39%
Top 10 positions of all time max
BB-19831 0.44%
CRR-14700 0.41%
WLL-25707 0.41%
ITMN-21284 0.41%
YELP-42596 0.40%
BRCM-18529 0.40%
XCO-28083 0.40%
DVAX-25972 0.40%
RARE-46285 0.39%
BCEI-42272 0.39%
All positions ever held max
BB-19831 0.44%
CRR-14700 0.41%
WLL-25707 0.41%
ITMN-21284 0.41%
YELP-42596 0.40%
BRCM-18529 0.40%
XCO-28083 0.40%
DVAX-25972 0.40%
RARE-46285 0.39%
BCEI-42272 0.39%
CLF-1595 0.39%
BHI-858 0.39%
BGC-3129 0.39%
STRA-15397 0.39%
EZPW-2671 0.39%
LRN-35259 0.39%
OAS-39797 0.39%
ZU-45866 0.39%
CHK-8461 0.39%
CDE-1374 0.39%
NUS-16059 0.39%
DNR-15789 0.39%
ASPS-38633 0.39%
NAV-5199 0.39%
IAG-24491 0.39%
CZR-42461 0.39%
AEGR-40294 0.39%
APC-455 0.39%
NSM-42611 0.39%
CRZO-17358 0.38%
AGIO-45143 0.38%
MCF-22382 0.38%
SM-4664 0.38%
OBE-32293 0.38%
ARCO-41242 0.38%
AVP-660 0.38%
AR-45618 0.38%
CENX-14484 0.38%
KERX-21789 0.38%
AMED-25392 0.38%
CRC-48073 0.38%
ERF-22215 0.38%
CLNE-33924 0.38%
EPE-46191 0.38%
ETSY-48934 0.38%
NPSP-11356 0.38%
CYH-21608 0.38%
TRUE-46929 0.38%
FCS-20486 0.38%
NG-25781 0.38%
GNW-26323 0.38%
CONN-25646 0.38%
GPOR-28116 0.38%
SUPN-42877 0.38%
HLF-26892 0.38%
SRCI-35051 0.38%
HK-31032 0.37%
FUEL-45452 0.37%
ALDR-46869 0.37%
DRYS-26994 0.37%
CRM-26401 0.37%
AXAS-677 0.37%
RSPP-46182 0.37%
MNKD-26524 0.37%
GTI-23687 0.37%
TSRO-43124 0.37%
SEMG-39358 0.37%
THC-5343 0.37%
AMD-351 0.37%
PRTA-43730 0.37%
TCS-45780 0.37%
NSC-5442 0.37%
SLCA-42436 0.37%
RIG-9038 0.37%
PANW-43202 0.37%
CXO-34440 0.37%
NSH-32386 0.37%
TECK-31886 0.37%
PER-41817 0.37%
PDCE-5907 0.37%
SWIR-21561 0.37%
AEM-154 0.37%
MGNX-45643 0.37%
PVG-42366 0.37%
ENTA-44332 0.37%
NBR-5214 0.37%
SAND-43329 0.37%
TRGP-40547 0.37%
ENPH-42749 0.37%
SDR-42802 0.37%
MELI-34525 0.37%
REXX-34379 0.37%
WIX-45800 0.37%
IPI-36093 0.37%
BJRI-15775 0.37%
MBI-4684 0.37%
XNCR-45942 0.37%
FTK-27496 0.37%
BDC-26479 0.37%
ESV-2621 0.37%
GRUB-46693 0.37%
DATA-44747 0.37%
CWEI-8941 0.37%
JAZZ-33959 0.37%
BNFT-45428 0.37%
ZTS-44060 0.37%
MNOCF-41823 0.37%
MM-42737 0.37%
IRDM-35933 0.37%
KTWO-46870 0.37%
HLX-17180 0.37%
ATRA-47901 0.37%
LPI-42263 0.37%
PBYI-42689 0.37%
ARNA-21724 0.37%
PAH-45531 0.37%
XPO-26287 0.37%
INFI-21744 0.37%
UTIW-22284 0.37%
BRC-1078 0.37%
WAC-18431 0.36%
CBPO-35846 0.36%
SYA-39160 0.36%
RDEN-22398 0.36%
SDRL-39495 0.36%
TTI-7633 0.36%
QURE-46310 0.36%
MRC-42786 0.36%
RSO-28076 0.36%
BBG-26865 0.36%
CPE-12011 0.36%
SSYS-12107 0.36%
OCN-15697 0.36%
WTI-26986 0.36%
DWRE-42638 0.36%
NADL-46262 0.36%
EGHT-22889 0.36%
ENB-19374 0.36%
CIEN-16453 0.36%
IDXX-3810 0.36%
ALJ-27500 0.36%
SHLD-26169 0.36%
OMED-45095 0.36%
PGNX-17908 0.36%
SPN-14141 0.36%
VMEM-45520 0.36%
AREX-35028 0.36%
AXLL-3189 0.36%
JCP-4118 0.36%
VRTX-8045 0.36%
ONVO-41829 0.36%
XONE-44102 0.36%
MU-5121 0.36%
HL-3585 0.36%
KNX-40606 0.36%
ZEN-46918 0.36%
RRC-19249 0.36%
NWL-5520 0.36%
MUR-5126 0.36%
NFX-10231 0.36%
QUOT-46497 0.36%
PE-46989 0.36%
S-2938 0.36%
SGMO-21447 0.36%
CLVS-42166 0.36%
WPX-42251 0.36%
OTIC-47495 0.36%
WTW-23269 0.36%
HCA-41047 0.36%
EGO-24547 0.36%
AVD-366 0.36%
RYAM-47128 0.36%
UNT-7806 0.36%
NKTR-24572 0.36%
GSAT-32819 0.36%
SSRM-15591 0.36%
WAIR-41757 0.36%
ICPT-43505 0.36%
TK-13289 0.36%
CMRX-44453 0.36%
PRLB-42546 0.36%
NR-5413 0.36%
VRTS-37869 0.36%
SAGE-47332 0.36%
KEYW-40192 0.36%
AY-47123 0.36%
LULU-34395 0.36%
UTEK-9857 0.36%
RFP-40576 0.36%
TUBE-47333 0.36%
LXU-4545 0.36%
JIVE-42260 0.36%
RNG-45521 0.36%
ANAC-40442 0.36%
VNR-34931 0.36%
RPTP-21364 0.36%
BRS-5645 0.36%
PACD-42151 0.36%
TGH-34810 0.36%
ADI-122 0.36%
EVHC-45269 0.36%
RICE-46240 0.36%
PACB-40319 0.36%
ULTI-19008 0.36%
FOSL-8816 0.36%
XOOM-44158 0.36%
SYF-47415 0.36%
BLDR-27369 0.36%
AVGO-38650 0.36%
INSM-21778 0.36%
OPHT-45498 0.36%
HALO-26766 0.36%
FGEN-48088 0.36%
ROSE-28091 0.36%
FLWS-20490 0.36%
MDSO-38538 0.36%
SCTY-43721 0.36%
FCN-14927 0.36%
AEIS-13777 0.36%
MNTA-26381 0.36%
FANG-43512 0.36%
GNRC-39208 0.36%
SCHN-10268 0.36%
CLD-38971 0.36%
YRCW-8370 0.36%
CHUY-43215 0.36%
DVN-2368 0.36%
AIRM-508 0.36%
LXK-13891 0.36%
BCRX-10905 0.36%
GEVA-42112 0.36%
HLT-45993 0.36%
WMS-47380 0.36%
ANFI-43493 0.36%
WNR-27997 0.36%
AT-39942 0.36%
VSAT-16307 0.36%
ECYT-40814 0.36%
KATE-4479 0.36%
SOHU-21813 0.36%
AUY-25714 0.36%
NEWM-46297 0.36%
WIN-27019 0.36%
IRWD-39194 0.36%
AUQ-25510 0.36%
FRO-22983 0.36%
DXCM-27173 0.36%
RES-6426 0.36%
FLDM-40848 0.36%
MRD-47126 0.36%
LQDT-28107 0.36%
CBB-24891 0.36%
CACC-1216 0.36%
CAR-17991 0.36%
ZFGN-47165 0.36%
OSTK-23714 0.36%
DO-13635 0.36%
NGD-27323 0.36%
PFPT-42825 0.36%
BCOR-24011 0.36%
ABX-64 0.36%
LGIH-45818 0.36%
ALXN-14328 0.36%
PPO-34117 0.36%
IMO-3895 0.36%
CUDA-45797 0.36%
MTDR-42446 0.36%
EIGI-45735 0.36%
AMKR-18655 0.36%
DXPE-17196 0.36%
CERN-1419 0.36%
TTPH-44314 0.36%
RTRX-41663 0.36%
AMRI-24777 0.36%
PLCM-14784 0.36%
HTWR-38150 0.36%
AKS-10897 0.36%
SN-42264 0.36%
SGMS-22637 0.36%
HAL-3443 0.36%
CHGG-45847 0.36%
COG-1746 0.36%
ITRI-10192 0.36%
ATW-624 0.36%
SBGI-13098 0.36%
UEIC-8566 0.36%
GBX-11645 0.36%
SALT-45996 0.36%
SPLK-42815 0.36%
PXD-17436 0.36%
OMER-38827 0.36%
UEPS-27529 0.36%
INFN-33979 0.36%
MASI-34501 0.36%
SHLM-6851 0.36%
LDOS-32714 0.36%
CLR-33856 0.36%
DPLO-47883 0.36%
TMUS-33698 0.36%
DNOW-46949 0.36%
SA-26203 0.36%
RATE-41601 0.36%
STAY-45848 0.35%
GLF-3265 0.35%
NBL-5213 0.35%
INCY-10187 0.35%
DDC-39 0.35%
AAXN-22846 0.35%
NMBL-46002 0.35%
VNCE-45906 0.35%
ITCI-46053 0.35%
EHTH-32726 0.35%
PRAA-24440 0.35%
AKAM-20680 0.35%
MTZ-4667 0.35%
CCG-40180 0.35%
SWKS-23821 0.35%
OFG-16394 0.35%
BOX-48486 0.35%
NE-5249 0.35%
VSI-38882 0.35%
MPAA-10992 0.35%
BNNY-42728 0.35%
INSY-44665 0.35%
HP-3647 0.35%
ANET-47063 0.35%
WIRE-8195 0.35%
MMYT-40028 0.35%
PAAS-13083 0.35%
HZNP-41766 0.35%
QRVO-48384 0.35%
GG-22226 0.35%
SHAK-48543 0.35%
EXAS-22364 0.35%
XNPT-27330 0.35%
CHMT-40299 0.35%
MXL-39393 0.35%
HRTG-46988 0.35%
EOG-2564 0.35%
UAL-28051 0.35%
LAZ-27223 0.35%
IPHI-40399 0.35%
USM-7851 0.35%
EXK-33236 0.35%
ITG-25095 0.35%
PAYC-46744 0.35%
ONDK-48290 0.35%
EXP-11120 0.35%
RKUS-43627 0.35%
NVRO-48025 0.35%
AG-40607 0.35%
FRAN-41737 0.35%
SPSC-39528 0.35%
BPT-1068 0.35%
CPG-46206 0.35%
LHO-18582 0.35%
AAWW-28378 0.35%
PETX-45011 0.35%
CREE-8459 0.35%
RVNC-46315 0.35%
UBNT-42027 0.35%
XOMA-8346 0.35%
FB-42950 0.35%
ACHC-42091 0.35%
RIGP-47421 0.35%
TDW-7364 0.35%
EGN-2470 0.35%
RBBN-21557 0.35%
FELE-2769 0.35%
MDC-4736 0.35%
AMBC-44636 0.35%
TXMD-28966 0.35%
DK-32042 0.35%
GTE-31619 0.35%
CRAY-21374 0.35%
SCMP-34477 0.35%
EQT-2587 0.35%
SHOR-34145 0.35%
DDD-12959 0.35%
BDSI-23846 0.35%
NGVC-43219 0.35%
HGG-34277 0.35%
ZNGA-42277 0.35%
PGTI-32324 0.35%
ANGI-42175 0.35%
FCEL-24853 0.35%
GTN-23945 0.35%
ATI-24840 0.35%
CTCM-32182 0.35%
NRZ-44647 0.35%
LNN-4471 0.35%
MDP-4751 0.35%
SXI-7259 0.35%
ARII-27998 0.35%
PDS-5855 0.35%
IBKR-33807 0.35%
RGLS-43472 0.35%
CAVM-33776 0.35%
NVDQ-42595 0.35%
BCPC-932 0.35%
MWW-24923 0.35%
DHI-2298 0.35%
ECOM-44779 0.35%
ABCO-23176 0.35%
LLL-18738 0.35%
SNMX-26370 0.35%
DWA-26750 0.35%
DHR-2170 0.35%
PRKR-10485 0.35%
CCJ-14479 0.35%
NEOG-5262 0.35%
WRLD-8268 0.35%
NOW-43127 0.35%
FLTX-43479 0.35%
WOOF-23267 0.35%
FNV-41886 0.35%
SPNC-7064 0.35%
KND-23221 0.35%
GIS-3214 0.35%
GWR-15139 0.35%
PTEN-10254 0.35%
FOR-35245 0.35%
JNS-24556 0.35%
XEC-24125 0.35%
EEQ-24073 0.35%
NOG-35961 0.35%
BBBY-739 0.35%
TRQ-25660 0.35%
CMC-1636 0.35%
ARRY-22192 0.35%
CVEO-46939 0.35%
SGEN-22563 0.35%
GEOS-17904 0.35%
CLW-37775 0.35%
NCMI-33317 0.35%
BLKB-26496 0.35%
CPA-27908 0.35%
EBAY-24819 0.35%
FNGN-39363 0.35%
ADPT-47191 0.35%
REX-9642 0.35%
ASPX-46308 0.35%
HA-3431 0.35%
MGM-4831 0.35%
TSLA-39840 0.35%
SNDK-13940 0.35%
FMI-45499 0.35%
GST-27984 0.35%
TRMK-7581 0.35%
AWAY-41667 0.35%
PIR-6000 0.35%
UAA-27822 0.35%
WDAY-43510 0.35%
FNSR-20866 0.35%
ARUN-33588 0.35%
WWAV-43572 0.35%
MDR-4752 0.35%
AMC-46027 0.35%
COST-1787 0.35%
PPC-39111 0.35%
CPSI-23667 0.35%
EVR-32483 0.35%
KGC-9189 0.35%
HOLI-28942 0.35%
BMRN-20330 0.35%
SGY-9458 0.35%
DKS-24070 0.35%
REGI-42385 0.35%
VOLC-32235 0.35%
TUES-24770 0.35%
KMT-4271 0.35%
TXTR-44879 0.35%
HY-43449 0.35%
BDBD-28667 0.35%
ECA-23021 0.35%
GTLS-32433 0.35%
MSI-4974 0.35%
PAY-27206 0.35%
JE-42431 0.35%
AEGN-3949 0.35%
LE-46579 0.35%
ADS-22747 0.35%
RGR-6458 0.35%
BGS-33892 0.35%
VVUS-11224 0.35%
CALD-25643 0.35%
GIMO-44892 0.35%
THOR-15228 0.35%
VRNS-46453 0.35%
GES-24811 0.35%
AOL-38989 0.35%
VNDA-28326 0.35%
AMZN-16841 0.35%
DTSI-25319 0.35%
CTB-1942 0.35%
TROX-40530 0.35%
MLNT-42455 0.35%
CNS-26569 0.35%
CBS-7962 0.35%
CVC-2000 0.35%
RCPT-44689 0.35%
MTX-5119 0.35%
SPWR-27817 0.35%
MDCA-12800 0.35%
RRTS-39628 0.35%
EGRX-46354 0.35%
LNKD-41451 0.35%
BPOP-1062 0.35%
MRO-5035 0.35%
CVI-22766 0.35%
RDC-6392 0.35%
TTS-40545 0.35%
NFLX-23709 0.35%
EPAM-42463 0.35%
CCMP-21371 0.35%
DISC_A-36930 0.35%
WPM-27437 0.35%
ARRS-25134 0.35%
WLH-43733 0.35%
MIK-47228 0.35%
FOLD-33949 0.35%
MENT-4794 0.35%
NM-27763 0.35%
FEYE-45451 0.35%
RLYP-45851 0.35%
GRMN-22316 0.35%
ABAX-31 0.35%
CODE-39640 0.35%
KOS-41416 0.35%
HLIT-12898 0.35%
OSIS-17718 0.35%
AXE-13500 0.35%
CSOD-41098 0.35%
RH-43599 0.35%
HSP-26243 0.35%
DHT-27705 0.35%
TRP-7591 0.35%
AABA-14848 0.35%
TREX-20028 0.35%
EXEL-21383 0.35%
PSIX-33645 0.35%
SIVB-6897 0.35%
AMSG-22862 0.35%
SODA-40353 0.35%
BLUE-44935 0.35%
BGG-845 0.35%
MGI-26435 0.35%
ROG-6534 0.35%
RAVN-6347 0.35%
HSNI-36733 0.35%
LC-48220 0.35%
MRVL-21666 0.35%
PEGA-15365 0.35%
NBIX-14972 0.35%
OLED-14774 0.35%
HSC-3686 0.35%
TNP-23544 0.35%
CMLS-18863 0.35%
USNA-15408 0.35%
BYD-9888 0.35%
EW-21382 0.35%
MUX-7845 0.35%
UIHC-35018 0.35%
CSC-1898 0.35%
JOE-6904 0.35%
PCTY-46569 0.35%
IRBT-27780 0.35%
SCCO-14284 0.35%
AFFX-15064 0.35%
NDLS-45014 0.35%
GNC-41182 0.35%
SGI-27271 0.35%
HEI-3519 0.35%
THRM-19666 0.35%
TREE-36742 0.35%
CHTR-39095 0.35%
VRA-40287 0.35%
SALE-45114 0.35%
AKRX-270 0.35%
ILMN-21774 0.35%
APOL-24829 0.35%
DSW-27409 0.35%
SLB-6928 0.35%
ARAY-33310 0.35%
REGN-6413 0.35%
TRS-33879 0.35%
FDO-2760 0.35%
ENLC-25850 0.35%
SSD-11386 0.35%
BABY-22865 0.35%
ESPR-44989 0.35%
CVA-2169 0.35%
SCSC-11046 0.35%
COR-40146 0.35%
EV-2407 0.35%
CALM-16169 0.35%
FSL-41491 0.35%
NVGS-45915 0.35%
XXIA-22185 0.35%
SYNA-23398 0.35%
BIIB-3806 0.35%
NYT-5551 0.35%
FTNT-38965 0.35%
HEES-28023 0.35%
IDIX-26502 0.35%
STLD-16108 0.35%
CVTI-12023 0.35%
CSCO-1900 0.35%
CATM-35253 0.35%
CLGX-2691 0.35%
PNK-21187 0.35%
HT-19709 0.35%
TRN-7583 0.35%
NXPI-39994 0.35%
UMPQ-18634 0.35%
CPN-35531 0.35%
HOS-26150 0.35%
IPXL-37849 0.35%
VLO-7990 0.35%
GPN-22443 0.35%
PODD-33858 0.35%
RT-4971 0.35%
QLIK-39921 0.35%
INVA-26676 0.35%
RGLD-6455 0.35%
FBC-16754 0.35%
LPX-4531 0.35%
FET-42784 0.35%
CMTL-1675 0.35%
DLLR-26514 0.35%
MDVN-28160 0.35%
TNK-35260 0.35%
AMCC-17799 0.35%
LGND-12200 0.35%
GMCR-9736 0.35%
NSR-27413 0.35%
HOV-3645 0.35%
WAL-27421 0.35%
OZRK-17264 0.35%
CRK-1663 0.35%
FBP-2806 0.35%
CAG-1228 0.35%
ZLTQ-42037 0.35%
SEM-38786 0.35%
CMD-1722 0.35%
HDS-44990 0.35%
RUSH_A-23907 0.35%
INVN-42165 0.35%
CTRL-45212 0.35%
CLI-11752 0.35%
XENT-47373 0.35%
ATHN-34692 0.35%
COO-1769 0.35%
SSI-23395 0.35%
ALLY-46015 0.35%
JW_A-8187 0.35%
KPTI-45799 0.35%
LRCX-4537 0.35%
SPR-32921 0.35%
TPLM-31903 0.35%
EXLS-32752 0.35%
CPHD-21603 0.35%
WNC-8233 0.35%
NAT-17553 0.35%
INT-3950 0.35%
CMPR-27674 0.35%
WFT-19336 0.35%
RTK-6523 0.35%
AIT-24855 0.35%
DIN-3846 0.35%
EA-2602 0.35%
RUBI-46671 0.35%
TPRE-45281 0.35%
BYI-19759 0.35%
CYNO-27887 0.35%
NEM-5261 0.35%
GCO-3131 0.35%
PHH-26956 0.35%
HYH-47929 0.35%
SNBR-19559 0.35%
DRTX-43200 0.35%
SVU-7233 0.35%
NUVA-26291 0.35%
ENSG-35042 0.35%
RRD-2248 0.35%
ITT-14081 0.35%
RGEN-6449 0.35%
MCY-5017 0.35%
CUZ-1995 0.35%
BECN-26643 0.35%
OII-5629 0.35%
WWE-20818 0.35%
EXAM-40320 0.35%
XLRN-45431 0.35%
USCR-40241 0.35%
ALNY-26335 0.35%
JOY-22996 0.35%
ZOES-46742 0.35%
CKEC-1577 0.35%
OXY-5729 0.35%
PLXS-6041 0.35%
ADTN-11718 0.35%
TGTX-13984 0.35%
PSX-42788 0.35%
P-41579 0.35%
ATHL-45211 0.35%
HTLD-3706 0.35%
RGS-6453 0.35%
VRX-10908 0.35%
THS-27406 0.35%
IMGN-3885 0.35%
NLSN-40755 0.35%
HPTX-43230 0.35%
SLAB-21326 0.35%
RENT-6421 0.35%
EURN-48487 0.35%
GWRE-42402 0.35%
IMPV-42131 0.35%
GILD-3212 0.35%
CST-44508 0.35%
IOC-26617 0.35%
THO-7433 0.35%
SFM-45199 0.35%
BWA-9514 0.35%
CPLA-32860 0.35%
CRUS-1882 0.35%
TPR-22099 0.35%
BZH-10728 0.35%
ALOG-311 0.35%
GOV-38446 0.35%
WEX-27045 0.35%
CLNS-47230 0.35%
SLGN-16559 0.35%
WMC-42917 0.35%
NJR-5326 0.35%
UIS-7761 0.35%
BPI-38286 0.35%
CEB-19788 0.35%
CRI-25576 0.35%
IDTI-3808 0.35%
AET-168 0.35%
PJC-25823 0.35%
WBA-8089 0.35%
DGI-38374 0.35%
PNR-6082 0.35%
PAHC-46748 0.35%
IPGP-33033 0.35%
SYMC-7272 0.35%
FMER-12662 0.35%
CVLT-32622 0.35%
YUM-17787 0.35%
CCOI-23428 0.35%
CSU-17639 0.35%
GMED-43252 0.35%
DSX-27116 0.35%
BID-869 0.35%
CELG-1406 0.35%
NVR-5513 0.35%
SWN-7244 0.35%
SNR-47958 0.35%
ZUMZ-27229 0.35%
CIR-20696 0.35%
ALKS-301 0.35%
AGO-26211 0.35%
TTWO-16820 0.35%
MDXG-34049 0.35%
ADBE-114 0.35%
MNK-44917 0.35%
CVT-45249 0.35%
FSLR-32902 0.35%
BALT-39327 0.35%
DYN-43462 0.35%
OKE-5634 0.35%
MDT-4758 0.35%
RLD-39918 0.35%
LOGM-38560 0.35%
MTH-16385 0.35%
SMTC-6961 0.35%
NLNK-42147 0.35%
AIZ-25955 0.35%
ABMD-53 0.35%
BC-755 0.35%
HAFC-22371 0.35%
HZO-18917 0.35%
OMCL-23019 0.35%
BCOV-42531 0.35%
ANIK-8910 0.35%
NPTN-40807 0.35%
PDM-39204 0.35%
BIOS-15525 0.35%
ENOC-33881 0.35%
PRAH-48077 0.35%
MHLD-36164 0.35%
SU-10533 0.35%
CLH-1597 0.35%
AAPL-24 0.35%
CHH-24865 0.35%
CERS-16333 0.35%
AN-410 0.35%
SIR-42606 0.35%
SBNY-26132 0.35%
BXS-1028 0.35%
HAIN-10649 0.35%
MDU-4760 0.35%
OUTR-24791 0.35%
SPLS-7061 0.35%
TER-7401 0.35%
SNCR-32234 0.35%
CMP-25728 0.35%
KN-46369 0.35%
SAM-24822 0.35%
DRQ-17646 0.35%
ATML-607 0.35%
MHO-10217 0.35%
MSGN-39171 0.35%
DG-38936 0.35%
ALLT-32889 0.35%
UBSI-7697 0.35%
APH-465 0.35%
HST-9947 0.35%
BKS-9693 0.35%
HI-35919 0.35%
MYL-5166 0.35%
RHP-3175 0.35%
IPHS-32820 0.35%
STKL-7158 0.35%
GME-23438 0.35%
FII-18709 0.35%
BSFT-39782 0.35%
XOM-8347 0.35%
ADVS-13775 0.35%
CBPX-46307 0.35%
KS-30759 0.35%
PMT-38630 0.35%
CTSH-18870 0.35%
STRZ_A-32045 0.35%
EOPN-43229 0.35%
SXC-41733 0.35%
FSS-3037 0.35%
CSGP-20475 0.35%
EHC-3661 0.35%
AEO-11086 0.35%
MITL-39526 0.35%
SAIA-24115 0.35%
PCYC-13711 0.35%
ECOL-2430 0.35%
VMI-7897 0.35%
ADES-26715 0.35%
AGCO-197 0.35%
FARO-17508 0.35%
AL-41280 0.35%
SAFM-6624 0.35%
GIL-18902 0.35%
ATGE-2371 0.35%
PB-19509 0.35%
ATRO-617 0.35%
ALGN-22355 0.35%
PSMT-17568 0.35%
HOLX-3629 0.35%
PCH-5809 0.35%
ETH-8633 0.35%
PGH-32443 0.35%
DE-2127 0.35%
AERI-45733 0.35%
PCLN-19917 0.35%
APOG-474 0.35%
LL-35036 0.35%
AVNR-19445 0.35%
VMW-34545 0.35%
BURL-45558 0.35%
PDLI-5847 0.35%
CZZ-34560 0.35%
JAH-23784 0.35%
GPS-3321 0.35%
NCS-935 0.35%
CHKP-15101 0.35%
SFG-20019 0.35%
HUBB-3714 0.35%
WGO-8168 0.35%
BOBE-1016 0.35%
CP-1792 0.35%
UTHR-20306 0.35%
OIS-22464 0.35%
CAB-26412 0.35%
CAMP-1244 0.35%
WETF-31288 0.35%
KLXI-48169 0.35%
MTSC-5107 0.35%
NCR-16389 0.35%
AER-32916 0.35%
MSM-5066 0.35%
BLX-957 0.35%
LNG-22096 0.35%
CNO-25497 0.35%
GIII-3210 0.35%
FTI-22784 0.35%
PINC-45506 0.35%
BCO-24884 0.35%
FNFG-24551 0.35%
PRGO-6161 0.35%
ALV-16838 0.35%
PAG-15913 0.35%
MKL-4649 0.35%
KBH-4199 0.35%
SCHW-6704 0.35%
CSII-32325 0.35%
QSII-6311 0.35%
BHE-856 0.35%
ALEX-43060 0.35%
KOG-32283 0.35%
NTRS-5479 0.35%
CNX-24758 0.35%
FBHS-41928 0.35%
GLNG-24489 0.35%
ALB-10898 0.35%
HCI-36890 0.35%
EGP-2471 0.35%
SGNT-41301 0.35%
SAPE-14803 0.35%
SHO-26728 0.35%
TDC-34661 0.35%
BG-22959 0.35%
DOV-2262 0.35%
NEWR-48253 0.35%
BV-42551 0.35%
MMS-24794 0.35%
NTGR-25354 0.35%
CSH-6267 0.35%
PKD-6008 0.35%
LPSN-21415 0.35%
WTM-20315 0.35%
DCI-2109 0.35%
LDRH-45619 0.35%
AWR-19037 0.35%
PRSC-25458 0.35%
MAT-4668 0.35%
LQ-46721 0.35%
ARIA-11880 0.35%
MDAS-35268 0.35%
MINI-10793 0.35%
ATVI-9883 0.35%
RLI-6489 0.35%
KBR-32880 0.35%
CAM-13176 0.35%
TRIP-42230 0.35%
RMTI-18196 0.35%
RNET-40604 0.35%
TIF-7447 0.35%
ESL-2614 0.35%
ORCL-5692 0.35%
IMAX-11498 0.35%
SGYP-32331 0.35%
CASY-1266 0.35%
CLX-1616 0.35%
SFL-26386 0.35%
GPRE-28159 0.35%
PEI-5876 0.35%
SFS-47776 0.35%
LOPE-37686 0.35%
BKE-915 0.35%
ANDE-14329 0.35%
TYL-7681 0.35%
SWI-38388 0.35%
IRC-26847 0.35%
LEA-38921 0.35%
JJSF-4140 0.35%
SIX-39612 0.35%
TWX-357 0.35%
FFIN-10148 0.35%
CPT-9348 0.35%
STE-7173 0.35%
PKI-20774 0.35%
HNI-26259 0.35%
KKD-21410 0.35%
UNFI-16129 0.35%
NWSA-44931 0.35%
DDS-2126 0.35%
RPRX-8771 0.35%
ACTG-24465 0.35%
AVG-42445 0.35%
GAS-595 0.35%
ODFL-5582 0.35%
HIBB-15815 0.35%
GHDX-27666 0.35%
NAVI-46782 0.35%
MPC-41636 0.35%
SAH-24786 0.35%
ORIG-41919 0.35%
EMC-2518 0.35%
ELX-10747 0.35%
ETFC-15474 0.35%
IO-3996 0.35%
QEP-39778 0.35%
CNC-23283 0.35%
TSCO-10869 0.35%
RESI-43712 0.35%
HUBS-47872 0.35%
BSX-1131 0.35%
DYAX-21870 0.35%
TISI-7487 0.35%
VAR-7904 0.35%
OSUR-22151 0.35%
HMHC-45861 0.35%
QLYS-43454 0.35%
CBL-9890 0.35%
INXN-40784 0.35%
EXTR-19973 0.35%
MTD-17895 0.35%
MDCO-21906 0.35%
SNH-20799 0.34%
ANDV-7612 0.34%
NWN-5523 0.34%
MTW-4656 0.34%
NTAP-13905 0.34%
AMTD-16586 0.34%
MANH-18588 0.34%
TFM-40376 0.34%
MKTX-26781 0.34%
LTM-26426 0.34%
INN-40842 0.34%
IQNT-34997 0.34%
OPEN-38418 0.34%
ROL-6539 0.34%
BBY-754 0.34%
BCC-44089 0.34%
DGX-16348 0.34%
XHR-48575 0.34%
EMN-10594 0.34%
SSTK-43494 0.34%
MDRX-20394 0.34%
MTSI-42646 0.34%
DFRG-43237 0.34%
MEG-4779 0.34%
MGAM-14962 0.34%
ENT-41520 0.34%
BRLI-10108 0.34%
PAYX-5767 0.34%
KOP-28039 0.34%
DFS-34011 0.34%
NTRI-21697 0.34%
AVAV-33194 0.34%
BKCC-34107 0.34%
LCII-2295 0.34%
MGLN-25837 0.34%
PBF-43713 0.34%
BAS-27886 0.34%
AFAM-21103 0.34%
CHSP-39041 0.34%
HNT-22231 0.34%
AYR-32475 0.34%
FI-45248 0.34%
OREX-33742 0.34%
SKX-20284 0.34%
EXPE-27543 0.34%
NXST-25679 0.34%
PRIM-32784 0.34%
SWY-7254 0.34%
HUN-27030 0.34%
DBD-2100 0.34%
CF-27558 0.34%
TMHC-44433 0.34%
ESRX-2618 0.34%
AYI-23276 0.34%
GWB-47898 0.34%
CIM-35081 0.34%
AMT-24760 0.34%
DLTR-12652 0.34%
BIG-22657 0.34%
SAIC-45410 0.34%
RMBS-16945 0.34%
HABT-48126 0.34%
ZAYO-47912 0.34%
MSTR-23889 0.34%
CCRN-24893 0.34%
MCC-40724 0.34%
ROIC-34972 0.34%
FIVE-43201 0.34%
ADT-43399 0.34%
XRX-8354 0.34%
BERY-43476 0.34%
MKTO-44738 0.34%
FURX-39683 0.34%
CNHI-45538 0.34%
ININ-13046 0.34%
NSIT-12471 0.34%
BPFH-10723 0.34%
TNET-46633 0.34%
FCFS-5763 0.34%
BWLD-25642 0.34%
PEGI-45526 0.34%
CTXS-14014 0.34%
BA-698 0.34%
SONC-7027 0.34%
LOCK-43467 0.34%
CFR-1427 0.34%
LFUS-4433 0.34%
GOOG_L-26578 0.34%
FINL-2845 0.34%
ANF-15622 0.34%
IIVI-3854 0.34%
CGNX-1460 0.34%
GIB-3203 0.34%
UNH-7792 0.34%
FNHC-19523 0.34%
ACOR-28077 0.34%
PFG-23151 0.34%
KRO-25764 0.34%
DEPO-18010 0.34%
MLI-4902 0.34%
YNDX-41484 0.34%
WDC-8132 0.34%
TCBI-25467 0.34%
CMCS_A-1637 0.34%
TAHO-39938 0.34%
FTR-2069 0.34%
HR-8965 0.34%
RCL-8863 0.34%
URBN-10303 0.34%
UVE-31185 0.34%
HII-41111 0.34%
UNP-7800 0.34%
FFIV-20208 0.34%
ARMK-45992 0.34%
DORM-6355 0.34%
WAGE-42919 0.34%
REN-34800 0.34%
HAS-3460 0.34%
SRPT-16999 0.34%
SNX-25697 0.34%
SDLP-43539 0.34%
CONE-43984 0.34%
MAC-10984 0.34%
EXR-26566 0.34%
SSNI-44270 0.34%
CLS-19063 0.34%
ETR-2637 0.34%
URI-18113 0.34%
VMC-7998 0.34%
MSA-4939 0.34%
HUBG-14569 0.34%
BRKS-12512 0.34%
FOXA-12213 0.34%
TRAK-27901 0.34%
PWR-6269 0.34%
RRGB-23904 0.34%
CVD-25396 0.34%
HCSG-3494 0.34%
ARR-35162 0.34%
COL-22880 0.34%
CMI-1985 0.34%
HW-22020 0.34%
LEG-4415 0.34%
CSLT-46551 0.34%
EIG-33239 0.34%
SBUX-6683 0.34%
OI-5626 0.34%
CHRS-48026 0.34%
PEB-39047 0.34%
SYNH-48027 0.34%
CIE-39073 0.34%
HDP-48257 0.34%
FOE-2933 0.34%
WABC-8084 0.34%
WP-42699 0.34%
CMA-1620 0.34%
EGY-26497 0.34%
HTH-25976 0.34%
MXIM-5149 0.34%
TNC-7303 0.34%
ORA-26788 0.34%
PNY-6091 0.34%
ALGT-33016 0.34%
ABG-24761 0.34%
MTOR-21723 0.34%
OSK-5719 0.34%
OWW-34300 0.34%
VEEV-45667 0.34%
LZB-4621 0.34%
WGL-8166 0.34%
EE-24852 0.34%
SE-33030 0.34%
CRL-21605 0.34%
TPC-5824 0.34%
DY-2385 0.34%
ITC-27492 0.34%
CNQR-19575 0.34%
LVNT_A-43298 0.34%
FLS-17207 0.34%
DB-23113 0.34%
ENDP-21750 0.34%
CMG-28016 0.34%
EFII-2460 0.34%
BMS-975 0.34%
PPG-6116 0.34%
HAE-3436 0.34%
CVS-4799 0.34%
PNNT-33704 0.34%
TMO-7493 0.34%
SREV-41142 0.34%
TEG-8264 0.34%
CVE-38896 0.34%
QDEL-6297 0.34%
VIAB-27872 0.34%
INDB-3918 0.34%
PQ-19326 0.34%
RL-24832 0.34%
KMX-16511 0.34%
CHRW-17632 0.34%
MOG_A-4960 0.34%
AMGN-368 0.34%
SHOO-10513 0.34%
RBC-6352 0.34%
RYN-11044 0.34%
GEO-11710 0.34%
KNX-12067 0.34%
LH-12909 0.34%
CGI-10578 0.34%
EME-14028 0.34%
FAF-39664 0.34%
WOR-8306 0.34%
AIR-253 0.34%
FITB-2855 0.34%
EVTC-44466 0.34%
CNI-16178 0.34%
BTE-28232 0.34%
OLN-5643 0.34%
BLT-20462 0.34%
ACN-25555 0.34%
LAD-16238 0.34%
MTRX-5105 0.34%
BFAM-44017 0.34%
MIDD-4695 0.34%
HCP-3490 0.34%
DAL-33729 0.34%
ONB-5639 0.34%
PNFP-23718 0.34%
PMC-34241 0.34%
RDUS-46871 0.34%
TMH-39076 0.34%
CAH-1376 0.34%
CAA-7050 0.34%
DLR-26758 0.34%
PBCT-5769 0.34%
BEAV-799 0.34%
TITN-35190 0.34%
ADSK-67 0.34%
NPO-23798 0.34%
CFX-36176 0.34%
HRL-3668 0.34%
LVLT-18587 0.34%
CUBE-26733 0.34%
HTGC-27341 0.34%
MWA-32159 0.34%
MUSA-45299 0.34%
MFRM-42184 0.34%
BRKR-25307 0.34%
TWTC-20160 0.34%
VAL-7895 0.34%
FDML-35128 0.34%
CPF-1796 0.34%
AGN-8572 0.34%
SEMI-46980 0.34%
GHL-26265 0.34%
DECK-9909 0.34%
ASGN-557 0.34%
LABL-4343 0.34%
SPG-10528 0.34%
CAT-1267 0.34%
NCLH-43981 0.34%
VIVO-4244 0.34%
JEC-4120 0.34%
IDCC-3801 0.34%
CNMD-1706 0.34%
CCK-1343 0.34%
WPRT-36763 0.34%
IVZ-16589 0.34%
PCP-5822 0.34%
FEIC-13030 0.34%
SIRO-17289 0.34%
VFC-7949 0.34%
WU-32603 0.34%
TECD-7372 0.34%
BDN-9096 0.34%
NP-26837 0.34%
RLGY-43500 0.34%
GLRE-33906 0.34%
RS-11955 0.34%
WBMD-27669 0.34%
SC-46215 0.34%
SKYW-6925 0.34%
SLF-21328 0.34%
TCRD-39529 0.34%
BOFI-27108 0.34%
POL-22049 0.34%
LXRX-21413 0.34%
NWE-26769 0.34%
AXL-19672 0.34%
AME-353 0.34%
LECO-24824 0.34%
GOGO-44965 0.34%
SCHL-6705 0.34%
MGA-4823 0.34%
JKHY-4141 0.34%
MOV-14762 0.34%
CSTM-44780 0.34%
LVS-26882 0.34%
LNT-18584 0.34%
CSX-1937 0.34%
INTU-8655 0.34%
RAX-36714 0.34%
ESNT-45770 0.34%
ATU-484 0.34%
SEE-6769 0.34%
RYL-6612 0.34%
SABR-46776 0.34%
SNI-36372 0.34%
CBST-15769 0.34%
LMNX-21288 0.34%
BXP-17009 0.34%
FICO-2837 0.34%
BEN-812 0.34%
SRCL-15581 0.34%
XLNX-8344 0.34%
ANN-430 0.34%
OGE-5607 0.34%
MA-32146 0.34%
TSEM-12116 0.34%
FHN-26204 0.34%
EXPR-39626 0.34%
ISIL-21166 0.34%
CORE-27864 0.34%
SWX-7253 0.34%
TPX-25802 0.34%
HPY-27559 0.34%
CFG-47777 0.34%
FMBI-2891 0.34%
FMSA-47848 0.34%
EQIX-24482 0.34%
LLTC-4485 0.34%
CCL-24692 0.34%
OTEX-14277 0.34%
KSU-4315 0.34%
ARW-538 0.34%
CR-1835 0.34%
ACM-33831 0.34%
RHT-20541 0.34%
TEX-7408 0.34%
AVA-25265 0.34%
RF-34913 0.34%
WFM-8158 0.34%
ASNA-2105 0.34%
OUT-46644 0.34%
HFC-3620 0.34%
RXN-42738 0.34%
WLB-8130 0.34%
AZPN-11999 0.34%
SSW-27550 0.34%
TWI-9066 0.34%
EEFT-16609 0.34%
NEE-2968 0.34%
GVA-3123 0.34%
PACW-21624 0.34%
AOS-6949 0.34%
AAT-40707 0.34%
LGF-19491 0.34%
MDLZ-22802 0.34%
CBM-1297 0.34%
CINF-1551 0.34%
IGT-3840 0.34%
CCE-1332 0.34%
QLGC-10829 0.34%
CHE-26305 0.34%
MYGN-13698 0.34%
TESO-16281 0.34%
TWOU-46648 0.34%
VRNT-23745 0.34%
CCI-19258 0.34%
FCAU-47888 0.34%
SPTN-21939 0.34%
CSTE-42704 0.34%
LSCC-4549 0.34%
COHR-1751 0.34%
STR-7171 0.34%
JBLU-23599 0.34%
FLT-40597 0.34%
SRC-43414 0.34%
CHS-8612 0.34%
ECPG-25320 0.34%
CNQ-21735 0.34%
RCII-24827 0.34%
STNG-39422 0.34%
DAR-11908 0.34%
PNRA-20133 0.34%
SON-7028 0.34%
TPH-44053 0.34%
AMWD-405 0.34%
TJX-7457 0.34%
HAWK-44570 0.34%
LO-36346 0.34%
AGU-12856 0.34%
SLXP-22269 0.34%
LANC-4355 0.34%
OMG-10009 0.34%
SFNC-6812 0.34%
KRA-39079 0.34%
GLBR-40531 0.34%
COMM-45734 0.34%
FRX-3014 0.34%
RLJ-41417 0.34%
DFT-34886 0.34%
ALTR-328 0.34%
EQY-18696 0.34%
PLD-24785 0.34%
ACCO-27570 0.34%
UHS-7749 0.34%
QCOM-6295 0.34%
SMCI-33609 0.34%
ACIW-12616 0.34%
APTV-42173 0.34%
EBS-32878 0.34%
NWBO-23322 0.34%
WTR-6193 0.34%
EXPO-18417 0.34%
NILE-26315 0.34%
KMI-40852 0.34%
GEF-14379 0.34%
WCC-20163 0.34%
WWD-16425 0.34%
CNK-33716 0.34%
CBU-1313 0.34%
ED-2434 0.34%
DNKN-41759 0.34%
CVG-19203 0.34%
SMP-6967 0.34%
VSH-8050 0.34%
PRI-39434 0.34%
SCS-18347 0.34%
ECHO-38798 0.34%
PII-6992 0.34%
TUP-15041 0.34%
VZ-21839 0.34%
ENTG-21754 0.34%
MEI-4803 0.34%
WCG-26440 0.34%
CLB-13508 0.34%
KTOS-20947 0.34%
PKY-6015 0.34%
SO-7011 0.34%
AIMC-33052 0.34%
IPG-3990 0.34%
CY-2043 0.34%
PCRX-40815 0.34%
LOW-4521 0.34%
LII-24767 0.34%
ARCC-26672 0.34%
DLX-2212 0.34%
OGS-46180 0.34%
GGG-3190 0.34%
STJ-7156 0.34%
ULTA-34953 0.34%
CROX-28078 0.34%
MANT-23447 0.34%
GD-3136 0.34%
TEN-7422 0.34%
BKH-913 0.34%
IR-4010 0.34%
COF-12160 0.34%
TOWR-40257 0.34%
VG-32143 0.34%
OMI-5660 0.34%
DF-24814 0.34%
POWR-5090 0.34%
SYK-7178 0.34%
LXP-9968 0.34%
MSCC-5053 0.34%
HXL-3738 0.34%
MCK-12350 0.34%
TUMI-42811 0.34%
AWK-36098 0.34%
HRS-3676 0.34%
AI-18027 0.34%
WCIC-42777 0.34%
HURN-26708 0.34%
WBS-8119 0.34%
IBP-46365 0.34%
PGR-5950 0.34%
ALK-300 0.34%
MMI-45771 0.34%
TXT-7674 0.34%
SSNC-39432 0.34%
CBSH-1312 0.34%
ROK-6536 0.34%
IBKC-21503 0.34%
HASI-44511 0.34%
APA-448 0.34%
WEC-8140 0.34%
PNW-6090 0.34%
AES-166 0.34%
BEL-21911 0.34%
MAN-4654 0.34%
CNW-1696 0.34%
AAN-523 0.34%
SERV-47207 0.34%
KIM-4238 0.34%
SAVE-41498 0.34%
PPS-9438 0.34%
AMAT-337 0.34%
INTC-3951 0.34%
TTEK-8106 0.34%
WHR-8178 0.34%
TNGO-41762 0.34%
ECL-2427 0.34%
BAP-13612 0.34%
DISH-13017 0.34%
ICLR-18729 0.34%
ST-39347 0.34%
VGR-21572 0.34%
PTP-24110 0.34%
AWI-32690 0.34%
CRS-1874 0.34%
ORLY-8857 0.34%
WWW-8321 0.34%
RTN-6583 0.34%
SJR-19150 0.34%
POR-28318 0.34%
CNVR-21346 0.34%
INOV-48629 0.34%
SKT-9052 0.34%
PF-44375 0.34%
HELE-3522 0.34%
KFY-19803 0.34%
FRC-40573 0.34%
HHC-40378 0.34%
FCH-11641 0.34%
JPM-25006 0.34%
VRSK-38817 0.34%
AMCX-41594 0.34%
BR-33562 0.34%
ACC-26553 0.34%
RP-40030 0.34%
NNBR-11003 0.34%
KLIC-4248 0.34%
SEAS-44541 0.34%
GBCI-3109 0.34%
JBHT-4108 0.34%
TW-22183 0.34%
TU-22176 0.34%
PRO-34118 0.34%
IGTE-21275 0.34%
BLOX-42821 0.34%
BRX-45755 0.34%
NHI-5303 0.34%
EMR-2530 0.34%
PRU-23328 0.34%
CE-26960 0.34%
DRI-12882 0.34%
EWBC-19787 0.34%
VTR-18821 0.34%
CBT-1315 0.34%
BAX-734 0.34%
MKSI-19909 0.34%
DS-24099 0.34%
RDWR-20658 0.34%
CBG-26367 0.34%
RDN-20276 0.34%
HSTM-21401 0.34%
POM-6098 0.34%
RPAI-42764 0.34%
CBRL-1308 0.34%
WRB-916 0.34%
CALX-39392 0.34%
RFMD-17107 0.34%
BEE-26410 0.34%
MYCC-45453 0.34%
ARCB-41 0.34%
HOMB-32302 0.34%
ABC-22954 0.34%
WDR-18508 0.34%
HD-3496 0.34%
CB-1274 0.34%
HBHC-3476 0.34%
INFA-19990 0.34%
GLW-3241 0.34%
INGN-46370 0.34%
BCE-766 0.34%
NDSN-5253 0.34%
TGI-15905 0.34%
BMO-12002 0.34%
USB-25010 0.34%
MAR-25920 0.34%
FSP-27327 0.34%
TICC-25703 0.34%
MPW-27443 0.34%
DEI-32770 0.34%
TRI-23825 0.34%
VLY-8011 0.34%
IPAR-20384 0.34%
CL-1582 0.34%
NATI-12701 0.34%
VECO-12267 0.34%
TXRH-26693 0.34%
MON-22140 0.34%
RHI-6465 0.34%
TLMR-46355 0.34%
COT-1789 0.34%
TCF-7334 0.34%
BLMN-43283 0.34%
CQB-1833 0.34%
NUAN-19926 0.34%
SF-6798 0.34%
IMS-46694 0.34%
HBI-32497 0.34%
HIW-11492 0.34%
VHC-30464 0.34%
PKG-20773 0.34%
CCC-1331 0.34%
FLR-24833 0.34%
LCI-23602 0.34%
HQY-47397 0.34%
TILE-3832 0.34%
ELY-2514 0.34%
TBI-15165 0.34%
SBRA-26096 0.34%
HOT-3642 0.34%
PBH-27027 0.34%
MLNX-33316 0.34%
GLT-3239 0.34%
HRC-3471 0.34%
EPAY-19784 0.34%
CTL-1960 0.34%
FL-8383 0.34%
AF-10089 0.34%
PMCS-17098 0.34%
ABBV-43694 0.34%
ISBC-27703 0.34%
MCO-22139 0.34%
CYN-2052 0.34%
KW-35165 0.34%
PZZA-9252 0.34%
NEU-26395 0.34%
MMC-4914 0.34%
TMK-7488 0.34%
DDR-8468 0.34%
PBI-5773 0.34%
PBPB-45579 0.34%
EGL-43151 0.34%
HTA-43032 0.34%
DRH-27278 0.34%
WST-8291 0.34%
DIOD-2185 0.34%
NKE-5328 0.34%
EXC-22114 0.34%
ACAD-26322 0.34%
WLK-26563 0.34%
ORB-5689 0.34%
BAH-40420 0.34%
ARWR-10417 0.34%
EGOV-20359 0.34%
IPCM-35640 0.34%
MAIN-34797 0.34%
HPP-39816 0.34%
FUL-3065 0.34%
MYRG-36737 0.34%
GNTX-3286 0.34%
OVTI-21799 0.34%
FDS-15129 0.34%
WYNN-24124 0.34%
LSTR-8667 0.34%
MSFT-5061 0.34%
MBFI-23228 0.34%
SJM-21935 0.34%
SFLY-32660 0.34%
PCL-5813 0.34%
FNF-47177 0.34%
NNN-5376 0.34%
KR-4297 0.34%
HMSY-3607 0.34%
TDS-7362 0.34%
LYB-39546 0.34%
JCI-4117 0.34%
UTX-7883 0.34%
MTG-5092 0.34%
AON-438 0.34%
FAST-2696 0.34%
FR-11478 0.34%
CPB-1795 0.34%
TKR-7467 0.34%
WAT-13962 0.34%
BKD-27830 0.34%
FE-17850 0.34%
MATX-289 0.34%
WRI-8267 0.34%
MNRO-4945 0.34%
SJI-6900 0.34%
TQNT-10545 0.34%
VRSN-18221 0.34%
POT-6109 0.34%
ROYT-42887 0.34%
MTGE-41792 0.34%
MD-13557 0.34%
WTS-8107 0.34%
BXMT-24697 0.34%
SYY-7285 0.34%
LPNT-20105 0.34%
COTY-44909 0.34%
CECO-24834 0.34%
WYN-32393 0.34%
IFF-3822 0.34%
HUM-3718 0.34%
ABT-62 0.34%
HON-25090 0.34%
LM-4488 0.34%
RNR-13267 0.34%
IDA-3798 0.34%
EDR-26969 0.34%
ARNC-2 0.34%
MTN-24799 0.34%
CBOE-39773 0.34%
BIO-879 0.34%
FLO-2876 0.34%
UNF-7789 0.34%
ATR-8783 0.34%
FCX-13197 0.34%
SYKE-14817 0.34%
TCO-7346 0.34%
OHI-5621 0.34%
PHM-5969 0.34%
TTC-7623 0.34%
GS-20088 0.34%
BGCP-20973 0.34%
TGT-21090 0.34%
PCAR-5787 0.34%
WMGI-40816 0.34%
QTS-45617 0.34%
GLPI-45656 0.34%
RSE-42315 0.34%
NSP-16323 0.34%
FMC-2893 0.34%
GLOG-42746 0.34%
MAS-4665 0.34%
BLL-939 0.34%
XPER-25705 0.34%
IHS-27791 0.34%
PEG-5862 0.34%
NLY-17702 0.34%
LKQ-25598 0.34%
CLC-1585 0.34%
RNDY-42464 0.34%
WBC-34226 0.34%
MEOH-4795 0.34%
PDCO-26437 0.34%
MED-4766 0.34%
LTC-4561 0.34%
V-35920 0.34%
CTRX-32301 0.34%
IOSP-18759 0.34%
GWW-3421 0.34%
RGA-9037 0.34%
OC-32608 0.34%
MLM-10796 0.34%
POWI-18085 0.34%
OPK-23120 0.34%
STMP-26286 0.34%
PSA-24962 0.34%
SUSQ-7222 0.34%
PETM-9435 0.34%
KRC-16374 0.34%
SIRI-11901 0.34%
PENN-11361 0.34%
FNB-2701 0.34%
PLL-6030 0.34%
WMGI-22948 0.34%
WD-40592 0.34%
TECH-7373 0.34%
TE-7369 0.34%
CA-1209 0.34%
FDX-2765 0.34%
AINV-26183 0.34%
HPT-13373 0.34%
STX-24518 0.34%
CME-24475 0.34%
AFSI-32871 0.34%
MKC-4705 0.34%
HIG-14064 0.34%
APAM-44249 0.34%
SBY-43718 0.34%
AHL-25712 0.34%
NYMT-34662 0.34%
SBH-32866 0.34%
WIBC-8278 0.34%
EL-13841 0.34%
FRGI-42856 0.34%
AZO-693 0.34%
RTI-6579 0.34%
SQI-40157 0.34%
COV-34010 0.34%
RGC-23722 0.34%
SRE-24778 0.34%
DOC-45113 0.34%
CLNY-38760 0.34%
PVTB-20273 0.34%
XYL-42023 0.34%
LOGI-16649 0.34%
IART-18727 0.34%
ENS-26530 0.34%
AFL-185 0.34%
WERN-8147 0.34%
SUM-48746 0.34%
CNSL-27478 0.34%
GPC-3306 0.34%
MRH-24096 0.34%
TRV-7041 0.34%
MRK-5029 0.34%
THG-13601 0.34%
DMND-27474 0.34%
MOS-41462 0.34%
SANM-8869 0.34%
NUE-5488 0.34%
RMD-13089 0.34%
GK-3219 0.34%
GXP-23126 0.34%
RALY-44467 0.34%
EPL-38761 0.34%
WTFC-16703 0.34%
EDE-2437 0.34%
TDG-28161 0.34%
ROLL-27557 0.34%
MLHR-4901 0.34%
HME-11654 0.34%
FPRX-45430 0.34%
AUXL-26500 0.34%
PRA-22835 0.34%
KCG-44988 0.34%
CDW-45007 0.34%
TYPE-34378 0.34%
SAAS-31137 0.34%
CATO-1219 0.34%
ACRX-40827 0.34%
POST-42407 0.34%
UFS-2329 0.34%
KORS-42270 0.34%
DST-13835 0.34%
DPZ-26466 0.34%
CATY-1270 0.34%
CYS-38477 0.34%
RAI-20277 0.34%
PH-5956 0.34%
ALE-21975 0.34%
HOG-3499 0.34%
DPS-36118 0.34%
BOH-1023 0.34%
IT-9930 0.34%
RNST-5960 0.34%
APEI-35040 0.34%
BF_B-822 0.34%
EPZM-44830 0.34%
GPK-25429 0.34%
TCAP-33359 0.34%
CTCT-34783 0.34%
KMB-4263 0.34%
TD-15596 0.34%
JBT-36586 0.34%
GGP-8817 0.34%
RAIL-27161 0.34%
CNA-1684 0.34%
CDNS-1385 0.34%
CVX-23112 0.34%
NLS-23710 0.34%
STI-7152 0.34%
SYNT-24790 0.34%
PVH-6257 0.34%
REG-10027 0.34%
ZION-8399 0.34%
WCN-18822 0.34%
CSGS-14354 0.34%
ACAT-69 0.34%
HMN-3605 0.34%
SNPS-6994 0.34%
MPWR-26811 0.34%
MCRL-12342 0.34%
FRT-3010 0.34%
WAB-13135 0.34%
OXM-5728 0.34%
STAR-24862 0.34%
BKU-40783 0.34%
SBAC-20281 0.34%
RKT-11042 0.34%
VR-34334 0.34%
SCOR-34111 0.34%
IRM-14388 0.34%
CHDN-8613 0.34%
EXPD-2663 0.34%
WFC-8151 0.34%
CBI-1287 0.34%
PSB-6190 0.34%
TSN-7684 0.34%
JNPR-20239 0.34%
VWR-47831 0.34%
IDRA-14255 0.34%
ALR-15575 0.34%
DOW-2263 0.34%
ETN-2633 0.34%
BDX-794 0.34%
MCHP-8677 0.34%
FULT-3066 0.34%
VC-40159 0.34%
LYV-27943 0.34%
NOV-24809 0.34%
MET-21418 0.34%
ROC-27572 0.34%
WSM-8284 0.34%
DCT-33026 0.34%
SCG-6701 0.34%
ASH-559 0.34%
EAT-2404 0.34%
SMG-6736 0.34%
BMY-980 0.34%
IRET-17673 0.34%
SCLN-6714 0.34%
PEP-5885 0.34%
SCI-7110 0.34%
PSEC-26517 0.34%
COLM-18403 0.34%
ROST-6546 0.34%
ELLI-41243 0.34%
NI-5310 0.34%
ARI-38759 0.34%
AGNC-36243 0.34%
MACK-42735 0.34%
TWO-38887 0.34%
TVTY-371 0.34%
MOH-25349 0.34%
PES-22551 0.34%
ELS-8516 0.34%
PTLA-44770 0.34%
FWRD-19216 0.34%
UMBF-11215 0.34%
RWT-13451 0.34%
NMFC-41463 0.34%
MMM-4922 0.34%
DRII-45112 0.34%
TFSL-33718 0.34%
TDY-7367 0.34%
CLDT-39498 0.34%
OCR-5575 0.34%
RVBD-32618 0.34%
NYCB-22250 0.34%
DLB-27046 0.34%
BRK_B-11100 0.34%
DIS-2190 0.34%
ADP-630 0.34%
MORN-27216 0.34%
XRAY-8352 0.34%
BCR-779 0.34%
CKH-1581 0.34%
AEE-24783 0.34%
KYTH-43497 0.34%
BOKF-1024 0.34%
ANH-18380 0.34%
MAA-10639 0.34%
MFC-4809 0.34%
STT-7139 0.34%
TSS-7616 0.34%
TCPC-42758 0.34%
GTIV-21266 0.34%
TOL-7530 0.34%
POOL-13718 0.34%
LEN-4417 0.34%
CVGW-23857 0.34%
PSG-47178 0.34%
STL-19730 0.34%
PLCE-24789 0.34%
PTX-16489 0.34%
KSS-4313 0.34%
LFGR-40754 0.34%
LLY-4487 0.34%
VNO-8014 0.34%
RPXC-41375 0.34%
CI-1539 0.34%
HSY-3695 0.34%
OFIX-5601 0.34%
QVCA-32046 0.34%
BRCD-20061 0.34%
FTD-45645 0.34%
ACXM-110 0.34%
NX-28153 0.34%
DNB-2237 0.34%
KMPR-7795 0.34%
RJF-6482 0.34%
MSCI-35078 0.34%
LMCA-43919 0.34%
KRG-26562 0.34%
SLH-33841 0.34%
AMTG-41738 0.34%
NWBI-12212 0.34%
XL-8340 0.34%
ZIOP-31341 0.34%
HBAN-3472 0.34%
CPWR-1826 0.34%
CXW-22102 0.34%
EVER-42885 0.34%
TAP-76 0.34%
ALSN-42637 0.34%
KEY-4221 0.34%
CVBF-1999 0.34%
TRW-25948 0.34%
CNL-1703 0.34%
BMR-26548 0.34%
ALL-24838 0.34%
MHK-4963 0.34%
HF-33240 0.34%
AWH-32367 0.34%
PM-35902 0.34%
FDP-17651 0.34%
MOVE-20500 0.34%
GT-3384 0.34%
HTS-36111 0.34%
SIG-9774 0.34%
HCN-3488 0.34%
BBT-16850 0.34%
ESE-2608 0.34%
EIX-14372 0.34%
CSL-1909 0.34%
FIS-22876 0.34%
ATO-612 0.34%
WPC-21713 0.34%
TXN-7671 0.34%
DOX-18875 0.34%
KEX-4220 0.34%
RBA-18480 0.34%
EBIX-18693 0.34%
DD-2119 0.34%
PG-5938 0.34%
STAG-41271 0.34%
XLS-42021 0.34%
AEP-161 0.34%
URS-7828 0.34%
ROP-6543 0.34%
BAM-21475 0.34%
KLAC-4246 0.34%
ATRC-27532 0.34%
MTB-5117 0.34%
DTE-2330 0.34%
AEC-10073 0.34%
NVAX-14112 0.34%
UCBI-23550 0.34%
VVC-21458 0.34%
AHT-25398 0.34%
ADM-128 0.34%
PNM-6077 0.34%
NFG-5284 0.34%
AMH-45197 0.34%
AXS-25305 0.34%
UGI-7739 0.34%
MCD-4707 0.34%
UIL-7759 0.34%
ICON-6856 0.34%
JCOM-22450 0.34%
SPB-38708 0.34%
WRE-8266 0.34%
SHW-6868 0.34%
AMP-27676 0.34%
IMOS-22801 0.34%
LPLA-40445 0.34%
ISRG-25339 0.34%
USG-7844 0.34%
SCAI-45757 0.34%
ESS-11465 0.34%
STZ-24873 0.34%
NRG-26143 0.34%
PL-6174 0.34%
EPR-17847 0.34%
BRO-1097 0.34%
AJG-266 0.34%
RAS-18194 0.34%
MO-4954 0.34%
FPO-25584 0.34%
DENN-18148 0.34%
GRA-3328 0.34%
BLDP-13798 0.34%
NTCT-20526 0.34%
CWT-2034 0.34%
TRMB-7580 0.34%
WSO-8288 0.34%
UFPI-10300 0.34%
CFFN-19962 0.34%
HIFR-48544 0.34%
NXTM-27733 0.34%
KAR-39063 0.34%
TLM-17767 0.34%
NPBC-5400 0.34%
JLL-19898 0.34%
SEIC-6774 0.34%
KALU-32121 0.34%
STOR-48103 0.34%
DHX-34238 0.34%
HES-216 0.34%
CNP-24064 0.34%
IEX-3816 0.34%
WMT-8229 0.34%
AEL-25710 0.34%
JBL-8831 0.34%
WY-8326 0.34%
DRE-2293 0.34%
CUB-1979 0.34%
DRC-27534 0.34%
BK-903 0.34%
LAMR-15516 0.34%
UNM-7797 0.34%
MX-41048 0.34%
AIV-11598 0.34%
AGEN-21104 0.34%
GPI-24787 0.34%
HSIC-13862 0.34%
QTWO-46578 0.34%
OCSL-36371 0.34%
AMAG-659 0.34%
UHAL-12141 0.34%
CLDX-19187 0.34%
VAC-42125 0.34%
COWN-32377 0.34%
LNC-4498 0.34%
ITW-4080 0.34%
VRTU-34483 0.34%
COP-23998 0.34%
CIT-39053 0.34%
ACGL-21462 0.34%
CMS-1665 0.34%
SLG-17448 0.34%
MMSI-4927 0.34%
JWN-5382 0.34%
AMG-17800 0.34%
ESC-13843 0.34%
BNS-1010 0.34%
IM-16022 0.34%
EFX-2465 0.34%
LBTY_A-27357 0.34%
PLT-10655 0.34%
MITT-41669 0.34%
CW-2015 0.34%
WM-19181 0.34%
PCG-5792 0.34%
CHD-1482 0.34%
SUI-10535 0.34%
SATS-35370 0.34%
ICE-27809 0.34%
TGNA-3128 0.34%
JACK-20740 0.34%
ECR-47168 0.34%
PRXL-13918 0.34%
BLK-20689 0.34%
IP-3971 0.34%
XEL-21964 0.34%
NVDA-19725 0.34%
GPT-26520 0.34%
WR-8265 0.34%
MJN-38084 0.34%
CMO-1655 0.34%
VOYA-44645 0.34%
STC-6893 0.34%
BKW-43085 0.34%
ALLE-45874 0.34%
MS-17080 0.34%
PRGS-6163 0.34%
SWK-7242 0.34%
WSTC-44346 0.34%
SNV-7007 0.34%
TIVO-20662 0.34%
PLUS-25150 0.34%
EZCH-4507 0.34%
RY-13732 0.34%
STWD-38668 0.34%
TWTR-45815 0.34%
RCI-14298 0.34%
MATW-11668 0.34%
KRNY-27061 0.34%
CAKE-1234 0.34%
GDOT-39932 0.34%
KEYS-47921 0.34%
EROS-45867 0.34%
CM-17813 0.34%
SNA-6976 0.34%
AVB-18834 0.34%
LNCE-4499 0.34%
BBSI-9094 0.34%
SLRC-39202 0.34%
ISCA-16029 0.34%
M-2754 0.34%
DOOR-45383 0.34%
PATK-5761 0.34%
EPC-21380 0.34%
KWR-6294 0.34%
ENV-39958 0.34%
UDR-7715 0.34%
PRTY-48933 0.34%
TRCO-43872 0.34%
HRB-3660 0.34%
OFC-18404 0.34%
BMI-969 0.34%
TEL-34014 0.34%
RAD-6330 0.34%
COLB-1755 0.34%
DUK-2351 0.34%
XON-45239 0.34%
PPL-6119 0.34%
LMT-12691 0.34%
EQR-9540 0.34%
CSIQ-32856 0.34%
GRT-10613 0.34%
SLM-6935 0.34%
MFA-18590 0.34%
CAL-1195 0.34%
HE-3509 0.34%
TIBX-20438 0.34%
AVY-663 0.34%
ELGX-23769 0.34%
AXTA-48065 0.34%
RSG-19147 0.34%
AFG-12980 0.34%
INGR-18142 0.34%
TFX-7414 0.34%
EVC-21879 0.34%
NRF-26740 0.34%
MTRN-1188 0.34%
MONT-45505 0.34%
LUV-4589 0.34%
HPQ-3735 0.34%
RPT-15010 0.34%
CTAS-1941 0.34%
PRE-10025 0.34%
ZBRA-8388 0.34%
MNST-3450 0.34%
SXT-22272 0.34%
TROW-7590 0.34%
AIG-239 0.34%
MOBL-47102 0.34%
PNC-6068 0.34%
QGEN-15206 0.34%
ORI-5696 0.34%
PX-6272 0.34%
DAN-35359 0.34%
SIAL-6872 0.34%
DRIV-19209 0.34%
DTV-26111 0.34%
UVV-7885 0.34%
PLUG-20776 0.34%
SPPI-24517 0.34%
IBM-3766 0.34%
WDFC-8134 0.34%
SUSS-32753 0.34%
UPS-20940 0.34%
ARE-16843 0.34%
TIME-46965 0.34%
ENH-24608 0.34%
AXP-679 0.34%
RE-13720 0.34%
WMB-8214 0.34%
FNF-27712 0.34%
IRF-4014 0.34%
JNJ-4151 0.34%
PRFT-20425 0.34%
GM-40430 0.34%
CPRT-10931 0.34%
ETP-23465 0.34%
ABM-52 0.34%
FNBC-44709 0.34%
ICUI-3796 0.34%
BRP-41181 0.34%
MCRS-4727 0.34%
APD-460 0.34%
BEAM-338 0.34%
SWM-14164 0.34%
FISV-2853 0.34%
KO-4283 0.34%
FIX-24793 0.34%
SQNM-21203 0.34%
RPM-6557 0.34%
FLIR-9156 0.34%
THI-28231 0.34%
CYT-10590 0.34%
WEN-10293 0.34%
SCL-6713 0.34%
MWIV-27524 0.34%
TERP-47334 0.34%
AOBC-24519 0.34%
AKR-19185 0.34%
ES-5484 0.34%
VER-41872 0.34%
PLAY-47884 0.34%
CTLT-47414 0.34%
SIMG-20795 0.34%
AAL-45971 0.34%
MC-46771 0.34%
FLEX-10953 0.34%
MIC-26898 0.34%
KING-46610 0.34%
DVA-22110 0.34%
BNCL-34229 0.34%
CFN-38691 0.34%
CACI-1218 0.34%
TVPT-47788 0.34%
CEC-19053 0.34%
ORBK-5690 0.34%
FSIC-46764 0.34%
LUK-4580 0.34%
CDK-47752 0.34%
NDAQ-27026 0.34%
JOSB-11321 0.34%
SIGI-6880 0.34%
LF-23879 0.34%
ZG-41730 0.34%
RDNT-6047 0.34%
ODP-5583 0.34%
LBY-9192 0.34%
ANSS-15071 0.34%
SINA-21448 0.34%
T-6653 0.34%
IVR-38531 0.34%
UBS-48129 0.34%
OMC-5651 0.34%
VSTO-48531 0.34%
BOOT-47980 0.34%
IMKT_A-3890 0.34%
HSH-6930 0.34%
TSE-47098 0.34%
LXFT-44986 0.34%
AGX-28450 0.33%
TACO-46099 0.33%
VRTV-47143 0.33%
LB-4564 0.33%
NOC-5387 0.33%
IMMU-3891 0.33%
PFE-5923 0.33%
OSIR-32470 0.33%
OA-600 0.33%
AVIV-44330 0.33%
SSP-7121 0.33%
ASTE-579 0.33%
KNL-26881 0.33%
GRPN-42118 0.33%
ZLC-10069 0.33%
GE-3149 0.33%
KFRC-13450 0.33%
TWC-33133 0.33%
DX-16743 0.33%
AVT-661 0.33%
ARTC-14330 0.33%
BPO-20177 0.33%
G-34442 0.33%
SB-36300 0.33%
FCF-2732 0.33%
TA-33231 0.33%
MERC-4797 0.33%
SLS-35890 0.33%
ON-21429 0.33%
ZSPH-47150 0.33%
FN-39824 0.33%
PTCT-44955 0.33%
ATRS-22418 0.33%
HITT-27480 0.33%
ACHN-32790 0.33%
IOVA-36209 0.33%
BAC-700 0.33%
PLKI-22487 0.33%
LJPC-11512 0.33%
KMR-22697 0.33%
PGRE-48104 0.33%
ACET-84 0.33%
UNIS-39227 0.33%
CTIC-16607 0.33%
AZZ-694 0.33%
CUR-33012 0.33%
FRPT-48038 0.33%
ISLE-19391 0.33%
TTMI-22072 0.33%
BGFV-23757 0.33%
AAC-47842 0.33%
MBLY-47430 0.33%
A-24757 0.33%
CACQ-45880 0.33%
GDDY-48863 0.33%
ADXS-40992 0.33%
MXWL-5155 0.33%
VDSI-21457 0.33%
ABCB-11232 0.33%
CPST-21604 0.33%
C-1335 0.33%
VA-48091 0.33%
AMBA-43495 0.33%
VSLR-47820 0.32%
CARA-46283 0.32%
TRLA-43413 0.32%
EGBN-20713 0.32%
HRTX-22651 0.32%
GLOB-47330 0.32%
ONCE-48547 0.32%
GTT-44938 0.32%
PEIX-27129 0.31%
MRTX-45080 0.30%
K-4192 0.30%
LOCO-47382 0.26%
WEB-27762 0.10%
/usr/local/lib/python2.7/dist-packages/pyfolio/perf_attrib.py:611: UserWarning: This algorithm has relatively high turnover of its positions. As a result, performance attribution might not be fully accurate.

Performance attribution is calculated based on end-of-day holdings and does not account for intraday activity. Algorithms that derive a high percentage of returns from buying and selling within the same day may receive inaccurate performance attribution.

  warnings.warn(warning_msg)

Performance Relative to Common Risk Factors

Summary Statistics
Annualized Specific Return 2.21%
Annualized Common Return 0.19%
Annualized Total Return 2.41%
Specific Sharpe Ratio 1.04
Exposures Summary Average Risk Factor Exposure Annualized Return Cumulative Return
basic_materials -0.02 0.26% 0.54%
consumer_cyclical 0.01 0.05% 0.10%
financial_services -0.05 -0.39% -0.80%
real_estate -0.03 -0.21% -0.43%
consumer_defensive -0.02 -0.20% -0.41%
health_care 0.05 0.31% 0.64%
utilities -0.02 -0.51% -1.05%
communication_services 0.00 0.05% 0.10%
energy 0.07 -0.27% -0.56%
industrials -0.01 0.36% 0.74%
technology 0.09 0.93% 1.92%
momentum 0.22 0.23% 0.47%
size 0.36 -0.35% -0.73%
value -0.25 0.29% 0.59%
short_term_reversal -0.16 0.22% 0.45%
volatility 0.12 -0.57% -1.17%