Skip to content

Parameter Optimization Example Error #1260

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
kbs-code opened this issue Apr 7, 2025 · 0 comments
Open

Parameter Optimization Example Error #1260

kbs-code opened this issue Apr 7, 2025 · 0 comments

Comments

@kbs-code
Copy link

kbs-code commented Apr 7, 2025

I'm attempting to run this code:

from backtesting import Strategy, Backtest
from backtesting.lib import crossover
from backtesting.test import SMA, GOOG

class Sma4Cross(Strategy):
    n1 = 50
    n2 = 100
    n_enter = 20
    n_exit = 10
    
    def init(self):
        self.sma1 = self.I(SMA, self.data.Close, self.n1)
        self.sma2 = self.I(SMA, self.data.Close, self.n2)
        self.sma_enter = self.I(SMA, self.data.Close, self.n_enter)
        self.sma_exit = self.I(SMA, self.data.Close, self.n_exit)
        
    def next(self):
        
        if not self.position:
            
            # On upwards trend, if price closes above
            # "entry" MA, go long
            
            # Here, even though the operands are arrays, this
            # works by implicitly comparing the two last values
            if self.sma1 > self.sma2:
                if crossover(self.data.Close, self.sma_enter):
                    self.buy()
                    
            # On downwards trend, if price closes below
            # "entry" MA, go short
            
            else:
                if crossover(self.sma_enter, self.data.Close):
                    self.sell()
        
        # But if we already hold a position and the price
        # closes back below (above) "exit" MA, close the position
        
        else:
            if (self.position.is_long and
                crossover(self.sma_exit, self.data.Close)
                or
                self.position.is_short and
                crossover(self.data.Close, self.sma_exit)):
                
                self.position.close()

backtest = Backtest(GOOG, Sma4Cross, commission=.002)

stats, heatmap = backtest.optimize(
    n1=range(10, 110, 10),
    n2=range(20, 210, 20),
    n_enter=range(15, 35, 5),
    n_exit=range(10, 25, 5),
    constraint=lambda p: p.n_exit < p.n_enter < p.n1 < p.n2,
    maximize='Equity Final [$]',
    max_tries=200,
    meyhod='sambo',
    random_state=0,
    return_heatmap=True)

print(stats)

Environment:
Windows 11
Powershell
Conda environment
Python 3.12.9

Error:

Traceback (most recent call last):
Traceback (most recent call last):
  File "<string>", line 1, in <module>
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
  File "<string>", line 1, in <module>
