running_avg_volume_period=running_avg_volume_period, index_candidate_size=candidates, primary_candidate_size=primary_candidate, secondary_candidate_size=secondary_candidate, initial_funds=1000, offset=offset, start_dt=start_dt, end_dt=end_dt) # use previously calculated data to save initialization time if data_by_coin is None: bci.set_input_data(input_data) else: bci.data = data bci.dates = dates bci.data_by_coin = data_by_coin [dates, baseline_values, index_values, fees] = bci.run() results.append([dates, index_values, fees, baseline_values, label]) if data_by_coin is None: data = bci.data dates = bci.dates data_by_coin = bci.data_by_coin except Exception as e: LOG.debug(e) LOG.info(f"Best performing index configurations:") for data in sorted(results, key=lambda x: x[1][-1], reverse=True): LOG.info( f"{data[4]}:{data[1][-1]:.2f}:{data[3][-1]:.2f}:{data[2]:.2f}")