import time import sys import os sys.path.insert(0, os.path.abspath('.')) from core_engine import PortfolioPipeline def run_bench(): overrides = { 'universe': ["AAPL", "MSFT", "GOOGL"], 'capital': 100000, 'risk_input': 5, 'model': 1, 'allocation_engine': 1 } t0 = time.time() pipeline = PortfolioPipeline(overrides=overrides) pipeline.cfg['_serve'] = False print(f"Init: {time.time()-t0:.2f}s") t1 = time.time() pipeline.load_data() print(f"load_data: {time.time()-t1:.2f}s") t2 = time.time() val_bundle = pipeline.run_validation() print(f"run_validation: {time.time()-t2:.2f}s") t3 = time.time() opt_bundle = pipeline.optimize() print(f"optimize: {time.time()-t3:.2f}s") t4 = time.time() pipeline.generate_reports(val_bundle, opt_bundle) print(f"generate_reports: {time.time()-t4:.2f}s") print(f"Total: {time.time()-t0:.2f}s") if __name__ == '__main__': run_bench()