Traceback (most recent call last):
Traceback (most recent call last):
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
  File "<string>", line 1, in <module>
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <module>
Traceback (most recent call last):
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <module>
    exitcode = _main(fd, parent_sentinel)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
  File "<string>", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
    exitcode = _main(fd, parent_sentinel)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
    exitcode = _main(fd, parent_sentinel)
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
    exitcode = _main(fd, parent_sentinel)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
    prepare(preparation_data)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
    prepare(preparation_data)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
    _fixup_main_from_path(data['init_main_from_path'])
    prepare(preparation_data)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
    prepare(preparation_data)
    prepare(preparation_data)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
    prepare(preparation_data)
    prepare(preparation_data)
    prepare(preparation_data)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
    prepare(preparation_data)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
    prepare(preparation_data)
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
    _fixup_main_from_path(data['init_main_from_path'])
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
    prepare(preparation_data)
  File "<frozen runpy>", line 287, in run_path
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
    main_content = runpy.run_path(main_path,
    main_content = runpy.run_path(main_path,
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
    _fixup_main_from_path(data['init_main_from_path'])
    _fixup_main_from_path(data['init_main_from_path'])
  File "<frozen runpy>", line 98, in _run_module_code
    main_content = runpy.run_path(main_path,
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
    main_content = runpy.run_path(main_path,
    _fixup_main_from_path(data['init_main_from_path'])
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
  File "<frozen runpy>", line 88, in _run_code
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
    main_content = runpy.run_path(main_path,
    main_content = runpy.run_path(main_path,
  File "<frozen runpy>", line 287, in run_path
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
  File "<frozen runpy>", line 287, in run_path
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 287, in run_path
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 98, in _run_module_code
    from backtesting import Strategy, Backtest
    main_content = runpy.run_path(main_path,
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 88, in _run_code
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 98, in _run_module_code
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
  File "<frozen runpy>", line 88, in _run_code
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 88, in _run_code
  File "<frozen runpy>", line 88, in _run_code
    from . import lib  # noqa: F401
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
    from backtesting import Strategy, Backtest
    from backtesting import Strategy, Backtest
    from backtesting import Strategy, Backtest
  File "<frozen runpy>", line 98, in _run_module_code
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
    from backtesting import Strategy, Backtest
    from backtesting import Strategy, Backtest
    ^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
    from backtesting import Strategy, Backtest
    from backtesting import Strategy, Backtest
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
    from backtesting import Strategy, Backtest
    from . import lib  # noqa: F401
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 1, in <module>
    from . import lib  # noqa: F401
    from backtesting import Strategy, Backtest
    from . import lib  # noqa: F401
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
    from . import lib  # noqa: F401
    ^^^^^^^^^^^^^^^^^
    ^^^^^^^^^^^^^^^^^
    from . import lib  # noqa: F401
    from . import lib  # noqa: F401
    ^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
    ^^^^^^^^^^^^^^^^^
    from backtesting import Strategy, Backtest
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
    import pandas as pd
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
    ^^^^^^^^^^^^^^^^^
    ^^^^^^^^^^^^^^^^^
    from . import lib  # noqa: F401
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\__init__.py", line 68, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
    from . import lib  # noqa: F401
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
    import pandas as pd
    from . import lib  # noqa: F401
    ^^^^^^^^^^^^^^^^^
    import pandas as pd
    import pandas as pd
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
    ^^^^^^^^^^^^^^^^^
    from . import lib  # noqa: F401
    ^^^^^^^^^^^^^^^^^
    ^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
    import pandas as pd
    import pandas as pd
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 26, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
    import pandas as pd
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\lib.py", line 25, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
    import pandas as pd
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
    import pandas as pd
    import pandas as pd
    import pandas as pd
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\__init__.py", line 49, in <module>
    from pandas.core.api import (
    from pandas.core.api import (
    from pandas.core.api import (
    from pandas.core.api import (
    from pandas.core.api import (
    from pandas.compat import (
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
    from pandas.core.api import (
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
    from pandas.core.api import (
    from pandas.core.api import (
    from pandas.core.api import (
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
    from pandas.core.api import (
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\compat\__init__.py", line 27, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\api.py", line 28, in <module>
    from pandas.core.arrays import Categorical
    from pandas.core.arrays import Categorical
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
    from pandas.core.arrays import Categorical
    from pandas.core.arrays import Categorical
    from pandas.core.arrays import Categorical
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
    from pandas.core.arrays import Categorical
    from pandas.core.arrays import Categorical
    from pandas.core.arrays import Categorical
    from pandas.core.arrays import Categorical
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
    from pandas.core.arrays import Categorical
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
    from pandas.compat.pyarrow import (
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\compat\pyarrow.py", line 8, in <module>
    from pandas.core.arrays.arrow import ArrowExtensionArray
    from pandas.core.arrays.arrow import ArrowExtensionArray
    from pandas.core.arrays.arrow import ArrowExtensionArray
    from pandas.core.arrays.arrow import ArrowExtensionArray
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 5, in <module>
    from pandas.core.arrays.arrow import ArrowExtensionArray
    from pandas.core.arrays.arrow import ArrowExtensionArray
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 5, in <module>
    from pandas.core.arrays.arrow import ArrowExtensionArray
    from pandas.core.arrays.arrow import ArrowExtensionArray
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 5, in <module>
    from pandas.core.arrays.arrow import ArrowExtensionArray
    import pyarrow as pa
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pyarrow\__init__.py", line 65, in <module>
    from pandas.core.arrays.arrow import ArrowExtensionArray
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 5, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 5, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 5, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 5, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 5, in <module>
    from pandas.core.arrays.arrow.array import ArrowExtensionArray
    from pandas.core.arrays.arrow.array import ArrowExtensionArray
    from pandas.core.arrays.arrow.array import ArrowExtensionArray
    from pandas.core.arrays.arrow.array import ArrowExtensionArray
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\array.py", line 60, in <module>
    from pandas.core.arrays.arrow.array import ArrowExtensionArray
    from pandas.core.arrays.arrow.array import ArrowExtensionArray
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\array.py", line 57, in <module>
    from pandas.core.arrays.arrow.array import ArrowExtensionArray
    from pandas.core.arrays.arrow.accessors import (
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\array.py", line 50, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\array.py", line 64, in <module>
    from pandas.core.arrays.arrow.accessors import (
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\array.py", line 50, in <module>
    from pandas.core.arrays.arrow.array import ArrowExtensionArray
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\array.py", line 50, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\array.py", line 60, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\accessors.py", line 23, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\accessors.py", line 23, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\arrow\array.py", line 50, in <module>
    import pyarrow.lib as _lib
  File "pyarrow\\compat.pxi", line 37, in init pyarrow.lib
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\cloudpickle\__init__.py", line 1, in <module>
    import pyarrow.compute as pc
    import pyarrow.compute as pc
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pyarrow\compute.py", line 18, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pyarrow\compute.py", line 336, in <module>
    from pandas.core import (
    from pandas.core.arrays.masked import BaseMaskedArray
    from pandas.core.arraylike import OpsMixin
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
    from pandas.core.arrays.base import (
    from pandas.core import (
    from pandas.core import (
    from pandas.core.arrays.base import (
    from pandas.core import (
    from . import cloudpickle
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\masked.py", line 60, in <module>
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\base.py", line 30, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\ops\__init__.py", line 8, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\ops\__init__.py", line 8, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\arrays\base.py", line 74, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\ops\__init__.py", line 8, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\cloudpickle\cloudpickle.py", line 73, in <module>
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1091, in get_code
  File "<frozen importlib._bootstrap_external>", line 1128, in get_code
  File "<frozen importlib._bootstrap_external>", line 1190, in get_data
  File "<frozen importlib._bootstrap_external>", line 759, in _compile_bytecode
KeyboardInterrupt
  File "<frozen importlib._bootstrap>", line 491, in _verbose_message
KeyboardInterrupt
    from pyarrow._compute import (  # noqa
    _make_global_functions()
KeyboardInterrupt
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pyarrow\compute.py", line 321, in _make_global_functions
    from pandas.core.ops.array_ops import (
    from pandas.core.ops.array_ops import (
    from pandas.core.ops.array_ops import (
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\ops\array_ops.py", line 56, in <module>
    for cpp_name in reg.list_functions():
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\ops\array_ops.py", line 56, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\ops\array_ops.py", line 55, in <module>
                    ^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
    from pandas.core import (
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1091, in get_code
  File "<frozen importlib._bootstrap_external>", line 1190, in get_data
KeyboardInterrupt
    import uuid
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
    from pandas.core.sorting import (
    from pandas.compat.numpy import function as nv
  File "<frozen importlib._bootstrap_external>", line 1091, in get_code
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap_external>", line 1190, in get_data
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1322, in _find_and_load_unlocked
KeyboardInterrupt
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1262, in _find_spec
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1532, in find_spec
  File "<frozen importlib._bootstrap_external>", line 1091, in get_code
  File "<frozen importlib._bootstrap_external>", line 1506, in _get_spec
  File "<frozen importlib._bootstrap_external>", line 1190, in get_data
  File "<frozen importlib._bootstrap_external>", line 1633, in find_spec
KeyboardInterrupt
  File "<frozen importlib._bootstrap_external>", line 105, in _path_join
KeyboardInterrupt
    from pandas.core import roperator
    from pandas.core.computation import expressions
    from pandas.core.computation import expressions
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\computation\expressions.py", line 21, in <module>
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1089, in get_code
  File "<frozen importlib._bootstrap_external>", line 1091, in get_code
  File "<frozen importlib._bootstrap_external>", line 1190, in get_data
KeyboardInterrupt
KeyboardInterrupt
    from pandas.core.computation.check import NUMEXPR_INSTALLED
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\core\computation\check.py", line 5, in <module>
    ne = import_optional_dependency("numexpr", errors="warn")
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\pandas\compat\_optional.py", line 135, in import_optional_dependency
    module = importlib.import_module(name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\importlib\__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1091, in get_code
  File "<frozen importlib._bootstrap_external>", line 1190, in get_data
KeyboardInterrupt
C:\Users\user\.conda\envs\at_env\Lib\site-packages\numpy\lib\function_base.py:520: RuntimeWarning: Mean of empty slice.
  avg = a.mean(axis, **keepdims_kw)
C:\Users\user\.conda\envs\at_env\Lib\site-packages\numpy\core\_methods.py:121: RuntimeWarning: invalid value encountered in divide
  ret = um.true_divide(
C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\_stats.py:157: RuntimeWarning: Degrees of freedom <= 0 for slice
  cov_matrix = np.cov(equity_log_returns, market_log_returns)
C:\Users\user\.conda\envs\at_env\Lib\site-packages\numpy\lib\function_base.py:2748: RuntimeWarning: divide by zero encountered in divide
  c *= np.true_divide(1, fact)
C:\Users\user\.conda\envs\at_env\Lib\site-packages\numpy\lib\function_base.py:2748: RuntimeWarning: invalid value encountered in multiply
  c *= np.true_divide(1, fact)
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 122, in spawn_main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 131, in _main
    prepare(preparation_data)
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 246, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\user\Documents\projects\at\parameter_optimization_test.py", line 51, in <module>
    stats, heatmap = backtest.optimize(
                     ^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\backtesting.py", line 1607, in optimize
    output = _optimize_grid()
             ^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\site-packages\backtesting\backtesting.py", line 1506, in _optimize_grid
    with mp.Pool() as pool, \
         ^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\pool.py", line 215, in __init__
    self._repopulate_pool()
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\pool.py", line 306, in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\pool.py", line 329, in _repopulate_pool_static
    w.start()
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\context.py", line 337, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\popen_spawn_win32.py", line 46, in __init__
    prep_data = spawn.get_preparation_data(process_obj._name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 164, in get_preparation_data
    _check_not_importing_main()
  File "C:\Users\user\.conda\envs\at_env\Lib\multiprocessing\spawn.py", line 140, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

        To fix this issue, refer to the "Safe importing of main module"
        section in https://docs.python.org/3/library/multiprocessing.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant