VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 20
声望: 0

代码和执行错误如下

from vnpy_ctastrategy.backtesting import BacktestingEngine
from vnpy_ctastrategy.strategies.ag2410_kdj_multi_timeframe_v1 import (
Ag2410MultiTimeframeKdjV1,
)
from datetime import datetime
engine = BacktestingEngine()
engine.set_parameters(
vt_symbol="ag2410.SHFE",
interval="1m",
start=datetime(2024, 4, 15),
end=datetime(2024, 8, 21),
rate=5.0 / 10000,
slippage=0.0,
size=15,
pricetick=1.0,
capital=50000,
)
engine.add_strategy(Ag2410MultiTimeframeKdjV1, {})
engine.load_data()
engine.run_backtesting()
df = engine.calculate_result()
engine.calculate_statistics()
engine.show_chart()
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev\pydevconsole.py", line 364, in runcode
coro = func()
File "<input>", line 1, in <module>
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, args, **kwargs)
File "C:\veighna_studio\Lib\site-packages\vnpy_ctastrategy__init__.py", line 31, in <module>
from vnpy.trader.utility import BarGenerator, ArrayManager
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name,
args, kwargs)
File "C:\veighna_studio\Lib\site-packages\vnpy\trader\utility.py", line 15, in <module>
import talib
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args,
kwargs)
File "C:\veighna_studio\Lib\site-packages\talib__init__.py", line 93, in <module>
from ._ta_lib import (
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'talib._ta_lib'

Member
avatar
加入于:
帖子: 20
声望: 0

这个是把代码贴到python解释器里面直接执行的

Member
avatar
加入于:
帖子: 20
声望: 0

试了下发现是import BacktestingEngine的时候报错的。

from vnpy_ctastrategy.backtesting import BacktestingEngine

Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev\pydevconsole.py", line 364, in runcode
coro = func()
File "<input>", line 1, in <module>
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, args, **kwargs)
File "C:\veighna_studio\Lib\site-packages\vnpy_ctastrategy__init__.py", line 31, in <module>
from vnpy.trader.utility import BarGenerator, ArrayManager
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name,
args, kwargs)
File "C:\veighna_studio\Lib\site-packages\vnpy\trader\utility.py", line 15, in <module>
import talib
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args,
kwargs)
File "C:\veighna_studio\Lib\site-packages\talib__init__.py", line 93, in <module>
from ._ta_lib import (
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'talib._ta_lib'

from vnpy_ctabacktester.engine import BacktestingEngine
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev\pydevconsole.py", line 364, in runcode
coro = func()
File "<input>", line 1, in <module>
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, args, **kwargs)
File "C:\veighna_studio\Lib\site-packages\vnpy_ctabacktester__init__.py", line 29, in <module>
from .engine import BacktesterEngine, APP_NAME
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name,
args, kwargs)
File "C:\veighna_studio\Lib\site-packages\vnpy_ctabacktester\engine.py", line 14, in <module>
from vnpy.trader.engine import BaseEngine, MainEngine
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args,
kwargs)
File "C:\veighna_studio\Lib\site-packages\vnpy\trader\engine.py", line 43, in <module>
from .setting import SETTINGS
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, args, **kwargs)
File "C:\veighna_studio\Lib\site-packages\vnpy\trader\setting.py", line 9, in <module>
from .utility import load_json
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name,
args, kwargs)
File "C:\veighna_studio\Lib\site-packages\vnpy\trader\utility.py", line 15, in <module>
import talib
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args,
kwargs)
File "C:\veighna_studio\Lib\site-packages\talib__init__.py", line 93, in <module>
from ._ta_lib import (
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1\plugins\python-ce\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'talib._ta_lib'

Member
avatar
加入于:
帖子: 20
声望: 0

更换成vnpy自带的python解释器执行没有报import错误了,但是数据没法加载成功,需要在脚本代码哪儿设置数据库么

我是按照https://www.bookstack.cn/read/vnpy-2.1/spilt.7.spilt.4.64caaaef7c5fb2e1.md示例来执行的
from vnpy_ctastrategy.backtesting import BacktestingEngine
from vnpy_ctastrategy.strategies.ag2410_kdj_multi_timeframe_v1 import (
Ag2410MultiTimeframeKdjV1,
)
from datetime import datetime

engine = BacktestingEngine()
engine.set_parameters(
vt_symbol="ag2410.SHFE",
interval="1m",
start=datetime(2024, 4, 15),
end=datetime(2024, 8, 21),
rate=5.0 / 10000,
slippage=0.0,
size=15,
pricetick=1.0,
capital=50000,
)

engine.add_strategy(Ag2410MultiTimeframeKdjV1, {})
engine.load_data()
engine.run_backtesting()
df = engine.calculate_result()
engine.calculate_statistics()
engine.show_chart()

Member
avatar
加入于:
帖子: 20
声望: 0

arieszhan wrote:

更换成vnpy自带的python解释器执行没有报import错误了,但是数据没法加载成功,需要在脚本代码哪儿设置数据库么

我是按照https://www.bookstack.cn/read/vnpy-2.1/spilt.7.spilt.4.64caaaef7c5fb2e1.md示例来执行的
from vnpy_ctastrategy.backtesting import BacktestingEngine
from vnpy_ctastrategy.strategies.ag2410_kdj_multi_timeframe_v1 import (
Ag2410MultiTimeframeKdjV1,
)
from datetime import datetime

engine = BacktestingEngine()
engine.set_parameters(
vt_symbol="ag2410.SHFE",
interval="1m",
start=datetime(2024, 4, 15),
end=datetime(2024, 8, 21),
rate=5.0 / 10000,
slippage=0.0,
size=15,
pricetick=1.0,
capital=50000,
)

engine.add_strategy(Ag2410MultiTimeframeKdjV1, {})
engine.load_data()
engine.run_backtesting()
df = engine.calculate_result()
engine.calculate_statistics()

engine.show_chart()

此问题已解决。
import error解决办法:换成vnpy自带的python解释器执行
数据加载失败解决方法:cd到vnpy执行目录执行脚本,即数据库存储与该目录下的.vntrader目录下。

Member
avatar
加入于:
帖子: 15
声望: 0

请问换成vnpy自带的python解释器执行,这个应该怎么操作

Member
avatar
加入于:
帖子: 20
声望: 0

一叶不知秋 wrote:

请问换成vnpy自带的python解释器执行,这个应该怎么操作

执行时前面带上vnpy自有python解释器的全路径

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】