def make_strategy_pipeline(context):
    pipe = Pipeline()
    assets = [asset for asset in context.universe]
    screener = filter_universe(assets)
    pipe.add(
        period_returns(context.lookback, context.offset),'momentum')
    pipe.add(
        technical_factor(context.lookback, volatility, 1),'vol')
    pipe.set_screen(screener)

    return pipe
def make_strategy_pipeline(context):
    pipe = Pipeline()
    func = lambda asset: asset.instrument_type != InstrumentType.FUNDS
    asset_filter = filter_assets(func)
    volume_filter = average_volume_filter(context.lookback, context.min_volume)
    screener = asset_filter & volume_filter
    screener = volume_filter

    pipe.add(period_returns(context.lookback, context.offset), 'momentum')
    pipe.add(technical_factor(context.lookback, volatility, 1), 'vol')
    pipe.set_screen(screener)

    return pipe
def make_strategy_pipeline(context):
    pipe = Pipeline()
    lookback = context.params['lookback_vol']
    v = context.params['min_volume']
    
    # get the filters and factors
    volume_filter = average_volume_filter(lookback, v)
    momentum = period_returns(context.params['lookback_ret'])
    liquidity = liquidity_factor(lookback, v)

    # set up the pipeline
    pipe.add(momentum,'momentum')
    pipe.add(liquidity,'liquidity')
    pipe.set_screen(volume_filter)

    return pipe
def make_strategy_pipeline(context):
    pipe = Pipeline()

    # Set the volume filter, 126 days is roughly 6 month daily data
    volume_filter = average_volume_filter(126, 1E8)

    # compute past returns
    rsi_factor = technical_factor(126, rsi, 14)
    ema20_factor = technical_factor(126, ema, 20)
    ema50_factor = technical_factor(126, ema, 50)

    # add to pipelines
    pipe.add(rsi_factor, 'rsi')
    pipe.add(ema20_factor, 'ema20')
    pipe.add(ema50_factor, 'ema50')
    pipe.set_screen(volume_filter)

    return pipe
def make_strategy_pipeline(context):
    pipe = Pipeline()

    # get the strategy parameters
    lookback = context.params['lookback'] * 21
    v = context.params['min_volume']

    # Set the volume filter
    volume_filter = average_volume_filter(lookback, v)

    # compute past returns
    vol_factor = technical_factor(lookback, volatility, 1)
    skew_factor = technical_factor(lookback, skewness, None)
    pipe.add(vol_factor, 'vol')
    pipe.add(skew_factor, 'skew')
    pipe.set_screen(volume_filter)

    return pipe
Ejemplo n.º 6
0
def make_strategy_pipeline(context):
    pipe = Pipeline()

    # get the strategy parameters
    lookback = context.params['lookback'] * 21
    v = context.params['min_volume']

    # Set the volume filter
    volume_filter = average_volume_filter(lookback, v)

    # compute past returns
    momentum = period_returns(lookback)
    pipe.add(momentum, 'momentum')
    pipe.set_screen(volume_filter)

    return pipe
def make_strategy_pipeline(context):
    pipe = Pipeline()

    # get the strategy parameters
    lookback = context.params['lookback'] * 21
    v = context.params['min_volume']

    # Set the volume filter
    volume_filter = average_volume_filter(lookback, v)

    # compute past returns
    rsi_factor = technical_factor(lookback, rsi, 14)
    pipe.add(rsi_factor, 'rsi')
    pipe.set_screen(volume_filter)

    return pipe