特征列表报错

策略分享
标签: #<Tag:0x00007fc4d446a550>

(KinwaiY_AI) #1
克隆策略

    {"Description":"实验创建于2020/3/18","Summary":"","Graph":{"EdgesInternal":[{"DestinationInputPortId":"-1988:input_1","SourceOutputPortId":"-1976:data"},{"DestinationInputPortId":"-2538:features","SourceOutputPortId":"-1988:data_1"},{"DestinationInputPortId":"-2439:features","SourceOutputPortId":"-1988:data_1"},{"DestinationInputPortId":"-1988:input_2","SourceOutputPortId":"-1991:data"},{"DestinationInputPortId":"-2538:instruments","SourceOutputPortId":"-2347:data"},{"DestinationInputPortId":"-2439:input_data","SourceOutputPortId":"-2538:data"}],"ModuleNodes":[{"Id":"-1976","ModuleId":"BigQuantSpace.input_features.input_features-v1","ModuleParameters":[{"Name":"features","Value":"# 模块默认\nreturn_5\nreturn_10\nreturn_20\navg_amount_0/avg_amount_5\navg_amount_5/avg_amount_20\nrank_avg_amount_0/rank_avg_amount_5\nrank_avg_amount_5/rank_avg_amount_10\nrank_return_0\nrank_return_5\nrank_return_10\nrank_return_0/rank_return_5\nrank_return_5/rank_return_10\npe_ttm_0\n\n# 中性化处理需要\nmarket_cap_float_0\nindustry_sw_level1_0\n\n# 夏普比率降序\nrank_pb_lf_0\nrank_market_cap_0\nrank_market_cap_float_0\n#wq_54\n#gtja_95\n\n# 年化收益降序\nrank_market_cap_0\nrank_market_cap_float_0\nfs_net_profit_margin_ttm_0\nrank_fs_roe_ttm_0\nrank_pe_lyr_0\n\n# 最大回撤降序\nfs_bps_0\n#atr_5\nrank_fs_roa_0\nfs_roe_0\nrank_ps_ttm_0\n\n# 量价因子\nadjust_factor_5\nadjust_factor_4\nadjust_factor_3\nadjust_factor_2\nadjust_factor_1\nadjust_factor_0\namount_5\namount_4\namount_3\namount_2\namount_1\namount_0\navg_amount_5\navg_amount_4\navg_amount_3\navg_amount_2\navg_amount_1\navg_amount_0\nclose_5\nclose_4\nclose_3\nclose_2\nclose_1\nclose_0\ndaily_return_5\ndaily_return_4\ndaily_return_3\ndaily_return_2\ndaily_return_1\ndaily_return_0\ndeal_number_5\ndeal_number_4\ndeal_number_3\ndeal_number_2\ndeal_number_1\ndeal_number_0\nhigh_5\nhigh_4\nhigh_3\nhigh_2\nhigh_1\nhigh_0\nlow_5\nlow_4\nlow_3\nlow_2\nlow_1\nlow_0\nopen_5\nopen_4\nopen_3\nopen_2\nopen_1\nopen_0\nprice_limit_status_5\nprice_limit_status_4\nprice_limit_status_3\nprice_limit_status_2\nprice_limit_status_1\nprice_limit_status_0\nrank_amount_5\nrank_amount_4\nrank_amount_3\nrank_amount_2\nrank_amount_1\nrank_amount_0\nrank_avg_amount_5\nrank_avg_amount_4\nrank_avg_amount_3\nrank_avg_amount_2\nrank_avg_amount_1\nrank_avg_amount_0\nrank_return_5\nrank_return_4\nrank_return_3\nrank_return_2\nrank_return_1\nrank_return_0\nreturn_5\nreturn_4\nreturn_3\nreturn_2\nreturn_1\nreturn_0\nvolume_5\nvolume_4\nvolume_3\nvolume_2\nvolume_1\nvolume_0\n\n# 财务因子\nfs_account_payable_0\nfs_account_receivable_0\nfs_bps_0\nfs_capital_reserves_0\nfs_cash_equivalents_0\nfs_cash_ratio_0\nfs_common_equity_0\nfs_construction_in_process_0\nfs_current_assets_0\nfs_current_liabilities_0\nfs_deducted_profit_0\nfs_deducted_profit_ttm_0\nfs_eps_0\nfs_eps_yoy_0\nfs_eqy_belongto_parcomsh_0\nfs_financial_expenses_0\nfs_fixed_assets_0\nfs_fixed_assets_disp_0\nfs_free_cash_flow_0\nfs_general_expenses_0\nfs_gross_profit_margin_0\nfs_gross_profit_margin_ttm_0\nfs_gross_revenues_0\nfs_income_tax_0\nfs_net_cash_flow_0\nfs_net_cash_flow_ttm_0\nfs_net_income_0\nfs_net_profit_0\nfs_net_profit_margin_0\nfs_net_profit_margin_ttm_0\nfs_net_profit_qoq_0\nfs_net_profit_ttm_0\nfs_net_profit_yoy_0\nfs_non_current_assets_0\nfs_non_current_liabilities_0\nfs_operating_profit_0\nfs_operating_revenue_0\nfs_operating_revenue_qoq_0\nfs_operating_revenue_ttm_0\nfs_operating_revenue_yoy_0\nfs_paicl_up_capital_0\nfs_proj_matl_0\nfs_publish_date_0\nfs_quarter_index_0\nfs_quarter_year_0\nfs_roa_0\nfs_roa_ttm_0\nfs_roe_0\nfs_roe_ttm_0\nfs_selling_expenses_0\nfs_surplus_reserves_0\nfs_total_equity_0\nfs_total_liability_0\nfs_total_operating_costs_0\nfs_total_profit_0\nfs_undistributed_profit_0\nrank_fs_bps_0\nrank_fs_cash_ratio_0\nrank_fs_eps_0\nrank_fs_eps_yoy_0\nrank_fs_net_profit_qoq_0\nrank_fs_net_profit_yoy_0\nrank_fs_operating_revenue_qoq_0\nrank_fs_operating_revenue_yoy_0\nrank_fs_roa_0\nrank_fs_roa_ttm_0\nrank_fs_roe_0\nrank_fs_roe_ttm_0\n\n# 换手率因子\navg_turn_5\navg_turn_4\navg_turn_3\navg_turn_2\navg_turn_1\navg_turn_0\nrank_avg_turn_5\nrank_avg_turn_4\nrank_avg_turn_3\nrank_avg_turn_2\nrank_avg_turn_1\nrank_avg_turn_0\nrank_turn_5\nrank_turn_4\nrank_turn_3\nrank_turn_2\nrank_turn_1\nrank_turn_0\nturn_5\nturn_4\nturn_3\nturn_2\nturn_1\nturn_0\n\n# 基本信息因子\ncompany_found_date_0\nin_csi100_0 \nin_csi300_0 \nin_csi500_0\nin_csi800_0\nin_sse180_0\nin_sse50_0\nin_szse100_0\nindustry_sw_level1_0\nindustry_sw_level2_0\nindustry_sw_level3_0\nlist_board_0\nlist_days_0\nst_status_0\n\n# 资金流因子\navg_mf_net_amount_5\navg_mf_net_amount_4\navg_mf_net_amount_3\navg_mf_net_amount_2\navg_mf_net_amount_1\navg_mf_net_amount_0\nmf_net_amount_5\nmf_net_amount_4\nmf_net_amount_3\nmf_net_amount_2\nmf_net_amount_1\nmf_net_amount_0\nmf_net_amount_l_0\nmf_net_amount_m_0\nmf_net_amount_main_0\nmf_net_amount_s_0\nmf_net_amount_xl_0\nmf_net_pct_l_0\nmf_net_pct_m_0\nmf_net_pct_main_0\nmf_net_pct_s_0\nmf_net_pct_xl_0\nrank_avg_mf_net_amount_5\nrank_avg_mf_net_amount_4\nrank_avg_mf_net_amount_3\nrank_avg_mf_net_amount_2\nrank_avg_mf_net_amount_1\nrank_avg_mf_net_amount_0\n\n# 股东因子\nrank_sh_holder_avg_pct_0\nrank_sh_holder_avg_pct_3m_chng_0\nrank_sh_holder_avg_pct_6m_chng_0\nrank_sh_holder_num_0\nsh_holder_avg_pct_0\nsh_holder_avg_pct_3m_chng_0\nsh_holder_avg_pct_6m_chng_0\nsh_holder_num_0\n\n#估值因子\nmarket_cap_0\nmarket_cap_float_0\npb_lf_0\npe_lyr_0\npe_ttm_0\nps_ttm_0\nrank_market_cap_0\nrank_market_cap_float_0\nrank_pb_lf_0\nrank_pe_lyr_0\nrank_pe_ttm_0\nrank_ps_ttm_0\nwest_avgcps_ftm_0\nwest_eps_ftm_0\nwest_netprofit_ftm_0\n\n# 技术分析因子\nta_ad_0\nta_adx_14_0\nta_adx_28_0\nta_aroon_down_14_0\nta_aroon_down_28_0\nta_aroon_up_14_0\nta_aroon_up_28_0\nta_aroonosc_14_0\nta_aroonosc_28_0\nta_atr_14_0\nta_atr_28_0\nta_bbands_lowerband_14_0\nta_bbands_lowerband_28_0\nta_bbands_middleband_14_0\nta_bbands_middleband_28_0\nta_bbands_upperband_14_0\nta_bbands_upperband_28_0\nta_cci_14_0\nta_cci_28_0\nta_ema_5_0\nta_ema_10_0\nta_ema_20_0\nta_ema_30_0\nta_ema_60_0\nta_macd_macd_12_26_9_0\nta_macd_macdhist_12_26_9_0\nta_macd_macdsignal_12_26_9_0\nta_mfi_14_0\nta_mfi_28_0\nta_mom_10_0\nta_mom_20_0\nta_mom_30_0\nta_mom_60_0\nta_obv_0\nta_rsi_14_0\nta_rsi_28_0\nta_sar_0\nta_sma_5_0\nta_sma_10_0\nta_sma_20_0\nta_sma_30_0\nta_sma_60_0\nta_stoch_slowd_5_3_0_3_0_0\nta_stoch_slowk_5_3_0_3_0_0\nta_trix_14_0\nta_trix_28_0\nta_willr_14_0\nta_willr_28_0\nta_wma_5_0\nta_wma_10_0\nta_wma_20_0\nta_wma_30_0\nta_wma_60_0\n\n# BETA值因子\nbeta_csi100_5_0\nbeta_csi100_10_0\nbeta_csi100_30_0\nbeta_csi100_60_0\nbeta_csi100_90_0\nbeta_csi300_5_0\nbeta_csi300_10_0\nbeta_csi300_30_0\nbeta_csi300_60_0\nbeta_csi300_90_0\nbeta_csi500_5_0\nbeta_csi500_10_0\nbeta_csi500_30_0\nbeta_csi500_60_0\nbeta_csi500_90_0\nbeta_csi800_5_0\nbeta_csi800_10_0\nbeta_csi800_30_0\nbeta_csi800_60_0\nbeta_csi800_90_0\nbeta_gem_5_0\nbeta_gem_10_0\nbeta_gem_30_0\nbeta_gem_60_0\nbeta_gem_90_0\nbeta_industry_5_0\nbeta_industry_10_0\nbeta_industry_30_0\nbeta_industry_60_0\nbeta_industry_90_0\nbeta_sse180_5_0\nbeta_sse180_10_0\nbeta_sse180_30_0\nbeta_sse180_60_0\nbeta_sse180_90_0\nbeta_sse50_5_0\nbeta_sse50_10_0\nbeta_sse50_30_0\nbeta_sse50_60_0\nbeta_sse50_90_0\nbeta_szzs_5_0\nbeta_szzs_10_0\nbeta_szzs_30_0\nbeta_szzs_60_0\nbeta_szzs_90_0\nrank_beta_csi100_5_0\nrank_beta_csi100_10_0\nrank_beta_csi100_30_0\nrank_beta_csi100_60_0\nrank_beta_csi100_90_0\nrank_beta_csi300_5_0\nrank_beta_csi300_10_0\nrank_beta_csi300_30_0\nrank_beta_csi300_60_0\nrank_beta_csi300_90_0\nrank_beta_csi500_5_0\nrank_beta_csi500_10_0\nrank_beta_csi500_30_0\nrank_beta_csi500_60_0\nrank_beta_csi500_90_0\nrank_beta_csi800_5_0\nrank_beta_csi800_10_0\nrank_beta_csi800_30_0\nrank_beta_csi800_60_0\nrank_beta_csi800_90_0\nrank_beta_gem_5_0\nrank_beta_gem_10_0\nrank_beta_gem_30_0\nrank_beta_gem_60_0\nrank_beta_gem_90_0\nrank_beta_industry_5_0\nrank_beta_industry_10_0\nrank_beta_industry_30_0\nrank_beta_industry_60_0\nrank_beta_industry_90_0\nrank_beta_sse180_5_0\nrank_beta_sse180_10_0\nrank_beta_sse180_30_0\nrank_beta_sse180_60_0\nrank_beta_sse180_90_0\nrank_beta_sse50_5_0\nrank_beta_sse50_10_0\nrank_beta_sse50_30_0\nrank_beta_sse50_60_0\nrank_beta_sse50_90_0\nrank_beta_szzs_5_0\nrank_beta_szzs_10_0\nrank_beta_szzs_30_0\nrank_beta_szzs_60_0\nrank_beta_szzs_90_0\n\n# 波动率因子\nrank_swing_volatility_5_0\nrank_swing_volatility_10_0\nrank_swing_volatility_30_0\nrank_swing_volatility_60_0\nrank_volatility_5_0\nrank_volatility_10_0\nrank_volatility_30_0\nrank_volatility_60_0\nswing_volatility_5_0\nswing_volatility_10_0\nswing_volatility_30_0\nswing_volatility_60_0\nvolatility_5_0\nvolatility_10_0\nvolatility_30_0\nvolatility_60_0\n\n# 因子表\nturn_0\nreturn_6\nfs_roe_0\nfs_eps_0\nfs_bps_0\nfs_roa_0\nreturn_20\nrank_turn_0\nrank_turn_9\nta_rsi(close_0,28)\nrank_pb_lf_0\nfs_roa_ttm_0\nfs_roe_ttm_0\nhigh_0/low_0\nfs_eps_yoy_0\nsqrt(high_0*low_0)-amount_0/volume_0*adjust_factor_0\nsum(max(0,high_0-delay(close_0,1)),20)/sum(max(0,delay(close_0,1)-low_0),20)*100\n((close_0-open_0)/((high_0-low_0)+.001))\nturn_9\nta_ema(((high_0+low_0)/2-(delay(high_0,1)+delay(low_0,1))/2)*(high_0-low_0)/volume_0,7)\nturn_1\nfs_operating_revenue_yoy_0\nfs_operating_revenue_qoq_0\nfs_net_profit_margin_ttm_0\nfs_gross_profit_margin_ttm_0\nrank_pe_lyr_0\nrank_pe_ttm_0\nrank_ps_ttm_0\nrank_return_9\nrank_fs_bps_0\nrank_return_6\nrank_return_15\nclose_1/open_0\nopen_0/close_0\nhigh_0/close_1\nclose_0/open_0\nrank_return_30\nrank_return_20\nrank_avg_turn_1\nclose_9/close_0\nrank_avg_turn_6\nfs_cash_ratio_0\nclose_4/close_0\nclose_6/close_0\nclose_2/close_0\nclose_3/close_0\nclose_5/close_0\nclose_1/close_0\nrank_avg_turn_0\nvolume_0/mean(volume_0,3)*100\nrank_avg_turn_3\nrank_avg_turn_9\nclose_20/close_0\nrank_avg_turn_15\nclose_15/close_0\nrank_avg_turn_20\nrank_market_cap_0\namount_2/amount_0\nrank_fs_eps_yoy_0\nreturn_5/return_0\namount_4/amount_0\nrank_fs_roe_ttm_0\nreturn_9/return_0\namount_3/amount_0\namount_5/amount_0\n(-1*correlation(open_0,volume_0,10))\n(-1*delta((((close_0-low_0)-(high_0-close_0))/(close_0-low_0)),9))\nta_atr(high_0,low_0,close_0,5)\n((-1*((low_0-close_0)*(open_0**5)))/((low_0-high_0)*(close_0**5)))\nturn_6\n-1*delta(((close_0-low_0)-(high_0-close_0))/(high_0-low_0),1)\nturn_3\nstd(volume_0,10)\nta_ema(((high_0+low_0-0)/2-(delay(high_0,1)+delay(low_0,1))/2)*(high_0-low_0)/volume_0,15)\n(close_0-mean(close_0,12))/mean(close_0,12)*100\n(close_0-delay(close_0,6))/delay(close_0,6)*volume_0\n(volume_0-delay(volume_0,5))/delay(volume_0,5)*100\nsum(((close_0-low_0)-(high_0-close_0))/(high_0-low_0)*volume_0,20)\n(close_0-mean(close_0,24))/mean(close_0,24)*100\n((sum(close_0,7)/7)-close_0)+correlation(amount_0/volume_0*adjust_factor_0,delay(close_0,5),230)\nturn_15\nrank((-1*((1-(open_0/close_0))**1)))\nmean(close_0,12)/close_0\nta_ema((close_0-ts_min(low_0,9))/(ts_max(high_0,9)-ts_min(low_0,9))*100,3)\nturn_20\n(close_0-delay(close_0,20))/delay(close_0,20)*100\nclose_0-delay(close_0,5)\nta_ema(volume_0,21)\nclose_0/delay(close_0,5)\nstd(amount_0,20)\nsum(((close_0-low_0)-(high_0-close_0))/(high_0-low_0)*volume_0,6)\n((high_0+low_0+close_0)/3-mean((high_0+low_0+close_0)/3,12))/(0.015*mean(abs(close_0-mean((high_0+low_0+close_0)/3,12)),12))\nstd(amount_0,6)\nta_ema(((ts_max(high_0,6)-close_0)/(ts_max(high_0,6)-ts_min(low_0,6))*100),20)\nta_ema(ta_ema((close_0-ts_min(low_0,9))/(ts_max(high_0,9)-ts_min(low_0,9))*100,3),3)\n(close_0-delay(close_0,6))/delay(close_0,6)*100\n(((high_0*low_0)**0.5)-amount_0/volume_0*adjust_factor_0)\n(mean(close_0,3)+mean(close_0,6)+mean(close_0,12)+mean(close_0,24))/(4*close_0)\nta_ema(close_0-delay(close_0,5),5)\nta_ema(high_0-low_0,10)/ta_ema(ta_ema(high_0-low_0,10),10)\n((high_0-ta_ema(close_0,15))-(low_0-ta_ema(close_0,15)))/close_0\n(close_0+high_0+low_0)/3\nstd(volume_0,20)\nopen_0/shift(close_0,1)-1\nreturn_9\n(mean(close_0,3)+mean(close_0,6)+mean(close_0,12)+mean(close_0,24))/4\nrank(delta(((((high_0+low_0)/2)*0.2)+(amount_0/volume_0*adjust_factor_0*0.8)),4)*-1)\n(rank(sign(delta((((open_0*0.85)+(high_0*0.15))),4)))*-1)\n(-1*correlation(close_0,volume_0,10))\nclose_0-delay(close_0,20)\n(close_0-delay(close_0,1))/delay(close_0,1)*volume_0\n(close_0-delay(close_0,12))/delay(close_0,12)*volume_0\nreturn_3\nreturn_0\n(high_0-low_0-ta_ema(high_0-low_0,11))/ta_ema(high_0-low_0,11)*100\nreturn_1\nmean(abs(close_0-mean(close_0,6)),6)\n-1*((low_0-close_0*(open_0**5)))/((close_0-high_0)*(close_0**5))\nmean(amount_0,20)\nreturn_30\nreturn_15\n(rank((amount_0/volume_0*adjust_factor_0-close_0))/rank((amount_0/volume_0*adjust_factor_0+close_0)))\n((rank(max((amount_0/volume_0*adjust_factor_0-close_0),3))+rank(min((amount_0/volume_0*adjust_factor_0-close_0),3)))*rank(delta(volume_0,3)))\nta_beta(high_0,low_0,12)\ncorrelation(amount_0/volume_0*adjust_factor_0,volume_0,5)\nta_adx(high_0,low_0,close_0,14)\nrank_turn_3\nrank_turn_1\ncorrelation(high_0/low_0,volume_0,4)\nrank_turn_6\nta_rsi(close_0,14)\nrank_turn_15\nrank_turn_20\nrank_fs_roa_0\nrank_fs_roe_0\nrank_fs_eps_0\nrank_return_3\nrank_return_1\nrank_return_0\nlow_0/close_1\nreturn_4/return_0\nrank_fs_roa_ttm_0\namount_1/amount_0\nta_wma(close_0,5)/close_0\nmean(close_0,5)/close_0\nta_ema(close_0,5)/close_0\nta_atr(high_0,low_0,close_0,14)/close_0\navg_turn_9/turn_0\navg_turn_1/turn_0\nta_wma(close_0,30)/close_0\nreturn_9/return_5\navg_turn_6/turn_0\nreturn_3/return_0\nta_atr(high_0,low_0,close_0,28)/close_0\nclose_0/mean(close_0,10)\nreturn_1/return_5\nreturn_0/return_3\nmean(close_0,30)/close_0\nreturn_1/return_0\nreturn_9/return_3\nta_ema(close_0,30)/close_0\navg_turn_3/turn_0\nreturn_1/return_3\nclose_0/mean(close_0,30)\nreturn_6/return_5\nreturn_6/return_0\nclose_0/mean(close_0,20)\nreturn_0/return_5\nreturn_6/return_3\nfs_net_profit_yoy_0\nfs_net_profit_qoq_0\nreturn_90/return_5\nreturn_15/return_0\navg_turn_15/turn_0\nreturn_20/return_5\nreturn_50/return_5\nrank_sh_holder_num_0\nreturn_30/return_5\navg_turn_20/turn_0\nreturn_30/return_0\nreturn_30/return_3\nreturn_20/return_0\nreturn_20/return_3\nreturn_15/return_5\nrank_fs_cash_ratio_0\nreturn_70/return_5\nreturn_60/return_5\nreturn_80/return_5\nreturn_15/return_3\nreturn_30/return_10\nreturn_70/return_10\namount_0/avg_amount_5\nreturn_80/return_10\nreturn_50/return_10\nreturn_20/return_10\nreturn_90/return_10\namount_0/avg_amount_3\nreturn_120/return_5\nreturn_60/return_10\nfs_net_profit_margin_0\n(high_0-low_0)/close_0\nreturn_120/return_10\nmean(close_0,20)/mean(close_0,30)\nmean(close_0,30)/mean(close_0,60)\nmean(close_0,10)/mean(close_0,60)\n(low_1-close_0)/close_0\nrank_market_cap_float_0\nmean(close_0,10)/mean(close_0,20)\n(low_1-close_1)/close_0\n(close_1-low_0)/close_0\n(low_0-close_1)/close_0\nmean(close_0,10)/mean(close_0,30)\nrank_fs_net_profit_qoq_0\nrank_sh_holder_avg_pct_0\nfs_gross_profit_margin_0\n(high_0-close_1)/close_0\n(high_1-close_0)/close_0\nrank_fs_net_profit_yoy_0\n(open_0-close_0)/close_0\n(close_1-high_0)/close_0\n(high_1-close_1)/close_0\n(high_0-low_0)/(close_0-open_0)\nrank_fs_operating_revenue_yoy_0\nrank_fs_operating_revenue_qoq_0\n(open_0-close_0)/(high_0-low_0)\nrank_sh_holder_avg_pct_6m_chng_0\nrank_sh_holder_avg_pct_3m_chng_0\nmean(close_0,3)/close_0\nmean(amount_0,3)/amount_0\nmean(volume_0,3)/volume_0\navg_mf_net_amount_6/mf_net_amount_0\navg_mf_net_amount_9/mf_net_amount_0\navg_mf_net_amount_3/mf_net_amount_0\navg_mf_net_amount_20/mf_net_amount_0\navg_mf_net_amount_15/mf_net_amount_0\navg_mf_net_amount_12/mf_net_amount_0\navg_mf_net_amount_9/avg_mf_net_amount_3\navg_mf_net_amount_6/avg_mf_net_amount_3\nclose_0/mean(close_0,3)\navg_mf_net_amount_20/avg_mf_net_amount_3\navg_mf_net_amount_12/avg_mf_net_amount_3\navg_mf_net_amount_15/avg_mf_net_amount_3\namount_0/mean(amount_0,3)\n((close_0-low_0)-(high_0-close_0))/(high_0-close_0)\n(high_0-low_0+high_1-low_1+high_2-low_2)/close_0\nmean(close_0,6)/close_0\nmean(amount_0,6)/amount_0\nmean(volume_0,6)/volume_0\n3/1*(high_0-low_0)/(high_0-low_0+high_1-low_1+high_2-low_2)\nmean(close_0,6)/mean(close_0,3)\nmean(close_0,9)/close_0\nmean(amount_0,6)/mean(amount_0,3)\nmean(amount_0,9)/amount_0\nmean(volume_0,9)/volume_0\n(mean(high_0,6)-mean(low_0,6))/close_0\nmean(close_0,9)/mean(close_0,3)\nmean(amount_0,9)/mean(amount_0,3)\nmean(close_0,15)/close_0\n(mean(high_0,9)-mean(low_0,9))/close_0\nmean(amount_0,15)/amount_0\nmean(volume_0,15)/volume_0\n(mean(high_0,6)-mean(low_0,6))/(mean(high_0,3)-mean(low_0,3))\nmean(close_0,15)/mean(close_0,3)\nmean(amount_0,15)/mean(amount_0,3)\nmean(close_0,20)/close_0\nmean(amount_0,20)/amount_0\nmean(volume_0,20)/volume_0\nmean(close_0,20)/mean(close_0,3)\n(mean(high_0,9)-mean(low_0,9))/(mean(high_0,3)-mean(low_0,3))\nmean(amount_0,20)/mean(amount_0,3)\n(sum(high_0,15)-sum(low_0,15))/close_0\n(mean(high_0,15)-mean(low_0,15))/(mean(high_0,3)-mean(low_0,3))\n(sum(high_0,20)-sum(low_0,20))/close_0\n(mean(high_0,20)-mean(low_0,20))/(mean(high_0,3)-mean(low_0,3))","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features_ds","NodeId":"-1976"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-1976","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":1,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-1988","ModuleId":"BigQuantSpace.features_add.features_add-v1","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-1988"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_2","NodeId":"-1988"}],"OutputPortsInternal":[{"Name":"data_1","NodeId":"-1988","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":2,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-1991","ModuleId":"BigQuantSpace.input_features.input_features-v1","ModuleParameters":[{"Name":"features","Value":"# WorldQuant Alpha因子\nwhere(mean(amount_0,20)<volume_0,((-1*ts_rank(abs(delta(close_0,7)),60))*sign(delta(close_0,7))),-1)\nrank(ts_argmax(signedpower(where(close_0/shift(close_0,1)-1<0,std(close_0/shift(close_0,1)-1<0,20),close_0),2),5))-0.5\n-1*correlation(rank(delta(log(volume_0),2)),rank(((close_0-open_0)/open_0)),6)\n-1*correlation(rank(open_0),rank(volume_0),10)\n-1*ts_rank(rank(low_0),9)\nrank((open_0-(sum(amount_0/volume_0*adjust_factor_0,10)/10)))*(-1*abs(rank((close_0-amount_0/volume_0*adjust_factor_0))))\n-1*correlation(open_0,volume_0,10)\nwhere(mean(amount_0,20)<volume_0,((-1*ts_rank(abs(delta(close_0,7)),60))*sign(delta(close_0,7))),-1)\n(-1*rank(((sum(open_0,5)*sum(close_0/shift(close_0,1)-1,5))-delay((sum(open_0,5)*sum(close_0/shift(close_0,1)-1,5)),10))))\nwhere(0<ts_min(delta(close_0,1),5),delta(close_0,1),where(ts_max(delta(close_0,1),5)<0,delta(close_0,1),-1*delta(close_0,1)))\nrank(where(0<ts_min(delta(close_0,1),4),delta(close_0,1),where(ts_max(delta(close_0,1),4)<0,delta(close_0,1),-1*delta(close_0,1))))\n(rank(ts_max((amount_0/volume_0*adjust_factor_0-close_0),3))+rank(ts_min((amount_0/volume_0*adjust_factor_0-close_0),3)))*rank(delta(volume_0,3))\nsign(delta(volume_0,1))*(-1*delta(close_0,1))\n-1*rank(covariance(rank(close_0),rank(volume_0),5))\n(-1*rank(delta(close_0/shift(close_0,1)-1,3)))*correlation(open_0,volume_0,10) \n-1*sum(rank(correlation(rank(high_0),rank(volume_0),3)),3)\n-1*rank(covariance(rank(high_0),rank(volume_0),5))\n((-1*rank(ts_rank(close_0,10)))*rank(delta(delta(close_0,1),1)))*rank(ts_rank((volume_0/mean(amount_0,20)),5))\n-1*rank(((std(abs((close_0-open_0)),5)+(close_0-open_0))+correlation(close_0,open_0,10)))\n(-1*sign(((close_0-delay(close_0,7))+delta(close_0,7))))*(1+rank((1+sum(close_0/shift(close_0,1)-1,250))))\n((-1*rank((open_0-delay(high_0,1))))*rank((open_0-delay(close_0,1))))*rank((open_0-delay(low_0,1)))\nwhere(sum(close_0,8)/8+stddev(close_0,8)<sum(close_0,2)/2,-1,where(mean(close_0,2)<mean(close_0,8)-std(close_0,8),1,where((1<volume_0/mean(amount_0,20)) | (volume_0/mean(amount_0,20)==1),1,-1)))\n-1*(delta(correlation(high_0,volume_0,5),5)*rank(std(close_0,20)))\nwhere(sum(high_0,20)/20<high_0,-1*delta(high_2,0),0)\nwhere((delta(mean(close_0,100),100)/delay(close_0,100)<0.05) |(delta(mean(close_0,100),100)/delay(close_0,100)==0.05) ,-1*(close_0-ts_min(close_0,100)),-1*delta(close_0,2))\nrank(-1*(close_0/shift(close_0,1)-1)*mean(amount_0,20)*amount_0/volume_0*adjust_factor_0*(high_0-close_0))\n-1*ts_max(correlation(ts_rank(volume_0,5),ts_rank(high_0,5),5),3)\nwhere(0.5<rank((sum(correlation(rank(volume_0),rank(amount_0/volume_0*adjust_factor_0),6),2)/2.0)),-1,1)\nscale(correlation(mean(amount_0,20),low_0,5)+(high_0+low_0)*0.5-close_0)\nmin(product(rank(rank(scale(log(sum(ts_min(rank(rank((-1*rank(delta((close_0-1),5))))),2),1))))),1),5)+ts_rank(delay((-1*shift(close_0,1)/close_0-1),6),5)\n((1.0-rank(((sign((close_0-delay(close_0,1)))+sign((delay(close_0,1)-delay(close_0,2)))) +sign((delay(close_0,2)-delay(close_0,3))))))*sum(volume_0,5))/sum(volume_0,20)\n(rank(rank(rank(decay_linear((-1*rank(rank(delta(close_0,10)))),10))))+rank((-1*delta(close_0,3))))+sign(scale(correlation(mean(amount_0,20),low_0,12)))\nscale(((sum(close_0,7)/7)-close_0))+20*scale(correlation(amount_0/volume_0*adjust_factor_0,delay(close_0,5),230))\nrank((-1*((1-(open_0/close_0)))))\nrank(((1-rank((std(close_0/shift(close_0,1),2)/stddev(close_0/shift(close_0,1)-1,5))))+(1-rank(delta(close_0,1)))))\nts_rank(volume_0,32)*(1-ts_rank(((close_0+high_0)-low_0),16))*(1-ts_rank(close_0/shift(close_0,1)-1,32))\n((((2.21*rank(correlation((close_0-open_0),delay(volume_0,1),15)))+(0.7*rank((open_0-close_0))))+(0.73*rank(ts_rank(delay((-1*close_0/shift(close_0,1)-1),6),5))))+rank(abs(correlation(amount_0/volume_0*adjust_factor_0,mean(amount_0,20),6))))+(0.6*rank((((sum(close_0,200)/200)-open_0)*(close_0-open_0))))\nrank(correlation(delay((open_0-close_0),1),close_0,200))+rank((open_0-close_0))\n(-1*rank(ts_rank(close_0,10)))*rank((close_0/open_0))\n((-1*rank((delta(close_0,7)*(1-rank(decay_linear((volume_0/mean(amount_0,20)),9))))))*(1 +rank(sum(close_0/shift(close_0,1),250))))\n((-1*rank(std(high_0,10)))*correlation(high_0,volume_0,10))\n(((high_0*low_0)**0.5)-amount_0/volume_0*adjust_factor_0)\n(rank((amount_0/volume_0*adjust_factor_0-close_0))/rank((amount_0/volume_0*adjust_factor_0+close_0)))\n(ts_rank((volume_0/mean(amount_0,20)),20)*ts_rank((-1*delta(close_0,7)),8))\n(-1*correlation(high_0,rank(volume_0),5))\n(-1*((rank((sum(delay(close_0,5),20)/20))*correlation(close_0,volume_0,2))*rank(correlation(sum(close_0,5),sum(close_0,20),2))))\nwhere((0.25<(((delay(close_0,20)-delay(close_0,10))/10)-((delay(close_0,10)-close_0)/10))),-1,where(((((delay(close_0,20)-delay(close_0,10))/10)-((delay(close_0,10)-close_0)/10))<0),1,((-1*1)*(close_0-delay(close_0,1)))))\n(((rank((1/close_0))*volume_0)/mean(amount_0,20))*((high_0*rank((high_0-close_0)))/(sum(high_0,5) /5)))-rank((amount_0/volume_0*adjust_factor_0-delay(amount_0/volume_0*adjust_factor_0,5)))\n((correlation(delta(close_0,1),delta(delay(close_0,1),1),250)*delta(close_0,1))/close_0)/group_mean(industry_sw_level1_0,((correlation(delta(close_0,1),delta(delay(close_0,1),1),250)*delta(close_0,1))/close_0))/sum(((delta(close_0,1)/delay(close_0,1))**2),250)\nwhere(((((delay(close_0,20)-delay(close_0,10))/10)-((delay(close_0,10)-close_0)/10))<(-1*0.1)),1,(close_0-delay(close_0,1))*(-1))\n(-1*ts_max(rank(correlation(rank(volume_0),rank(amount_0/volume_0*adjust_factor_0),5)),5))\nwhere((((delay(close_0,20)-delay(close_0,10))/10)-((delay(close_0,10)-close_0)/10))<(-1*0.05),1,-1*(close_0-delay(close_0,1)))\n(((-1*ts_min(low_0,5))+delay(ts_min(low_0,5),5))*rank(((sum(close_0/shift(close_0,1),240)-sum(close_0/shift(close_0,1),20))/220)))*ts_rank(volume_0,5)\n(-1*delta((((close_0-low_0)-(high_0-close_0))/(close_0-low_0)),9))\n((-1*((low_0-close_0)*(open_0**5)))/((low_0-high_0)*(close_0** 5)))\n-1*correlation(rank(((close_0-ts_min(low_0,12))/(ts_max(high_0,12)-ts_min(low_0,12)))),rank(volume_0),6)\n0-1*(1*(rank((sum(close_0/shift(close_0,1)-1,10)/sum(sum(close_0/shift(close_0,1)-1,2),3)))*rank(((close_0/shift(close_0,1)-1)*market_cap_0))))\n(0-(1*((close_0-amount_0/volume_0*adjust_factor_0)/decay_linear(rank(ts_argmax(close_0,30)),2))))\n(-1*ts_rank(decay_linear(correlation( amount_0/volume_0*adjust_factor_0/group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0),volume_0,4),8),5))\n(0-(1*((2*scale(rank(((((close_0-low_0)-(high_0-close_0))/(high_0-low_0))*volume_0))))-scale(rank(ts_argmax(close_0,10))))))\n(rank((amount_0/volume_0*adjust_factor_0-ts_min(amount_0/volume_0*adjust_factor_0,16)))<rank(correlation(amount_0/volume_0*adjust_factor_0,mean(amount_0,180),18)))\n(rank(correlation(amount_0/volume_0*adjust_factor_0,sum(mean(amount_0,20),22),10))<rank(((rank(open_0)+rank(open_0))<(rank(((high_0+low_0)/2))+rank(high_0)))))*-1\n((rank(decay_linear(delta(close_0/group_mean(industry_sw_level1_0,close_0),2),8))-rank(decay_linear(correlation(((amount_0/volume_0*adjust_factor_0*0.318108)+(open_0*(1-0.318108))),sum(mean(amount_0,180),37),14),12)))*-1)\n((rank(correlation(sum(((open_0*0.178404)+(low_0*(1-0.178404))),13),sum(mean(amount_0,20),13),17))<rank(delta(((((high_0+low_0)/2)*0.178404)+(amount_0/volume_0*adjust_factor_0*(1-0.178404))),4)))*-1)\n((rank(correlation(((open_0*0.00817205)+(amount_0/volume_0*adjust_factor_0*(1-0.00817205))),sum(mean(amount_0,60),9),6))<rank((open_0-ts_min(open_0,14))))*-1)\n((rank(decay_linear(delta(amount_0/volume_0*adjust_factor_0,4),7))+ts_rank(decay_linear(((((low_0* 0.96633)+(low_0*(1-0.96633)))-amount_0/volume_0*adjust_factor_0)/(open_0-((high_0+low_0)/2))),11),7))*-1)\n((rank((high_0-ts_min(high_0,2)))**rank(correlation( amount_0/volume_0*adjust_factor_0 /group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0),mean(amount_0,20)/group_mean(industry_sw_level1_0,mean(amount_0,20)),6)))*-1)\n((ts_rank(correlation(rank(high_0),rank(mean(amount_0,15)),9),14)<rank(delta(((close_0*0.518371)+(low_0*(1-0.518371))),1.06157)))*-1)\n((rank(ts_max(delta(amount_0/volume_0*adjust_factor_0/group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0),3),5))**ts_rank(correlation(((close_0*0.490655)+(amount_0/volume_0*adjust_factor_0*(1-0.490655))),mean(amount_0,20),5),9))*-1)\n((rank(delta(amount_0/volume_0*adjust_factor_0,1))**ts_rank(correlation( close_0/group_mean(industry_sw_level1_0,close_0),mean(amount_0,50),18),18))*-1)\nmax(ts_rank(decay_linear(correlation(ts_rank(close_0,3),ts_rank(mean(amount_0,180),12),18),4),16),ts_rank(decay_linear((rank(((low_0+open_0)-(amount_0/volume_0*adjust_factor_0 +amount_0/volume_0*adjust_factor_0)))**2),16 ),4))\n(rank(decay_linear(correlation(((high_0+low_0)/2),mean(amount_0,40),9),10)) /rank(decay_linear(correlation(ts_rank(amount_0/volume_0*adjust_factor_0,4),ts_rank(volume_0,19),7),3)))\n(max(rank(decay_linear(delta(amount_0/volume_0*adjust_factor_0,5),3)),ts_rank(decay_linear(((delta(((open_0* 0.147155)+(low_0*(1-0.147155))),2 ) /((open_0* 0.147155)+(low_0*(1-0.147155))))*-1),3),17))*-1)\n(rank(correlation(close_0,sum(mean(amount_0,30),37),15))<rank(correlation(rank(high_0*0.0261661+amount_0/volume_0*adjust_factor_0*(1-0.0261661)),rank(volume_0),11)))*-1\nrank(correlation(amount_0/volume_0*adjust_factor_0,volume_0,4 ))<rank(correlation(rank(low_0),rank(mean(amount_0,50)),12))\nmax(rank(decay_linear(delta(amount_0/volume_0*adjust_factor_0,1),12)),ts_rank(decay_linear(ts_rank(correlation( low_0/group_mean(industry_sw_level1_0,low_0),mean(amount_0,81),8 ),20),17),19))*-1\nmin(rank(decay_linear(((((high_0+low_0)/2)+high_0)-(amount_0/volume_0*adjust_factor_0+high_0)),20 )),rank(decay_linear(correlation(((high_0+low_0)/2),mean(amount_0,40),3),6)))\nrank(correlation(sum(((low_0*0.352233)+(amount_0/volume_0*adjust_factor_0*(1-0.352233))),20),sum(mean(amount_0,20),20),7))**rank(correlation(rank(amount_0/volume_0*adjust_factor_0),rank(volume_0),6))\nrank(delta((close_0*0.60733+open_0*(1-0.60733))/ group_mean(industry_sw_level1_0,(close_0*0.60733+open_0*(1-0.60733))),1))<rank(correlation(ts_rank(amount_0/volume_0*adjust_factor_0,4),ts_rank(mean(amount_0,150),9),115))\n(rank(sign(delta((open_0*0.868128+high_0*(1-0.868128))/group_mean(industry_sw_level1_0,(open_0*0.868128+high_0*(1-0.868128))),4)))**ts_rank(correlation(high_0,mean(amount_0,10),5),6))*-1\n(rank(log(product(rank((rank(correlation(amount_0/volume_0*adjust_factor_0,sum(mean(amount_0,10),50),8))**4)),15)))<rank(correlation(rank(amount_0/volume_0*adjust_factor_0),rank(volume_0),5)))*-1\nmin(rank(decay_linear(delta(open_0,1.46063),15)),ts_rank(decay_linear(correlation( volume_0/group_mean(industry_sw_level1_0,volume_0),((open_0*0.634196) +(open_0*(1-0.634196))),17),7),13))*-1\n(rank(delay(((high_0-low_0)/(sum(close_0,5)/5)),2))*rank(rank(volume_0)))/(((high_0-low_0)/(sum(close_0,5)/5))/(amount_0/volume_0*adjust_factor_0-close_0))\nsignedpower(ts_rank((amount_0/volume_0*adjust_factor_0-ts_max(amount_0/volume_0*adjust_factor_0,15)),20),delta(close_0,5))\nrank(correlation(((high_0*0.876703)+(close_0*(1-0.876703))),mean(amount_0,30),10))**rank(correlation(ts_rank(((high_0+low_0)/2),4),ts_rank(volume_0,10),7))\n(ts_rank(correlation(close_0,sum(mean(amount_0,20),15),6),20)<rank(((open_0+close_0)-(amount_0/volume_0*adjust_factor_0+open_0))))*-1\nmax(rank(decay_linear(delta(((close_0*0.369701)+(amount_0/volume_0*adjust_factor_0*(1-0.369701))),2),3)),ts_rank(decay_linear(abs(correlation( mean(amount_0,81) /group_mean(industry_sw_level1_0,mean(amount_0,81)) ,close_0,14)),5),14))*-1\nmin(rank(decay_linear(((rank(open_0)+rank(low_0))-(rank(high_0)+rank(close_0))),8)),ts_rank(decay_linear(correlation(ts_rank(close_0,8),ts_rank(mean(amount_0,60),21),8),7),3))\nts_rank(decay_linear(correlation(((low_0*0.967285)+(low_0*(1-0.967285))),mean(amount_0,10),7),6),4)-ts_rank(decay_linear(delta( amount_0/volume_0*adjust_factor_0/group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0),3),10),15)\n(rank((close_0-ts_max(close_0,5)))**ts_rank(correlation(mean(amount_0,40)/group_mean(industry_sw_level1_0,mean(amount_0,40)),low_0,5),3))*-1\n(ts_rank(decay_linear(decay_linear(correlation(close_0/group_mean(industry_sw_level1_0,close_0),volume_0,10),16),4),5)-rank(decay_linear(correlation(amount_0/volume_0*adjust_factor_0,mean(amount_0,30),4),3)))*-1\nmin(ts_rank(decay_linear(((((high_0+low_0)/2)+close_0)<(low_0+open_0)),15),19),ts_rank(decay_linear(correlation(rank(low_0),rank(mean(amount_0,30)),8),7),7))' 'ts_rank(decay_linear(correlation((amount_0/volume_0*adjust_factor_0)/group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0) ,mean(amount_0,81),17),20),8)/rank(decay_linear(delta(((close_0*0.524434)+(amount_0/volume_0*adjust_factor_0*(1-0.524434))),3),16))\n(rank((amount_0/volume_0*adjust_factor_0-ts_min(amount_0/volume_0*adjust_factor_0,12)))**ts_rank(correlation(ts_rank(amount_0/volume_0*adjust_factor_0,20),ts_rank(mean(amount_0,60),4),18),3))*-1\nrank((open_0-ts_min(open_0,12)))<ts_rank((rank(correlation(sum(((high_0+low_0)/ 2),19),sum(mean(amount_0,40),19),13))**5),12)\nmax(ts_rank(decay_linear(correlation(rank(amount_0/volume_0*adjust_factor_0),rank(volume_0),4),4),8),ts_rank(decay_linear(ts_argmax(correlation(ts_rank(close_0,7),ts_rank(mean(amount_0,60),4),4),13),14),13))*-1\n(rank(decay_linear(delta(((low_0*0.721001)+(amount_0/volume_0*adjust_factor_0*(1-0.721001)))/group_mean(industry_sw_level1_0,(low_0*0.721001)+(amount_0/volume_0*adjust_factor_0*(1-0.721001))),3),20)) -ts_rank(decay_linear(ts_rank(correlation(ts_rank(low_0,8),ts_rank(mean(amount_0,60),17),5),16),16),7))*-1''rank(decay_linear(correlation(amount_0/volume_0*adjust_factor_0,sum(mean(amount_0,5),26),5),7))-rank(decay_linear(ts_rank(ts_argmin(correlation(rank(open_0),rank(mean(amount_0,15)),21),9),7),8))\n(rank(correlation(sum(((high_0+low_0)/2),20),sum(mean(amount_0,60),20),9)) <rank(correlation(low_0,volume_0,6)))*-1\n-1*(((1.5*scale(rank(((((close_0-low_0)-(high_0-close_0))/(high_0-low_0))*volume_0))/group_mean(industry_sw_level2_0,rank(((((close_0-low_0)-(high_0-close_0))/(high_0-low_0))*volume_0)))))-scale((correlation(close_0,rank(mean(amount_0,20)),5)-rank(ts_argmin(close_0,30)))/group_mean(industry_sw_level2_0,(correlation(close_0,rank(mean(amount_0,20)),5)-rank(ts_argmin(close_0,30))))))*(volume_0/mean(amount_0,20)))\n","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features_ds","NodeId":"-1991"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-1991","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":3,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2347","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2018-01-01","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"2020-01-01","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"market","Value":"CN_STOCK_A","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"instrument_list","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"max_count","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"rolling_conf","NodeId":"-2347"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2347","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":4,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2439","ModuleId":"BigQuantSpace.derived_feature_extractor.derived_feature_extractor-v3","ModuleParameters":[{"Name":"date_col","Value":"date","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"instrument_col","Value":"instrument","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"drop_na","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"remove_extra_columns","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_functions","Value":"{}","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-2439"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-2439"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2439","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":6,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2538","ModuleId":"BigQuantSpace.general_feature_extractor.general_feature_extractor-v7","ModuleParameters":[{"Name":"start_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"before_start_days","Value":"200","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-2538"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-2538"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2538","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":5,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2731","ModuleId":"BigQuantSpace.renamefactors.renamefactors-v1","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-2731"}],"OutputPortsInternal":[{"Name":"data_1","NodeId":"-2731","OutputType":null},{"Name":"data_2","NodeId":"-2731","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":7,"Comment":"","CommentCollapsed":true}],"SerializedClientData":"<?xml version='1.0' encoding='utf-16'?><DataV1 xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><Meta /><NodePositions><NodePosition Node='-1976' Position='37,294,200,200'/><NodePosition Node='-1988' Position='174,454,200,200'/><NodePosition Node='-1991' Position='351,303,200,200'/><NodePosition Node='-2347' Position='-6,627,200,200'/><NodePosition Node='-2439' Position='84,943,200,200'/><NodePosition Node='-2538' Position='71,841,200,200'/><NodePosition Node='-2731' Position='84.48687744140625,-72.28094482421875,200,200'/></NodePositions><NodeGroups /></DataV1>"},"IsDraft":true,"ParentExperimentId":null,"WebService":{"IsWebServiceExperiment":false,"Inputs":[],"Outputs":[],"Parameters":[{"Name":"交易日期","Value":"","ParameterDefinition":{"Name":"交易日期","FriendlyName":"交易日期","DefaultValue":"","ParameterType":"String","HasDefaultValue":true,"IsOptional":true,"ParameterRules":[],"HasRules":false,"MarkupType":0,"CredentialDescriptor":null}}],"WebServiceGroupId":null,"SerializedClientData":"<?xml version='1.0' encoding='utf-16'?><DataV1 xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><Meta /><NodePositions></NodePositions><NodeGroups /></DataV1>"},"DisableNodesUpdate":false,"Category":"user","Tags":[],"IsPartialRun":false}
    In [15]:
    # 本代码由可视化策略环境自动生成 2020年3月18日 16:50
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    m1 = M.input_features.v1(
        features="""# 模块默认
    return_5
    return_10
    return_20
    avg_amount_0/avg_amount_5
    avg_amount_5/avg_amount_20
    rank_avg_amount_0/rank_avg_amount_5
    rank_avg_amount_5/rank_avg_amount_10
    rank_return_0
    rank_return_5
    rank_return_10
    rank_return_0/rank_return_5
    rank_return_5/rank_return_10
    pe_ttm_0
    
    # 中性化处理需要
    market_cap_float_0
    industry_sw_level1_0
    
    # 夏普比率降序
    rank_pb_lf_0
    rank_market_cap_0
    rank_market_cap_float_0
    #wq_54
    #gtja_95
    
    # 年化收益降序
    rank_market_cap_0
    rank_market_cap_float_0
    fs_net_profit_margin_ttm_0
    rank_fs_roe_ttm_0
    rank_pe_lyr_0
    
    # 最大回撤降序
    fs_bps_0
    #atr_5
    rank_fs_roa_0
    fs_roe_0
    rank_ps_ttm_0
    
    # 量价因子
    adjust_factor_5
    adjust_factor_4
    adjust_factor_3
    adjust_factor_2
    adjust_factor_1
    adjust_factor_0
    amount_5
    amount_4
    amount_3
    amount_2
    amount_1
    amount_0
    avg_amount_5
    avg_amount_4
    avg_amount_3
    avg_amount_2
    avg_amount_1
    avg_amount_0
    close_5
    close_4
    close_3
    close_2
    close_1
    close_0
    daily_return_5
    daily_return_4
    daily_return_3
    daily_return_2
    daily_return_1
    daily_return_0
    deal_number_5
    deal_number_4
    deal_number_3
    deal_number_2
    deal_number_1
    deal_number_0
    high_5
    high_4
    high_3
    high_2
    high_1
    high_0
    low_5
    low_4
    low_3
    low_2
    low_1
    low_0
    open_5
    open_4
    open_3
    open_2
    open_1
    open_0
    price_limit_status_5
    price_limit_status_4
    price_limit_status_3
    price_limit_status_2
    price_limit_status_1
    price_limit_status_0
    rank_amount_5
    rank_amount_4
    rank_amount_3
    rank_amount_2
    rank_amount_1
    rank_amount_0
    rank_avg_amount_5
    rank_avg_amount_4
    rank_avg_amount_3
    rank_avg_amount_2
    rank_avg_amount_1
    rank_avg_amount_0
    rank_return_5
    rank_return_4
    rank_return_3
    rank_return_2
    rank_return_1
    rank_return_0
    return_5
    return_4
    return_3
    return_2
    return_1
    return_0
    volume_5
    volume_4
    volume_3
    volume_2
    volume_1
    volume_0
    
    # 财务因子
    fs_account_payable_0
    fs_account_receivable_0
    fs_bps_0
    fs_capital_reserves_0
    fs_cash_equivalents_0
    fs_cash_ratio_0
    fs_common_equity_0
    fs_construction_in_process_0
    fs_current_assets_0
    fs_current_liabilities_0
    fs_deducted_profit_0
    fs_deducted_profit_ttm_0
    fs_eps_0
    fs_eps_yoy_0
    fs_eqy_belongto_parcomsh_0
    fs_financial_expenses_0
    fs_fixed_assets_0
    fs_fixed_assets_disp_0
    fs_free_cash_flow_0
    fs_general_expenses_0
    fs_gross_profit_margin_0
    fs_gross_profit_margin_ttm_0
    fs_gross_revenues_0
    fs_income_tax_0
    fs_net_cash_flow_0
    fs_net_cash_flow_ttm_0
    fs_net_income_0
    fs_net_profit_0
    fs_net_profit_margin_0
    fs_net_profit_margin_ttm_0
    fs_net_profit_qoq_0
    fs_net_profit_ttm_0
    fs_net_profit_yoy_0
    fs_non_current_assets_0
    fs_non_current_liabilities_0
    fs_operating_profit_0
    fs_operating_revenue_0
    fs_operating_revenue_qoq_0
    fs_operating_revenue_ttm_0
    fs_operating_revenue_yoy_0
    fs_paicl_up_capital_0
    fs_proj_matl_0
    fs_publish_date_0
    fs_quarter_index_0
    fs_quarter_year_0
    fs_roa_0
    fs_roa_ttm_0
    fs_roe_0
    fs_roe_ttm_0
    fs_selling_expenses_0
    fs_surplus_reserves_0
    fs_total_equity_0
    fs_total_liability_0
    fs_total_operating_costs_0
    fs_total_profit_0
    fs_undistributed_profit_0
    rank_fs_bps_0
    rank_fs_cash_ratio_0
    rank_fs_eps_0
    rank_fs_eps_yoy_0
    rank_fs_net_profit_qoq_0
    rank_fs_net_profit_yoy_0
    rank_fs_operating_revenue_qoq_0
    rank_fs_operating_revenue_yoy_0
    rank_fs_roa_0
    rank_fs_roa_ttm_0
    rank_fs_roe_0
    rank_fs_roe_ttm_0
    
    # 换手率因子
    avg_turn_5
    avg_turn_4
    avg_turn_3
    avg_turn_2
    avg_turn_1
    avg_turn_0
    rank_avg_turn_5
    rank_avg_turn_4
    rank_avg_turn_3
    rank_avg_turn_2
    rank_avg_turn_1
    rank_avg_turn_0
    rank_turn_5
    rank_turn_4
    rank_turn_3
    rank_turn_2
    rank_turn_1
    rank_turn_0
    turn_5
    turn_4
    turn_3
    turn_2
    turn_1
    turn_0
    
    # 基本信息因子
    company_found_date_0
    in_csi100_0 
    in_csi300_0 
    in_csi500_0
    in_csi800_0
    in_sse180_0
    in_sse50_0
    in_szse100_0
    industry_sw_level1_0
    industry_sw_level2_0
    industry_sw_level3_0
    list_board_0
    list_days_0
    st_status_0
    
    # 资金流因子
    avg_mf_net_amount_5
    avg_mf_net_amount_4
    avg_mf_net_amount_3
    avg_mf_net_amount_2
    avg_mf_net_amount_1
    avg_mf_net_amount_0
    mf_net_amount_5
    mf_net_amount_4
    mf_net_amount_3
    mf_net_amount_2
    mf_net_amount_1
    mf_net_amount_0
    mf_net_amount_l_0
    mf_net_amount_m_0
    mf_net_amount_main_0
    mf_net_amount_s_0
    mf_net_amount_xl_0
    mf_net_pct_l_0
    mf_net_pct_m_0
    mf_net_pct_main_0
    mf_net_pct_s_0
    mf_net_pct_xl_0
    rank_avg_mf_net_amount_5
    rank_avg_mf_net_amount_4
    rank_avg_mf_net_amount_3
    rank_avg_mf_net_amount_2
    rank_avg_mf_net_amount_1
    rank_avg_mf_net_amount_0
    
    # 股东因子
    rank_sh_holder_avg_pct_0
    rank_sh_holder_avg_pct_3m_chng_0
    rank_sh_holder_avg_pct_6m_chng_0
    rank_sh_holder_num_0
    sh_holder_avg_pct_0
    sh_holder_avg_pct_3m_chng_0
    sh_holder_avg_pct_6m_chng_0
    sh_holder_num_0
    
    #估值因子
    market_cap_0
    market_cap_float_0
    pb_lf_0
    pe_lyr_0
    pe_ttm_0
    ps_ttm_0
    rank_market_cap_0
    rank_market_cap_float_0
    rank_pb_lf_0
    rank_pe_lyr_0
    rank_pe_ttm_0
    rank_ps_ttm_0
    west_avgcps_ftm_0
    west_eps_ftm_0
    west_netprofit_ftm_0
    
    # 技术分析因子
    ta_ad_0
    ta_adx_14_0
    ta_adx_28_0
    ta_aroon_down_14_0
    ta_aroon_down_28_0
    ta_aroon_up_14_0
    ta_aroon_up_28_0
    ta_aroonosc_14_0
    ta_aroonosc_28_0
    ta_atr_14_0
    ta_atr_28_0
    ta_bbands_lowerband_14_0
    ta_bbands_lowerband_28_0
    ta_bbands_middleband_14_0
    ta_bbands_middleband_28_0
    ta_bbands_upperband_14_0
    ta_bbands_upperband_28_0
    ta_cci_14_0
    ta_cci_28_0
    ta_ema_5_0
    ta_ema_10_0
    ta_ema_20_0
    ta_ema_30_0
    ta_ema_60_0
    ta_macd_macd_12_26_9_0
    ta_macd_macdhist_12_26_9_0
    ta_macd_macdsignal_12_26_9_0
    ta_mfi_14_0
    ta_mfi_28_0
    ta_mom_10_0
    ta_mom_20_0
    ta_mom_30_0
    ta_mom_60_0
    ta_obv_0
    ta_rsi_14_0
    ta_rsi_28_0
    ta_sar_0
    ta_sma_5_0
    ta_sma_10_0
    ta_sma_20_0
    ta_sma_30_0
    ta_sma_60_0
    ta_stoch_slowd_5_3_0_3_0_0
    ta_stoch_slowk_5_3_0_3_0_0
    ta_trix_14_0
    ta_trix_28_0
    ta_willr_14_0
    ta_willr_28_0
    ta_wma_5_0
    ta_wma_10_0
    ta_wma_20_0
    ta_wma_30_0
    ta_wma_60_0
    
    # BETA值因子
    beta_csi100_5_0
    beta_csi100_10_0
    beta_csi100_30_0
    beta_csi100_60_0
    beta_csi100_90_0
    beta_csi300_5_0
    beta_csi300_10_0
    beta_csi300_30_0
    beta_csi300_60_0
    beta_csi300_90_0
    beta_csi500_5_0
    beta_csi500_10_0
    beta_csi500_30_0
    beta_csi500_60_0
    beta_csi500_90_0
    beta_csi800_5_0
    beta_csi800_10_0
    beta_csi800_30_0
    beta_csi800_60_0
    beta_csi800_90_0
    beta_gem_5_0
    beta_gem_10_0
    beta_gem_30_0
    beta_gem_60_0
    beta_gem_90_0
    beta_industry_5_0
    beta_industry_10_0
    beta_industry_30_0
    beta_industry_60_0
    beta_industry_90_0
    beta_sse180_5_0
    beta_sse180_10_0
    beta_sse180_30_0
    beta_sse180_60_0
    beta_sse180_90_0
    beta_sse50_5_0
    beta_sse50_10_0
    beta_sse50_30_0
    beta_sse50_60_0
    beta_sse50_90_0
    beta_szzs_5_0
    beta_szzs_10_0
    beta_szzs_30_0
    beta_szzs_60_0
    beta_szzs_90_0
    rank_beta_csi100_5_0
    rank_beta_csi100_10_0
    rank_beta_csi100_30_0
    rank_beta_csi100_60_0
    rank_beta_csi100_90_0
    rank_beta_csi300_5_0
    rank_beta_csi300_10_0
    rank_beta_csi300_30_0
    rank_beta_csi300_60_0
    rank_beta_csi300_90_0
    rank_beta_csi500_5_0
    rank_beta_csi500_10_0
    rank_beta_csi500_30_0
    rank_beta_csi500_60_0
    rank_beta_csi500_90_0
    rank_beta_csi800_5_0
    rank_beta_csi800_10_0
    rank_beta_csi800_30_0
    rank_beta_csi800_60_0
    rank_beta_csi800_90_0
    rank_beta_gem_5_0
    rank_beta_gem_10_0
    rank_beta_gem_30_0
    rank_beta_gem_60_0
    rank_beta_gem_90_0
    rank_beta_industry_5_0
    rank_beta_industry_10_0
    rank_beta_industry_30_0
    rank_beta_industry_60_0
    rank_beta_industry_90_0
    rank_beta_sse180_5_0
    rank_beta_sse180_10_0
    rank_beta_sse180_30_0
    rank_beta_sse180_60_0
    rank_beta_sse180_90_0
    rank_beta_sse50_5_0
    rank_beta_sse50_10_0
    rank_beta_sse50_30_0
    rank_beta_sse50_60_0
    rank_beta_sse50_90_0
    rank_beta_szzs_5_0
    rank_beta_szzs_10_0
    rank_beta_szzs_30_0
    rank_beta_szzs_60_0
    rank_beta_szzs_90_0
    
    # 波动率因子
    rank_swing_volatility_5_0
    rank_swing_volatility_10_0
    rank_swing_volatility_30_0
    rank_swing_volatility_60_0
    rank_volatility_5_0
    rank_volatility_10_0
    rank_volatility_30_0
    rank_volatility_60_0
    swing_volatility_5_0
    swing_volatility_10_0
    swing_volatility_30_0
    swing_volatility_60_0
    volatility_5_0
    volatility_10_0
    volatility_30_0
    volatility_60_0
    
    # 因子表
    turn_0
    return_6
    fs_roe_0
    fs_eps_0
    fs_bps_0
    fs_roa_0
    return_20
    rank_turn_0
    rank_turn_9
    ta_rsi(close_0,28)
    rank_pb_lf_0
    fs_roa_ttm_0
    fs_roe_ttm_0
    high_0/low_0
    fs_eps_yoy_0
    sqrt(high_0*low_0)-amount_0/volume_0*adjust_factor_0
    sum(max(0,high_0-delay(close_0,1)),20)/sum(max(0,delay(close_0,1)-low_0),20)*100
    ((close_0-open_0)/((high_0-low_0)+.001))
    turn_9
    ta_ema(((high_0+low_0)/2-(delay(high_0,1)+delay(low_0,1))/2)*(high_0-low_0)/volume_0,7)
    turn_1
    fs_operating_revenue_yoy_0
    fs_operating_revenue_qoq_0
    fs_net_profit_margin_ttm_0
    fs_gross_profit_margin_ttm_0
    rank_pe_lyr_0
    rank_pe_ttm_0
    rank_ps_ttm_0
    rank_return_9
    rank_fs_bps_0
    rank_return_6
    rank_return_15
    close_1/open_0
    open_0/close_0
    high_0/close_1
    close_0/open_0
    rank_return_30
    rank_return_20
    rank_avg_turn_1
    close_9/close_0
    rank_avg_turn_6
    fs_cash_ratio_0
    close_4/close_0
    close_6/close_0
    close_2/close_0
    close_3/close_0
    close_5/close_0
    close_1/close_0
    rank_avg_turn_0
    volume_0/mean(volume_0,3)*100
    rank_avg_turn_3
    rank_avg_turn_9
    close_20/close_0
    rank_avg_turn_15
    close_15/close_0
    rank_avg_turn_20
    rank_market_cap_0
    amount_2/amount_0
    rank_fs_eps_yoy_0
    return_5/return_0
    amount_4/amount_0
    rank_fs_roe_ttm_0
    return_9/return_0
    amount_3/amount_0
    amount_5/amount_0
    (-1*correlation(open_0,volume_0,10))
    (-1*delta((((close_0-low_0)-(high_0-close_0))/(close_0-low_0)),9))
    ta_atr(high_0,low_0,close_0,5)
    ((-1*((low_0-close_0)*(open_0**5)))/((low_0-high_0)*(close_0**5)))
    turn_6
    -1*delta(((close_0-low_0)-(high_0-close_0))/(high_0-low_0),1)
    turn_3
    std(volume_0,10)
    ta_ema(((high_0+low_0-0)/2-(delay(high_0,1)+delay(low_0,1))/2)*(high_0-low_0)/volume_0,15)
    (close_0-mean(close_0,12))/mean(close_0,12)*100
    (close_0-delay(close_0,6))/delay(close_0,6)*volume_0
    (volume_0-delay(volume_0,5))/delay(volume_0,5)*100
    sum(((close_0-low_0)-(high_0-close_0))/(high_0-low_0)*volume_0,20)
    (close_0-mean(close_0,24))/mean(close_0,24)*100
    ((sum(close_0,7)/7)-close_0)+correlation(amount_0/volume_0*adjust_factor_0,delay(close_0,5),230)
    turn_15
    rank((-1*((1-(open_0/close_0))**1)))
    mean(close_0,12)/close_0
    ta_ema((close_0-ts_min(low_0,9))/(ts_max(high_0,9)-ts_min(low_0,9))*100,3)
    turn_20
    (close_0-delay(close_0,20))/delay(close_0,20)*100
    close_0-delay(close_0,5)
    ta_ema(volume_0,21)
    close_0/delay(close_0,5)
    std(amount_0,20)
    sum(((close_0-low_0)-(high_0-close_0))/(high_0-low_0)*volume_0,6)
    ((high_0+low_0+close_0)/3-mean((high_0+low_0+close_0)/3,12))/(0.015*mean(abs(close_0-mean((high_0+low_0+close_0)/3,12)),12))
    std(amount_0,6)
    ta_ema(((ts_max(high_0,6)-close_0)/(ts_max(high_0,6)-ts_min(low_0,6))*100),20)
    ta_ema(ta_ema((close_0-ts_min(low_0,9))/(ts_max(high_0,9)-ts_min(low_0,9))*100,3),3)
    (close_0-delay(close_0,6))/delay(close_0,6)*100
    (((high_0*low_0)**0.5)-amount_0/volume_0*adjust_factor_0)
    (mean(close_0,3)+mean(close_0,6)+mean(close_0,12)+mean(close_0,24))/(4*close_0)
    ta_ema(close_0-delay(close_0,5),5)
    ta_ema(high_0-low_0,10)/ta_ema(ta_ema(high_0-low_0,10),10)
    ((high_0-ta_ema(close_0,15))-(low_0-ta_ema(close_0,15)))/close_0
    (close_0+high_0+low_0)/3
    std(volume_0,20)
    open_0/shift(close_0,1)-1
    return_9
    (mean(close_0,3)+mean(close_0,6)+mean(close_0,12)+mean(close_0,24))/4
    rank(delta(((((high_0+low_0)/2)*0.2)+(amount_0/volume_0*adjust_factor_0*0.8)),4)*-1)
    (rank(sign(delta((((open_0*0.85)+(high_0*0.15))),4)))*-1)
    (-1*correlation(close_0,volume_0,10))
    close_0-delay(close_0,20)
    (close_0-delay(close_0,1))/delay(close_0,1)*volume_0
    (close_0-delay(close_0,12))/delay(close_0,12)*volume_0
    return_3
    return_0
    (high_0-low_0-ta_ema(high_0-low_0,11))/ta_ema(high_0-low_0,11)*100
    return_1
    mean(abs(close_0-mean(close_0,6)),6)
    -1*((low_0-close_0*(open_0**5)))/((close_0-high_0)*(close_0**5))
    mean(amount_0,20)
    return_30
    return_15
    (rank((amount_0/volume_0*adjust_factor_0-close_0))/rank((amount_0/volume_0*adjust_factor_0+close_0)))
    ((rank(max((amount_0/volume_0*adjust_factor_0-close_0),3))+rank(min((amount_0/volume_0*adjust_factor_0-close_0),3)))*rank(delta(volume_0,3)))
    ta_beta(high_0,low_0,12)
    correlation(amount_0/volume_0*adjust_factor_0,volume_0,5)
    ta_adx(high_0,low_0,close_0,14)
    rank_turn_3
    rank_turn_1
    correlation(high_0/low_0,volume_0,4)
    rank_turn_6
    ta_rsi(close_0,14)
    rank_turn_15
    rank_turn_20
    rank_fs_roa_0
    rank_fs_roe_0
    rank_fs_eps_0
    rank_return_3
    rank_return_1
    rank_return_0
    low_0/close_1
    return_4/return_0
    rank_fs_roa_ttm_0
    amount_1/amount_0
    ta_wma(close_0,5)/close_0
    mean(close_0,5)/close_0
    ta_ema(close_0,5)/close_0
    ta_atr(high_0,low_0,close_0,14)/close_0
    avg_turn_9/turn_0
    avg_turn_1/turn_0
    ta_wma(close_0,30)/close_0
    return_9/return_5
    avg_turn_6/turn_0
    return_3/return_0
    ta_atr(high_0,low_0,close_0,28)/close_0
    close_0/mean(close_0,10)
    return_1/return_5
    return_0/return_3
    mean(close_0,30)/close_0
    return_1/return_0
    return_9/return_3
    ta_ema(close_0,30)/close_0
    avg_turn_3/turn_0
    return_1/return_3
    close_0/mean(close_0,30)
    return_6/return_5
    return_6/return_0
    close_0/mean(close_0,20)
    return_0/return_5
    return_6/return_3
    fs_net_profit_yoy_0
    fs_net_profit_qoq_0
    return_90/return_5
    return_15/return_0
    avg_turn_15/turn_0
    return_20/return_5
    return_50/return_5
    rank_sh_holder_num_0
    return_30/return_5
    avg_turn_20/turn_0
    return_30/return_0
    return_30/return_3
    return_20/return_0
    return_20/return_3
    return_15/return_5
    rank_fs_cash_ratio_0
    return_70/return_5
    return_60/return_5
    return_80/return_5
    return_15/return_3
    return_30/return_10
    return_70/return_10
    amount_0/avg_amount_5
    return_80/return_10
    return_50/return_10
    return_20/return_10
    return_90/return_10
    amount_0/avg_amount_3
    return_120/return_5
    return_60/return_10
    fs_net_profit_margin_0
    (high_0-low_0)/close_0
    return_120/return_10
    mean(close_0,20)/mean(close_0,30)
    mean(close_0,30)/mean(close_0,60)
    mean(close_0,10)/mean(close_0,60)
    (low_1-close_0)/close_0
    rank_market_cap_float_0
    mean(close_0,10)/mean(close_0,20)
    (low_1-close_1)/close_0
    (close_1-low_0)/close_0
    (low_0-close_1)/close_0
    mean(close_0,10)/mean(close_0,30)
    rank_fs_net_profit_qoq_0
    rank_sh_holder_avg_pct_0
    fs_gross_profit_margin_0
    (high_0-close_1)/close_0
    (high_1-close_0)/close_0
    rank_fs_net_profit_yoy_0
    (open_0-close_0)/close_0
    (close_1-high_0)/close_0
    (high_1-close_1)/close_0
    (high_0-low_0)/(close_0-open_0)
    rank_fs_operating_revenue_yoy_0
    rank_fs_operating_revenue_qoq_0
    (open_0-close_0)/(high_0-low_0)
    rank_sh_holder_avg_pct_6m_chng_0
    rank_sh_holder_avg_pct_3m_chng_0
    mean(close_0,3)/close_0
    mean(amount_0,3)/amount_0
    mean(volume_0,3)/volume_0
    avg_mf_net_amount_6/mf_net_amount_0
    avg_mf_net_amount_9/mf_net_amount_0
    avg_mf_net_amount_3/mf_net_amount_0
    avg_mf_net_amount_20/mf_net_amount_0
    avg_mf_net_amount_15/mf_net_amount_0
    avg_mf_net_amount_12/mf_net_amount_0
    avg_mf_net_amount_9/avg_mf_net_amount_3
    avg_mf_net_amount_6/avg_mf_net_amount_3
    close_0/mean(close_0,3)
    avg_mf_net_amount_20/avg_mf_net_amount_3
    avg_mf_net_amount_12/avg_mf_net_amount_3
    avg_mf_net_amount_15/avg_mf_net_amount_3
    amount_0/mean(amount_0,3)
    ((close_0-low_0)-(high_0-close_0))/(high_0-close_0)
    (high_0-low_0+high_1-low_1+high_2-low_2)/close_0
    mean(close_0,6)/close_0
    mean(amount_0,6)/amount_0
    mean(volume_0,6)/volume_0
    3/1*(high_0-low_0)/(high_0-low_0+high_1-low_1+high_2-low_2)
    mean(close_0,6)/mean(close_0,3)
    mean(close_0,9)/close_0
    mean(amount_0,6)/mean(amount_0,3)
    mean(amount_0,9)/amount_0
    mean(volume_0,9)/volume_0
    (mean(high_0,6)-mean(low_0,6))/close_0
    mean(close_0,9)/mean(close_0,3)
    mean(amount_0,9)/mean(amount_0,3)
    mean(close_0,15)/close_0
    (mean(high_0,9)-mean(low_0,9))/close_0
    mean(amount_0,15)/amount_0
    mean(volume_0,15)/volume_0
    (mean(high_0,6)-mean(low_0,6))/(mean(high_0,3)-mean(low_0,3))
    mean(close_0,15)/mean(close_0,3)
    mean(amount_0,15)/mean(amount_0,3)
    mean(close_0,20)/close_0
    mean(amount_0,20)/amount_0
    mean(volume_0,20)/volume_0
    mean(close_0,20)/mean(close_0,3)
    (mean(high_0,9)-mean(low_0,9))/(mean(high_0,3)-mean(low_0,3))
    mean(amount_0,20)/mean(amount_0,3)
    (sum(high_0,15)-sum(low_0,15))/close_0
    (mean(high_0,15)-mean(low_0,15))/(mean(high_0,3)-mean(low_0,3))
    (sum(high_0,20)-sum(low_0,20))/close_0
    (mean(high_0,20)-mean(low_0,20))/(mean(high_0,3)-mean(low_0,3))"""
    )
    
    m3 = M.input_features.v1(
        features="""# WorldQuant Alpha因子
    where(mean(amount_0,20)<volume_0,((-1*ts_rank(abs(delta(close_0,7)),60))*sign(delta(close_0,7))),-1)
    rank(ts_argmax(signedpower(where(close_0/shift(close_0,1)-1<0,std(close_0/shift(close_0,1)-1<0,20),close_0),2),5))-0.5
    -1*correlation(rank(delta(log(volume_0),2)),rank(((close_0-open_0)/open_0)),6)
    -1*correlation(rank(open_0),rank(volume_0),10)
    -1*ts_rank(rank(low_0),9)
    rank((open_0-(sum(amount_0/volume_0*adjust_factor_0,10)/10)))*(-1*abs(rank((close_0-amount_0/volume_0*adjust_factor_0))))
    -1*correlation(open_0,volume_0,10)
    where(mean(amount_0,20)<volume_0,((-1*ts_rank(abs(delta(close_0,7)),60))*sign(delta(close_0,7))),-1)
    (-1*rank(((sum(open_0,5)*sum(close_0/shift(close_0,1)-1,5))-delay((sum(open_0,5)*sum(close_0/shift(close_0,1)-1,5)),10))))
    where(0<ts_min(delta(close_0,1),5),delta(close_0,1),where(ts_max(delta(close_0,1),5)<0,delta(close_0,1),-1*delta(close_0,1)))
    rank(where(0<ts_min(delta(close_0,1),4),delta(close_0,1),where(ts_max(delta(close_0,1),4)<0,delta(close_0,1),-1*delta(close_0,1))))
    (rank(ts_max((amount_0/volume_0*adjust_factor_0-close_0),3))+rank(ts_min((amount_0/volume_0*adjust_factor_0-close_0),3)))*rank(delta(volume_0,3))
    sign(delta(volume_0,1))*(-1*delta(close_0,1))
    -1*rank(covariance(rank(close_0),rank(volume_0),5))
    (-1*rank(delta(close_0/shift(close_0,1)-1,3)))*correlation(open_0,volume_0,10) 
    -1*sum(rank(correlation(rank(high_0),rank(volume_0),3)),3)
    -1*rank(covariance(rank(high_0),rank(volume_0),5))
    ((-1*rank(ts_rank(close_0,10)))*rank(delta(delta(close_0,1),1)))*rank(ts_rank((volume_0/mean(amount_0,20)),5))
    -1*rank(((std(abs((close_0-open_0)),5)+(close_0-open_0))+correlation(close_0,open_0,10)))
    (-1*sign(((close_0-delay(close_0,7))+delta(close_0,7))))*(1+rank((1+sum(close_0/shift(close_0,1)-1,250))))
    ((-1*rank((open_0-delay(high_0,1))))*rank((open_0-delay(close_0,1))))*rank((open_0-delay(low_0,1)))
    where(sum(close_0,8)/8+stddev(close_0,8)<sum(close_0,2)/2,-1,where(mean(close_0,2)<mean(close_0,8)-std(close_0,8),1,where((1<volume_0/mean(amount_0,20)) | (volume_0/mean(amount_0,20)==1),1,-1)))
    -1*(delta(correlation(high_0,volume_0,5),5)*rank(std(close_0,20)))
    where(sum(high_0,20)/20<high_0,-1*delta(high_2,0),0)
    where((delta(mean(close_0,100),100)/delay(close_0,100)<0.05) |(delta(mean(close_0,100),100)/delay(close_0,100)==0.05) ,-1*(close_0-ts_min(close_0,100)),-1*delta(close_0,2))
    rank(-1*(close_0/shift(close_0,1)-1)*mean(amount_0,20)*amount_0/volume_0*adjust_factor_0*(high_0-close_0))
    -1*ts_max(correlation(ts_rank(volume_0,5),ts_rank(high_0,5),5),3)
    where(0.5<rank((sum(correlation(rank(volume_0),rank(amount_0/volume_0*adjust_factor_0),6),2)/2.0)),-1,1)
    scale(correlation(mean(amount_0,20),low_0,5)+(high_0+low_0)*0.5-close_0)
    min(product(rank(rank(scale(log(sum(ts_min(rank(rank((-1*rank(delta((close_0-1),5))))),2),1))))),1),5)+ts_rank(delay((-1*shift(close_0,1)/close_0-1),6),5)
    ((1.0-rank(((sign((close_0-delay(close_0,1)))+sign((delay(close_0,1)-delay(close_0,2)))) +sign((delay(close_0,2)-delay(close_0,3))))))*sum(volume_0,5))/sum(volume_0,20)
    (rank(rank(rank(decay_linear((-1*rank(rank(delta(close_0,10)))),10))))+rank((-1*delta(close_0,3))))+sign(scale(correlation(mean(amount_0,20),low_0,12)))
    scale(((sum(close_0,7)/7)-close_0))+20*scale(correlation(amount_0/volume_0*adjust_factor_0,delay(close_0,5),230))
    rank((-1*((1-(open_0/close_0)))))
    rank(((1-rank((std(close_0/shift(close_0,1),2)/stddev(close_0/shift(close_0,1)-1,5))))+(1-rank(delta(close_0,1)))))
    ts_rank(volume_0,32)*(1-ts_rank(((close_0+high_0)-low_0),16))*(1-ts_rank(close_0/shift(close_0,1)-1,32))
    ((((2.21*rank(correlation((close_0-open_0),delay(volume_0,1),15)))+(0.7*rank((open_0-close_0))))+(0.73*rank(ts_rank(delay((-1*close_0/shift(close_0,1)-1),6),5))))+rank(abs(correlation(amount_0/volume_0*adjust_factor_0,mean(amount_0,20),6))))+(0.6*rank((((sum(close_0,200)/200)-open_0)*(close_0-open_0))))
    rank(correlation(delay((open_0-close_0),1),close_0,200))+rank((open_0-close_0))
    (-1*rank(ts_rank(close_0,10)))*rank((close_0/open_0))
    ((-1*rank((delta(close_0,7)*(1-rank(decay_linear((volume_0/mean(amount_0,20)),9))))))*(1 +rank(sum(close_0/shift(close_0,1),250))))
    ((-1*rank(std(high_0,10)))*correlation(high_0,volume_0,10))
    (((high_0*low_0)**0.5)-amount_0/volume_0*adjust_factor_0)
    (rank((amount_0/volume_0*adjust_factor_0-close_0))/rank((amount_0/volume_0*adjust_factor_0+close_0)))
    (ts_rank((volume_0/mean(amount_0,20)),20)*ts_rank((-1*delta(close_0,7)),8))
    (-1*correlation(high_0,rank(volume_0),5))
    (-1*((rank((sum(delay(close_0,5),20)/20))*correlation(close_0,volume_0,2))*rank(correlation(sum(close_0,5),sum(close_0,20),2))))
    where((0.25<(((delay(close_0,20)-delay(close_0,10))/10)-((delay(close_0,10)-close_0)/10))),-1,where(((((delay(close_0,20)-delay(close_0,10))/10)-((delay(close_0,10)-close_0)/10))<0),1,((-1*1)*(close_0-delay(close_0,1)))))
    (((rank((1/close_0))*volume_0)/mean(amount_0,20))*((high_0*rank((high_0-close_0)))/(sum(high_0,5) /5)))-rank((amount_0/volume_0*adjust_factor_0-delay(amount_0/volume_0*adjust_factor_0,5)))
    ((correlation(delta(close_0,1),delta(delay(close_0,1),1),250)*delta(close_0,1))/close_0)/group_mean(industry_sw_level1_0,((correlation(delta(close_0,1),delta(delay(close_0,1),1),250)*delta(close_0,1))/close_0))/sum(((delta(close_0,1)/delay(close_0,1))**2),250)
    where(((((delay(close_0,20)-delay(close_0,10))/10)-((delay(close_0,10)-close_0)/10))<(-1*0.1)),1,(close_0-delay(close_0,1))*(-1))
    (-1*ts_max(rank(correlation(rank(volume_0),rank(amount_0/volume_0*adjust_factor_0),5)),5))
    where((((delay(close_0,20)-delay(close_0,10))/10)-((delay(close_0,10)-close_0)/10))<(-1*0.05),1,-1*(close_0-delay(close_0,1)))
    (((-1*ts_min(low_0,5))+delay(ts_min(low_0,5),5))*rank(((sum(close_0/shift(close_0,1),240)-sum(close_0/shift(close_0,1),20))/220)))*ts_rank(volume_0,5)
    (-1*delta((((close_0-low_0)-(high_0-close_0))/(close_0-low_0)),9))
    ((-1*((low_0-close_0)*(open_0**5)))/((low_0-high_0)*(close_0** 5)))
    -1*correlation(rank(((close_0-ts_min(low_0,12))/(ts_max(high_0,12)-ts_min(low_0,12)))),rank(volume_0),6)
    0-1*(1*(rank((sum(close_0/shift(close_0,1)-1,10)/sum(sum(close_0/shift(close_0,1)-1,2),3)))*rank(((close_0/shift(close_0,1)-1)*market_cap_0))))
    (0-(1*((close_0-amount_0/volume_0*adjust_factor_0)/decay_linear(rank(ts_argmax(close_0,30)),2))))
    (-1*ts_rank(decay_linear(correlation( amount_0/volume_0*adjust_factor_0/group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0),volume_0,4),8),5))
    (0-(1*((2*scale(rank(((((close_0-low_0)-(high_0-close_0))/(high_0-low_0))*volume_0))))-scale(rank(ts_argmax(close_0,10))))))
    (rank((amount_0/volume_0*adjust_factor_0-ts_min(amount_0/volume_0*adjust_factor_0,16)))<rank(correlation(amount_0/volume_0*adjust_factor_0,mean(amount_0,180),18)))
    (rank(correlation(amount_0/volume_0*adjust_factor_0,sum(mean(amount_0,20),22),10))<rank(((rank(open_0)+rank(open_0))<(rank(((high_0+low_0)/2))+rank(high_0)))))*-1
    ((rank(decay_linear(delta(close_0/group_mean(industry_sw_level1_0,close_0),2),8))-rank(decay_linear(correlation(((amount_0/volume_0*adjust_factor_0*0.318108)+(open_0*(1-0.318108))),sum(mean(amount_0,180),37),14),12)))*-1)
    ((rank(correlation(sum(((open_0*0.178404)+(low_0*(1-0.178404))),13),sum(mean(amount_0,20),13),17))<rank(delta(((((high_0+low_0)/2)*0.178404)+(amount_0/volume_0*adjust_factor_0*(1-0.178404))),4)))*-1)
    ((rank(correlation(((open_0*0.00817205)+(amount_0/volume_0*adjust_factor_0*(1-0.00817205))),sum(mean(amount_0,60),9),6))<rank((open_0-ts_min(open_0,14))))*-1)
    ((rank(decay_linear(delta(amount_0/volume_0*adjust_factor_0,4),7))+ts_rank(decay_linear(((((low_0* 0.96633)+(low_0*(1-0.96633)))-amount_0/volume_0*adjust_factor_0)/(open_0-((high_0+low_0)/2))),11),7))*-1)
    ((rank((high_0-ts_min(high_0,2)))**rank(correlation( amount_0/volume_0*adjust_factor_0 /group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0),mean(amount_0,20)/group_mean(industry_sw_level1_0,mean(amount_0,20)),6)))*-1)
    ((ts_rank(correlation(rank(high_0),rank(mean(amount_0,15)),9),14)<rank(delta(((close_0*0.518371)+(low_0*(1-0.518371))),1.06157)))*-1)
    ((rank(ts_max(delta(amount_0/volume_0*adjust_factor_0/group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0),3),5))**ts_rank(correlation(((close_0*0.490655)+(amount_0/volume_0*adjust_factor_0*(1-0.490655))),mean(amount_0,20),5),9))*-1)
    ((rank(delta(amount_0/volume_0*adjust_factor_0,1))**ts_rank(correlation( close_0/group_mean(industry_sw_level1_0,close_0),mean(amount_0,50),18),18))*-1)
    max(ts_rank(decay_linear(correlation(ts_rank(close_0,3),ts_rank(mean(amount_0,180),12),18),4),16),ts_rank(decay_linear((rank(((low_0+open_0)-(amount_0/volume_0*adjust_factor_0 +amount_0/volume_0*adjust_factor_0)))**2),16 ),4))
    (rank(decay_linear(correlation(((high_0+low_0)/2),mean(amount_0,40),9),10)) /rank(decay_linear(correlation(ts_rank(amount_0/volume_0*adjust_factor_0,4),ts_rank(volume_0,19),7),3)))
    (max(rank(decay_linear(delta(amount_0/volume_0*adjust_factor_0,5),3)),ts_rank(decay_linear(((delta(((open_0* 0.147155)+(low_0*(1-0.147155))),2 ) /((open_0* 0.147155)+(low_0*(1-0.147155))))*-1),3),17))*-1)
    (rank(correlation(close_0,sum(mean(amount_0,30),37),15))<rank(correlation(rank(high_0*0.0261661+amount_0/volume_0*adjust_factor_0*(1-0.0261661)),rank(volume_0),11)))*-1
    rank(correlation(amount_0/volume_0*adjust_factor_0,volume_0,4 ))<rank(correlation(rank(low_0),rank(mean(amount_0,50)),12))
    max(rank(decay_linear(delta(amount_0/volume_0*adjust_factor_0,1),12)),ts_rank(decay_linear(ts_rank(correlation( low_0/group_mean(industry_sw_level1_0,low_0),mean(amount_0,81),8 ),20),17),19))*-1
    min(rank(decay_linear(((((high_0+low_0)/2)+high_0)-(amount_0/volume_0*adjust_factor_0+high_0)),20 )),rank(decay_linear(correlation(((high_0+low_0)/2),mean(amount_0,40),3),6)))
    rank(correlation(sum(((low_0*0.352233)+(amount_0/volume_0*adjust_factor_0*(1-0.352233))),20),sum(mean(amount_0,20),20),7))**rank(correlation(rank(amount_0/volume_0*adjust_factor_0),rank(volume_0),6))
    rank(delta((close_0*0.60733+open_0*(1-0.60733))/ group_mean(industry_sw_level1_0,(close_0*0.60733+open_0*(1-0.60733))),1))<rank(correlation(ts_rank(amount_0/volume_0*adjust_factor_0,4),ts_rank(mean(amount_0,150),9),115))
    (rank(sign(delta((open_0*0.868128+high_0*(1-0.868128))/group_mean(industry_sw_level1_0,(open_0*0.868128+high_0*(1-0.868128))),4)))**ts_rank(correlation(high_0,mean(amount_0,10),5),6))*-1
    (rank(log(product(rank((rank(correlation(amount_0/volume_0*adjust_factor_0,sum(mean(amount_0,10),50),8))**4)),15)))<rank(correlation(rank(amount_0/volume_0*adjust_factor_0),rank(volume_0),5)))*-1
    min(rank(decay_linear(delta(open_0,1.46063),15)),ts_rank(decay_linear(correlation( volume_0/group_mean(industry_sw_level1_0,volume_0),((open_0*0.634196) +(open_0*(1-0.634196))),17),7),13))*-1
    (rank(delay(((high_0-low_0)/(sum(close_0,5)/5)),2))*rank(rank(volume_0)))/(((high_0-low_0)/(sum(close_0,5)/5))/(amount_0/volume_0*adjust_factor_0-close_0))
    signedpower(ts_rank((amount_0/volume_0*adjust_factor_0-ts_max(amount_0/volume_0*adjust_factor_0,15)),20),delta(close_0,5))
    rank(correlation(((high_0*0.876703)+(close_0*(1-0.876703))),mean(amount_0,30),10))**rank(correlation(ts_rank(((high_0+low_0)/2),4),ts_rank(volume_0,10),7))
    (ts_rank(correlation(close_0,sum(mean(amount_0,20),15),6),20)<rank(((open_0+close_0)-(amount_0/volume_0*adjust_factor_0+open_0))))*-1
    max(rank(decay_linear(delta(((close_0*0.369701)+(amount_0/volume_0*adjust_factor_0*(1-0.369701))),2),3)),ts_rank(decay_linear(abs(correlation( mean(amount_0,81) /group_mean(industry_sw_level1_0,mean(amount_0,81)) ,close_0,14)),5),14))*-1
    min(rank(decay_linear(((rank(open_0)+rank(low_0))-(rank(high_0)+rank(close_0))),8)),ts_rank(decay_linear(correlation(ts_rank(close_0,8),ts_rank(mean(amount_0,60),21),8),7),3))
    ts_rank(decay_linear(correlation(((low_0*0.967285)+(low_0*(1-0.967285))),mean(amount_0,10),7),6),4)-ts_rank(decay_linear(delta( amount_0/volume_0*adjust_factor_0/group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0),3),10),15)
    (rank((close_0-ts_max(close_0,5)))**ts_rank(correlation(mean(amount_0,40)/group_mean(industry_sw_level1_0,mean(amount_0,40)),low_0,5),3))*-1
    (ts_rank(decay_linear(decay_linear(correlation(close_0/group_mean(industry_sw_level1_0,close_0),volume_0,10),16),4),5)-rank(decay_linear(correlation(amount_0/volume_0*adjust_factor_0,mean(amount_0,30),4),3)))*-1
    min(ts_rank(decay_linear(((((high_0+low_0)/2)+close_0)<(low_0+open_0)),15),19),ts_rank(decay_linear(correlation(rank(low_0),rank(mean(amount_0,30)),8),7),7))' 'ts_rank(decay_linear(correlation((amount_0/volume_0*adjust_factor_0)/group_mean(industry_sw_level1_0,amount_0/volume_0*adjust_factor_0) ,mean(amount_0,81),17),20),8)/rank(decay_linear(delta(((close_0*0.524434)+(amount_0/volume_0*adjust_factor_0*(1-0.524434))),3),16))
    (rank((amount_0/volume_0*adjust_factor_0-ts_min(amount_0/volume_0*adjust_factor_0,12)))**ts_rank(correlation(ts_rank(amount_0/volume_0*adjust_factor_0,20),ts_rank(mean(amount_0,60),4),18),3))*-1
    rank((open_0-ts_min(open_0,12)))<ts_rank((rank(correlation(sum(((high_0+low_0)/ 2),19),sum(mean(amount_0,40),19),13))**5),12)
    max(ts_rank(decay_linear(correlation(rank(amount_0/volume_0*adjust_factor_0),rank(volume_0),4),4),8),ts_rank(decay_linear(ts_argmax(correlation(ts_rank(close_0,7),ts_rank(mean(amount_0,60),4),4),13),14),13))*-1
    (rank(decay_linear(delta(((low_0*0.721001)+(amount_0/volume_0*adjust_factor_0*(1-0.721001)))/group_mean(industry_sw_level1_0,(low_0*0.721001)+(amount_0/volume_0*adjust_factor_0*(1-0.721001))),3),20)) -ts_rank(decay_linear(ts_rank(correlation(ts_rank(low_0,8),ts_rank(mean(amount_0,60),17),5),16),16),7))*-1''rank(decay_linear(correlation(amount_0/volume_0*adjust_factor_0,sum(mean(amount_0,5),26),5),7))-rank(decay_linear(ts_rank(ts_argmin(correlation(rank(open_0),rank(mean(amount_0,15)),21),9),7),8))
    (rank(correlation(sum(((high_0+low_0)/2),20),sum(mean(amount_0,60),20),9)) <rank(correlation(low_0,volume_0,6)))*-1
    -1*(((1.5*scale(rank(((((close_0-low_0)-(high_0-close_0))/(high_0-low_0))*volume_0))/group_mean(industry_sw_level2_0,rank(((((close_0-low_0)-(high_0-close_0))/(high_0-low_0))*volume_0)))))-scale((correlation(close_0,rank(mean(amount_0,20)),5)-rank(ts_argmin(close_0,30)))/group_mean(industry_sw_level2_0,(correlation(close_0,rank(mean(amount_0,20)),5)-rank(ts_argmin(close_0,30))))))*(volume_0/mean(amount_0,20)))
    """
    )
    
    m2 = M.features_add.v1(
        input_1=m1.data,
        input_2=m3.data
    )
    
    m4 = M.instruments.v2(
        start_date='2018-01-01',
        end_date='2020-01-01',
        market='CN_STOCK_A',
        instrument_list='',
        max_count=0
    )
    
    m5 = M.general_feature_extractor.v7(
        instruments=m4.data,
        features=m2.data_1,
        start_date='',
        end_date='',
        before_start_days=200
    )
    
    m6 = M.derived_feature_extractor.v3(
        input_data=m5.data,
        features=m2.data_1,
        date_col='date',
        instrument_col='instrument',
        drop_na=False,
        remove_extra_columns=False,
        user_functions={}
    )
    
    m7 = M.renamefactors.v1(
    
    )
    
    Traceback (most recent call last):
    
      File "/usr/local/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2862, in run_code
        exec(code_obj, self.user_global_ns, self.user_ns)
    
      File "<ipython-input-15-96a1bb9ec64a>", line 870, in <module>
        before_start_days=200
    
      File "module2/common/modulemanagerv2.py", line 87, in biglearning.module2.common.modulemanagerv2.BigQuantModuleVersion.__call__
    
      File "module2/common/moduleinvoker.py", line 281, in biglearning.module2.common.moduleinvoker.module_invoke
    
      File "module2/modules/general_feature_extractor/v7/__init__.py", line 100, in biglearning.module2.modules.general_feature_extractor.v7.__init__.bigquant_cache_key
    
      File "impl/expression.py", line 376, in bigexpr.impl.expression.extract_variables
    
      File "/usr/lib64/python3.6/ast.py", line 35, in parse
        return compile(source, filename, mode, PyCF_ONLY_AST)
    
      File "<unknown>", line 1
        where(sum(close_0,8)/8+stddev(close_0,8)<sum(close_0,2)/2,-1,where(mean(close_0,2)<mean(close_0,8)-std(close_0,8),1,where((1<volume_0/mean(amount_0,20)) | (volume_0/mean(amount_0,20)
                                                                                                                                                                                              ^
    SyntaxError: unexpected EOF while parsing
    
    In [ ]:
    m2.data_1.read()
    
    In [ ]:
    where(sum(close_0,8)/8+stddev(close_0,8)<sum(close_0,2)/2,-1,where(mean(close_0,2)<mean(close_0,8)-std(close_0,8),1,where((1<volume_0/mean(amount_0,20)) | (volume_0/mean(amount_0,20)==1),1,-1)))
    

    (达达) #2

    使用别名处理一下

    factor1=where(sum(close_0,8)/8+stddev(close_0,8)<sum(close_0,2)/2,-1,where(mean(close_0,2)<mean(close_0,8)-std(close_0,8),1,where((1<volume_0/mean(amount_0,20))|(volume_0/mean(amount_0,20)==1),1,-1)))