import os import argparse import importlib.util import pandas as pd def run_strategy(file_path, output_dir): spec = importlib.util.spec_from_file_location("strategy", file_path) strategy = importlib.util.module_from_spec(spec) spec.loader.exec_module(strategy) results = strategy.run() output_file = os.path.join(output_dir, os.path.basename(file_path).replace('.py', '_results.csv')) results.to_csv(output_file, index=False) print(f"Backtest results saved to {output_file}") def main(): parser = argparse.ArgumentParser() parser.add_argument("--strategy", required=True) parser.add_argument("--output", required=True) args = parser.parse_args() os.makedirs(args.output, exist_ok=True) for file in os.listdir(args.strategy): if file.endswith(".py"): run_strategy(os.path.join(args.strategy, file), args.output) if __name__ == "__main__": main()