def pipeline_columns_and_mask(self): universe = make_china_equity_universe( target_size=3000, mask=default_china_equity_universe_mask([risk_benchmark]), max_group_weight=0.01, smoothing_func=lambda f: f.downsample('month_start'), ) private_universe = private_universe_mask( self.portfolio.index) # 把当前组合的stock 包含在universe中 last_price = USEquityPricing.close.latest >= 1.0 # 大于1元 universe = (universe & last_price) & ~private_universe # print "universe:",universe # Instantiate ranked factors returns = Returns(inputs=[USEquityPricing.close], mask=universe, window_length=2) risk_beta = 0.66 * RollingLinearRegressionOfReturns( target=symbol(risk_benchmark), # sid(8554), returns_length=5, regression_length=21, # mask=long_short_screen mask=(universe), ).beta + 0.33 * 1.0 returns.window_safe = True risk_beta.window_safe = True predict = RNNPredict(universe, trigger_date=self.predict_time) # 进行回顾 universe = predict.top(20) weights = Markowitz(inputs=[returns, risk_beta], window_length=4, mask=universe, trigger_date=self.predict_time) #进行回顾 columns = { 'predict': predict, 'weights': weights, } return columns, universe
def pipeline_columns_and_mask(self): ''' universe = make_china_equity_universe( target_size=3000, mask=default_china_equity_universe_mask([RISK_BENCHMARK]), max_group_weight=0.01, smoothing_func=lambda f: f.downsample('month_start'), ) private_universe = private_universe_mask(self.portfolio.index) # 把当前组合的stock 包含在universe中 ''' last_price = USEquityPricing.close.latest >= 1.0 # 大于1元 sector = get_sector() sector_filter = sector != 0.0 universe = last_price & sector_filter # print "universe:",universe # Instantiate ranked factors returns = Returns(inputs=[USEquityPricing.close], mask=universe, window_length=2) risk_beta = 0.66 * RollingLinearRegressionOfReturns( target=symbol(RISK_BENCHMARK), returns_length=5, regression_length=21, # mask=long_short_screen mask=(universe), ).beta + 0.33 * 1.0 returns.window_safe = True risk_beta.window_safe = True predict = RNNPredict(universe, source='predict.csv', trigger_date=self.predict_time) # 进行回顾 columns = { 'predict': predict, 'market_beta': risk_beta, 'sector': sector, } return columns, universe