Notebook
In [7]:
from quantopian.pipeline import Pipeline
from quantopian.research import run_pipeline
from quantopian.pipeline.factors import CustomFactor
from quantopian.pipeline.data import USEquityPricing
from quantopian.pipeline.filters import QTradableStocksUS
from quantopian.pipeline import CustomFilter

import numpy as np 




class SidInList(CustomFilter):  
    """  
    Filter returns True for any SID included in parameter tuple passed at creation.  
    Usage: my_filter = SidInList(sid_list=(23911, 46631))  
    """  
    inputs = []  
    window_length = 1  
    params = ('sid_list',)

    def compute(self, today, assets, out, sid_list):  
        out[:] = np.in1d(assets, sid_list) 
        

def call_MyFactor(orda,cicle,zfrac, **kwargs):
    step = int(round(((orda)*zfrac))) 
    kwargs['window_length'] += step
    class MyFactor(CustomFactor):
        def compute(self, today, asset_ids, out, high,low):
             out[:] = ((np.nanmax(high[:self.window_length-step],axis=0))+(np.nanmin(low[:self.window_length-step],axis=0)))
    return MyFactor(**kwargs)  


def make_factors():
    factors = {}
    for o in range(1,7):
        for c in range(11,21):
            c=float(c)
            o=float(o)
            z =  float(c/((2*o)+1))  
            window = (int(round((o+1)*z)) - int(round(o*z))) +1
            factors['factor {}'.format(c*o)]  = call_MyFactor(orda=o,cicle=c,zfrac=z ,window_length=window,inputs = [USEquityPricing.high,USEquityPricing.low])
    return factors


def make_pipeline():
    return Pipeline(columns=make_factors(),screen=QTradableStocksUS()) #screen = SidInList(sid_list=(2069)))#screen=QTradableStocksUS())

result = run_pipeline(make_pipeline(), '2018-11-10', '2018-11-10')
#print len(result)
result.head(10)

#result.groupby(level=0).sum()
#result.groupby(level=0).sum().plot()

#def before_trading_start(context, data):  
#    context.output= pipeline_output
#    i = 1
#    for col in pipeline_output:
#        pipeline_output[col] = pipeline_output[col] * i
#        i += 1

#    pipeline_output
    
Out[7]:
factor 100.0 factor 102.0 factor 108.0 factor 11.0 factor 114.0 factor 12.0 factor 120.0 factor 13.0 factor 14.0 factor 15.0 ... factor 72.0 factor 75.0 factor 76.0 factor 78.0 factor 80.0 factor 84.0 factor 85.0 factor 90.0 factor 95.0 factor 96.0
2018-11-12 00:00:00+00:00 Equity(2 [ARNC]) 38.944779 38.944779 38.944779 41.850000 38.944779 40.554277 38.944779 40.524366 40.524366 40.524366 ... 41.610000 39.822183 38.944779 41.610000 39.792271 40.234277 38.944779 39.822183 38.944779 39.792271
Equity(24 [AAPL]) 425.983750 424.299626 424.797887 419.067879 424.797887 419.067879 425.983750 419.067879 426.302637 426.302637 ... 437.643071 428.225927 425.983750 437.453731 425.056983 430.129286 424.299626 428.225927 424.797887 425.056983
Equity(41 [ARCB]) 70.194391 68.823041 68.823041 80.165129 70.194391 76.518174 70.194391 76.518174 76.518174 76.518174 ... 73.697624 69.551633 68.823041 73.507990 69.551633 69.861035 68.823041 69.551633 70.194391 69.551633
Equity(52 [ABM]) 60.850000 61.275000 60.850000 63.080000 60.850000 62.750000 60.850000 62.355000 62.064000 61.639000 ... 62.620000 61.730000 60.850000 62.620000 61.335000 62.290000 61.275000 61.730000 60.850000 61.335000
Equity(53 [ABMD]) 665.400000 653.090000 653.090000 733.760000 653.090000 715.220000 665.400000 713.280000 713.280000 713.280000 ... 720.370000 667.795000 665.400000 712.250000 665.855000 693.710000 653.090000 667.795000 653.090000 665.855000
Equity(62 [ABT]) 134.150000 134.760000 134.150000 139.900000 134.150000 138.600000 134.150000 137.770000 137.770000 137.160000 ... 139.090000 137.125000 134.150000 138.870000 136.295000 137.570000 134.760000 137.125000 134.150000 136.295000
Equity(64 [ABX]) 25.780000 25.385000 25.685000 25.780000 25.870000 25.780000 25.780000 25.780000 25.770000 25.770000 ... 26.230000 25.100000 25.685000 25.770000 25.290000 25.770000 25.385000 25.100000 25.870000 25.290000
Equity(67 [ADSK]) 250.930000 249.090000 249.090000 264.630000 249.090000 260.250000 250.930000 257.220000 257.220000 257.220000 ... 263.000000 255.460000 250.930000 263.000000 252.430000 258.620000 249.090000 255.460000 249.090000 252.430000
Equity(76 [TAP]) 113.860000 114.500000 113.960000 128.940000 112.530000 124.120000 113.860000 123.680000 123.680000 123.140000 ... 131.870000 121.410000 113.960000 128.940000 120.970000 124.120000 114.500000 121.410000 112.530000 120.970000
Equity(110 [RAMP]) 87.960000 87.960000 87.960000 93.570000 87.960000 91.040000 87.960000 89.300000 89.300000 89.300000 ... 92.600000 88.870000 87.960000 92.180000 87.960000 89.650000 87.960000 88.870000 87.960000 87.960000

10 rows × 53 columns

In [ ]:
 
In [ ]:
 
In [ ]: