def test_livetrade(): props = {'symbol': 'rb1801.SHF', 'strategy_no': 46} tapi = RealTimeTradeApi(trade_config) ins = EventLiveTradeInstance() props.update(data_config) props.update(trade_config) ds = RemoteDataService() strat = DoubleMaStrategy() pm = PortfolioManager() context = model.Context(data_api=ds, trade_api=tapi, instance=ins, strategy=strat, pm=pm) ins.init_from_config(props) ds.subscribe(props['symbol']) ins.run() time.sleep(3) ins.stop() ins.save_results(result_dir_path) do_analyze()
def run_strategy(): ''' universe可以自己定义吗,就是从我筛选的一组股票里面挑选 把universe改成symbol,然后值设置成一系列代码的字符串,用逗号隔开 :return: ''' if is_backtest: """ 回测模式 """ props = { "symbol": '600519.SH', # "symbol": '002050.SZ', # "benchmark": '002050.SZ', "benchmark": '000300.SH', "start_date": 20170101, "end_date": 20171219, "fast_ma_length": 3, "slow_ma_length": 8, "live_ma_length": 34, "bar_type": "1d", # '1d' "init_balance": 50000} tapi = BacktestTradeApi() ins = EventBacktestInstance() else: """ 实盘/仿真模式 """ props = {'symbol': '600519.SH', "fast_ma_length": 3, "slow_ma_length": 5, "live_ma_length": 34, 'strategy.no': 1062} tapi = RealTimeTradeApi(trade_config) ins = EventLiveTradeInstance() props.update(data_config) props.update(trade_config) ds = RemoteDataService() strat = TripleMaStrategy() pm = PortfolioManager() context = model.Context(data_api=ds, trade_api=tapi, instance=ins, strategy=strat, pm=pm) ins.init_from_config(props) if not is_backtest: ds.subscribe(props['symbol']) ins.run() if not is_backtest: time.sleep(9999) ins.save_results(folder_path=result_dir_path)
def run_strategy(): if is_backtest: """ 回测模式 """ props = { "symbol": '600519.SH', "start_date": 20170101, "end_date": 20171104, "fast_ma_length": 5, "slow_ma_length": 15, "bar_type": "1d", # '1d' "init_balance": 50000 } tapi = BacktestTradeApi() ins = EventBacktestInstance() else: """ 实盘/仿真模式 """ props = { 'symbol': '600519.SH', "fast_ma_length": 5, "slow_ma_length": 15, 'strategy.no': 1062 } tapi = RealTimeTradeApi(trade_config) ins = EventLiveTradeInstance() props.update(data_config) props.update(trade_config) ds = RemoteDataService() strat = DoubleMaStrategy() pm = PortfolioManager() context = model.Context(data_api=ds, trade_api=tapi, instance=ins, strategy=strat, pm=pm) ins.init_from_config(props) if not is_backtest: ds.subscribe(props['symbol']) ins.run() if not is_backtest: time.sleep(9999) ins.save_results(folder_path=result_dir_path)
def run_strategy(): if is_backtest: """ 回测模式 """ props = {"symbol": '600519.SH', "start_date": 20170101, "end_date": 20171104, "fast_ma_length": 5, "slow_ma_length": 15, "bar_type": "1d", # '1d' "init_balance": 50000} tapi = BacktestTradeApi() ins = EventBacktestInstance() else: """ 实盘/仿真模式 """ props = {'symbol': '600519.SH', "fast_ma_length": 5, "slow_ma_length": 15, 'strategy.no': 1062} tapi = RealTimeTradeApi(trade_config) ins = EventLiveTradeInstance() props.update(data_config) props.update(trade_config) ds = RemoteDataService() strat = DoubleMaStrategy() pm = PortfolioManager() context = model.Context(data_api=ds, trade_api=tapi, instance=ins, strategy=strat, pm=pm) ins.init_from_config(props) if not is_backtest: ds.subscribe(props['symbol']) ins.run() if not is_backtest: time.sleep(9999) ins.save_results(folder_path=result_dir_path)
def run_strategy(): if is_backtest: props = { "symbol": "rb1710.SHF", "start_date": 20170510, "end_date": 20170930, "bar_type": "1M", # '1d' "init_balance": 2e4 } tapi = BacktestTradeApi() ins = EventBacktestInstance() else: props = {'symbol': 'rb1801.SHF', 'strategy.no': 46} tapi = RealTimeTradeApi(trade_config) ins = EventLiveTradeInstance() props.update(data_config) props.update(trade_config) ds = RemoteDataService() strat = DoubleMaStrategy() pm = PortfolioManager() context = model.Context(data_api=ds, trade_api=tapi, instance=ins, strategy=strat, pm=pm) ins.init_from_config(props) if not is_backtest: ds.subscribe(props['symbol']) ins.run() if not is_backtest: time.sleep(9999) ins.save_results(folder_path=result_dir_path)
def test_livetrade(): props = {'symbol': 'rb1801.SHF', 'strategy_no': 1044} tapi = RealTimeTradeApi(trade_config) ins = EventLiveTradeInstance() props.update(data_config) props.update(trade_config) ds = RemoteDataService() strat = DoubleMaStrategy() pm = PortfolioManager() context = model.Context(data_api=ds, trade_api=tapi, instance=ins, strategy=strat, pm=pm) ins.init_from_config(props) ds.subscribe(props['symbol']) ins.run() time.sleep(3) ins.stop() ins.save_results(result_dir_path) do_analyze()
def run_strategy(): if is_backtest: """ 回测模式 """ ds = RemoteDataService() ds.init_from_config(data_config) symbol_list = ds.query_index_member(index, start_date, end_date) # symbol_list = ['600887.SH'] # symbol_list = sample(symbol_list, 20) print(symbol_list) # add the benchmark index to the last position of symbol_list symbol_list.append(index) props = {"symbol": ','.join(symbol_list), "holding_Count": 15, "start_date": start_date, "end_date": end_date, "bar_type": "1d", # '1d' "init_balance": 300000, "commission_rate": 2E-4} tapi = BacktestTradeApi() ins = EventBacktestInstance() else: """ 实盘/仿真模式 """ props = {'symbol': '600519.SH', "fast_ma_length": 5, "slow_ma_length": 15, 'strategy.no': 1062} tapi = RealTimeTradeApi(trade_config) ins = EventLiveTradeInstance() props.update(data_config) props.update(trade_config) ds = RemoteDataService() strat = RNNStrategy() pm = PortfolioManager() context = model.Context(data_api=ds, trade_api=tapi, instance=ins, strategy=strat, pm=pm) ins.init_from_config(props) if not is_backtest: ds.subscribe(props['symbol']) ins.run() if not is_backtest: time.sleep(9999) ins.save_results(folder_path=result_dir_path) ta = ana.EventAnalyzer() ds = RemoteDataService() ds.init_from_config(data_config) ta.initialize(data_server_=ds, file_folder=result_dir_path) df_bench, _ = ds.daily(index, start_date=start_date, end_date=end_date) ta.data_benchmark = df_bench.set_index('trade_date').loc[:, ['close']] temp = pd.read_csv(result_dir_path + '/trades.csv') symbols = set(temp['symbol'].unique()) print(symbols) ta.do_analyze(result_dir=result_dir_path, selected_sec=list(symbols))