Closed fishstoryyy closed 3 years ago
Hi,
First of all, really appreciate the work you guys have been doing out there! Lean CLI is such a great tool.
When trying to run backtest locally though, I am getting the following error:
$ lean backtest "My Python Project" --verbose Running 'quantconnect/lean:latest' with the following configuration: {'entrypoint': ['dotnet', 'QuantConnect.Lean.Launcher.dll'], 'mounts': [{'ReadOnly': True, 'Source': '/var/folders/62/8jhxvq556zz_nj_x_d_8k9tr0000gn/T/tmpea7ns7dl/config.json', 'Target': '/Lean/Launcher/bin/Debug/config.json', 'Type': 'bind'}], 'ports': {}, 'volumes': {'/Users/alex/Documents/lean/My Python Project': {'bind': '/LeanCLI', 'mode': 'ro'}, '/Users/alex/Documents/lean/My Python Project/backtests/2021-05-16_01-46-37': {'bind': '/Results', 'mode': 'rw'}, '/Users/alex/Documents/lean/My Python Project/storage': {'bind': '/Storage', 'm ode': 'rw'}, '/Users/alex/Documents/lean/data': {'bind': '/Lean/Data', 'mode': 'rw'}}} 20210516 05:46:39.325 TRACE:: Config.GetValue(): debug-mode - Using default value: False 20210516 05:46:39.334 TRACE:: Config.Get(): Configuration key not found. Key: plugin-directory - Using default value: 20210516 05:46:39.553 TRACE:: Python for .NET Assembly: Python.Runtime, Version=2.0.1.0, Culture=neutral, PublicKeyToken=5000fea6cba702dd 20210516 05:46:39.578 TRACE:: Python for .NET Assembly: nPython, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null 20210516 05:46:39.810 TRACE:: Config.Get(): Configuration key not found. Key: data-directory - Using default value: ../../../Data/ 20210516 05:46:39.822 TRACE:: Config.Get(): Configuration key not found. Key: version-id - Using default value: 20210516 05:46:39.830 TRACE:: Config.Get(): Configuration key not found. Key: cache-location - Using default value: /Lean/Data 20210516 05:46:39.834 TRACE:: Engine.Main(): LEAN ALGORITHMIC TRADING ENGINE v2.5.0.0 Mode: DEBUG (64bit) 20210516 05:46:39.851 TRACE:: Engine.Main(): Started 5:46 AM 20210516 05:46:39.864 TRACE:: Config.Get(): Configuration key not found. Key: lean-manager-type - Using default value: LocalLeanManager 20210516 05:46:40.000 TRACE:: JobQueue.NextJob(): Selected /LeanCLI/main.py 20210516 05:46:40.401 TRACE:: Config.GetValue(): scheduled-event-leaky-bucket-capacity - Using default value: 120 20210516 05:46:40.413 TRACE:: Config.GetValue(): scheduled-event-leaky-bucket-time-interval-minutes - Using default value: 1440 20210516 05:46:40.419 TRACE:: Config.GetValue(): scheduled-event-leaky-bucket-refill-amount - Using default value: 18 20210516 05:46:40.431 TRACE:: Config.Get(): Configuration key not found. Key: algorithm-id - Using default value: main 20210516 05:46:40.447 TRACE:: Config.GetValue(): job-project-id - Using default value: 0 20210516 05:46:40.455 TRACE:: Config.Get(): Configuration key not found. Key: data-permission-manager - Using default value: DataPermissionManager 20210516 05:46:40.517 TRACE:: AlgorithmManager.CreateTokenBucket(): Initializing LeakyBucket: Capacity: 120 RefillAmount: 18 TimeInterval: 1440 20210516 05:46:40.540 TRACE:: Config.GetValue(): algorithm-manager-time-loop-maximum - Using default value: 20 20210516 05:46:40.601 TRACE:: TextSubscriptionDataSourceReader.SetCacheSize(): Setting cache size to 71582788 items 20210516 05:46:41.617 TRACE:: Config.GetValue(): algorithm-creation-timeout - Using default value: 90 20210516 05:46:41.629 TRACE:: PythonInitializer.Initialize(): start... PythonEngine.Initialize(): Runtime.Initialize()... Runtime.Initialize(): Py_Initialize... Runtime.Initialize(): PyEval_InitThreads... Runtime.Initialize(): Initialize types... Runtime.Initialize(): Initialize types end. Runtime.Initialize(): AssemblyManager.Initialize()... Runtime.Initialize(): AssemblyManager.UpdatePath()... PythonEngine.Initialize(): GetCLRModule()... PythonEngine.Initialize(): clr GetManifestResourceStream... 20210516 05:46:46.004 TRACE:: PythonInitializer.Initialize(): ended 20210516 05:46:46.016 TRACE:: AlgorithmPythonWrapper(): Python version 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:25:33) [GCC 7.3.0]: Importing python module main 20210516 05:46:46.420 ERROR:: Loader.TryCreatePythonAlgorithm(): System.Exception: AlgorithmPythonWrapper(): SyntaxError : invalid syntax (main.py, line 4) SyntaxError : invalid syntax (main.py, line 4) at QuantConnect.AlgorithmFactory.Python.Wrappers.AlgorithmPythonWrapper..ctor(St ring moduleName) in /LeanCloud/CI.Builder/bin/Debug/src/QuantConnect/Lean/Algori thmFactory/Python/Wrappers/AlgorithmPythonWrapper.cs:line 146 at QuantConnect.AlgorithmFactory.Loader.TryCreatePythonAlgorithm(String assemblyPath, IAlgorithm& algorithmInstance, String& errorMessage) in /LeanCloud /CI.Builder/bin/Debug/src/QuantConnect/Lean/AlgorithmFactory/Loader.cs:line 173 20210516 05:46:46.428 ERROR:: Engine.Run(): QuantConnect.Lean.Engine.Setup.AlgorithmSetupException: During the algorithm initialization, the following exception has occurred: Loader.TryCreatePythonAlgorithm(): Unable to import python module /LeanCLI/main.py. AlgorithmPythonWrapper(): SyntaxError : invalid syntax (main.py, line 4) SyntaxError : invalid syntax (main.py, line 4) at QuantConnect.Lean.Engine.Setup.BacktestingSetupHandler.CreateAlgorithmInstanc e(AlgorithmNodePacket algorithmNodePacket, String assemblyPath) in /LeanCloud/CI .Builder/bin/Debug/src/QuantConnect/Lean/Engine/Setup/BacktestingSetupHandler.cs :line 104 at QuantConnect.Lean.Engine.Engine.Run(AlgorithmNodePacket job, AlgorithmManager manager, String assemblyPath, WorkerThread workerThread) in /LeanCloud/CI.Builder/bin/Debug/src/QuantConnect/Lean/Engine/Engine.cs:line 119 20210516 05:46:46.432 TRACE:: JOB HANDLERS: 20210516 05:46:46.437 TRACE:: DataFeed: QuantConnect.Lean.Engine.DataFeeds.FileSystemDataFeed 20210516 05:46:46.440 TRACE:: Setup: QuantConnect.Lean.Engine.Setup.ConsoleSetupHandler 20210516 05:46:46.442 TRACE:: RealTime: QuantConnect.Lean.Engine.RealTime.BacktestingRealTimeHandler 20210516 05:46:46.444 TRACE:: Results: QuantConnect.Lean.Engine.Results.BacktestingResultHandler 20210516 05:46:46.446 TRACE:: Transactions: QuantConnect.Lean.Engine.TransactionHandlers.BacktestingTransactionHandler 20210516 05:46:46.457 ERROR:: Algorithm.Initialize() Error: During the algorithm initialization, the following exception has occurred: Loader.TryCreatePythonAlgorithm(): Unable to import python module /LeanCLI/main.py. AlgorithmPythonWrapper(): SyntaxError : invalid syntax (main.py, line 4) SyntaxError : invalid syntax (main.py, line 4) Stack Trace: During the algorithm initialization, the following exception has occurred: Loader.TryCreatePythonAlgorithm(): Unable to import python module /LeanCLI/main.py. AlgorithmPythonWrapper(): SyntaxError : invalid syntax (main.py, line 4) SyntaxError : invalid syntax (main.py, line 4) During the algorithm initialization, the following exception has occurred: Loader.TryCreatePythonAlgorithm(): Unable to import python module /LeanCLI/main.py. AlgorithmPythonWrapper(): SyntaxError : invalid syntax (main.py, line 4) SyntaxError : invalid syntax (main.py, line 4) 20210516 05:46:46.462 TRACE:: Alpha: QuantConnect.Lean.Engine.Alphas.DefaultAlphaHandler 20210516 05:46:46.466 TRACE:: ObjectStore: QuantConnect.Lean.Engine.Storage.LocalObjectStore 20210516 05:46:46.473 TRACE:: DefaultAlphaHandler.Exit(): Exiting... 20210516 05:46:46.480 TRACE:: DefaultAlphaHandler.Exit(): Ended 20210516 05:46:46.482 TRACE:: BacktestingResultHandler.Exit(): starting... 20210516 05:46:46.486 TRACE:: BacktestingResultHandler.Exit(): Saving logs... 20210516 05:46:46.510 TRACE:: Debug: Your log was successfully created and can be retrieved from: /Results/main-log.txt 20210516 05:46:46.512 TRACE:: BacktestingResultHandler.Run(): Ending Thread... 20210516 05:46:46.512 TRACE:: StopSafely(): waiting for 'Result Thread' thread to stop... 20210516 05:46:46.683 TRACE:: Config.GetValue(): regression-update-statistics - Using default value: False 20210516 05:46:46.688 TRACE:: STATISTICS:: Fitness Score 0 STATISTICS:: Kelly Criterion Estimate 0 STATISTICS:: Kelly Criterion Probability Value 0 STATISTICS:: Sortino Ratio 0 STATISTICS:: Return Over Maximum Drawdown 0 STATISTICS:: Portfolio Turnover 0 STATISTICS:: Total Insights Generated 0 STATISTICS:: Total Insights Closed 0 STATISTICS:: Total Insights Analysis Completed 0 STATISTICS:: Long Insight Count 0 STATISTICS:: Short Insight Count 0 STATISTICS:: Long/Short Ratio 100% STATISTICS:: Estimated Monthly Alpha Value $0 STATISTICS:: Total Accumulated Estimated Alpha Value $0 STATISTICS:: Mean Population Estimated Insight Value $0 STATISTICS:: Mean Population Direction 0% STATISTICS:: Mean Population Magnitude 0% STATISTICS:: Rolling Averaged Population Direction 0% STATISTICS:: Rolling Averaged Population Magnitude 0% STATISTICS:: OrderListHash d41d8cd98f00b204e9800998ecf8427e 20210516 05:46:46.692 TRACE:: BacktestingResultHandler.SendAnalysisResult(): Processed final packet 20210516 05:46:46.699 TRACE:: Engine.Run(): Disposing of setup handler... 20210516 05:46:46.710 TRACE:: Engine.Main(): Analysis Completed and Results Posted. Engine.Main(): Analysis Complete. 20210516 05:46:46.715 TRACE:: Engine.Main(): Packet removed from queue: main 20210516 05:46:46.717 TRACE:: LeanEngineSystemHandlers.Dispose(): start... 20210516 05:46:46.719 TRACE:: LeanEngineSystemHandlers.Dispose(): Disposed of system handlers. 20210516 05:46:46.721 TRACE:: LeanEngineAlgorithmHandlers.Dispose(): start... 20210516 05:46:46.724 TRACE:: LeanEngineAlgorithmHandlers.Dispose(): Disposed of algorithm handlers. 20210516 05:46:46.729 TRACE:: Program.Main(): Exiting Lean... Traceback (most recent call last): File "/Users/alex/opt/anaconda3/envs/lean/lib/python3.6/site-packages/ lean/main.py", line 30, in main lean.main(standalone_mode=False) File "/Users/alex/opt/anaconda3/envs/lean/lib/python3.6/site-packages/ click/core.py", line 782, in main rv = self.invoke(ctx) File "/Users/alex/opt/anaconda3/envs/lean/lib/python3.6/site-packages/ click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/Users/alex/opt/anaconda3/envs/lean/lib/python3.6/site-packages/ lean/click.py", line 80, in invoke result = super().invoke(ctx) File "/Users/alex/opt/anaconda3/envs/lean/lib/python3.6/site-packages/ click/core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "/Users/alex/opt/anaconda3/envs/lean/lib/python3.6/site-packages/ click/core.py", line 610, in invoke return callback(*args, **kwargs) File "/Users/alex/opt/anaconda3/envs/lean/lib/python3.6/site-packages/ lean/commands/backtest.py", line 201, in backtest lean_runner.run_lean("backtesting", algorithm_file, output, engine_image, debugging_method) File "/Users/alex/opt/anaconda3/envs/lean/lib/python3.6/site-packages/ lean/components/docker/lean_runner.py", line 110, in run_lean f"Something went wrong while running '{relative_project_dir}' in the '{environment}' environment, the output is stored in '{relative_output_dir}'") RuntimeError: Something went wrong while running 'My Python Project' in the 'backtesting' environment, the output is stored in 'My Python Project/backtests/2021-05-16_01-46-37' Error: Something went wrong while running 'My Python Project' in the 'backtesting' environment, the output is stored in 'My Python Project/backtests/2021-05-16_01-46-37'
Can someone please help?
It looks like the error is due to the import lines that are needed for autocompletion. Removing those import lines solved the issue.
Hi,
First of all, really appreciate the work you guys have been doing out there! Lean CLI is such a great tool.
When trying to run backtest locally though, I am getting the following error:
Can someone please help?