VeighNa量化社区
你的开源社区量化交易平台
str_pythin's Avatar
Member
离线
93 帖子
声望: 1

description

如上图是tick级数据的时间戳, 每秒是两条的数据,时间戳上是一样的

1.上传数据时会有数据的覆盖吗?

2.tick级回测时 是怎么看时间的?

股指期货平今的手续费很高,为了锁定收益,进行锁仓,vnpy代码中怎么实现锁仓的操作呢?

持多仓时,直接语句self.short来锁仓吗? 反之,self.buy?

vnpy可以在锁仓后的第二个交易日实现自动平仓操作吗?

description

数据是正常的, 之前回测都好好的
优化参数时,出现memory Error后, 在回测就连接不上数据库的数据了
这种怎么解决

Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Anaconda3\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Anaconda3\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda3\lib\site-packages\vnpy\event\engine.py", line 60, in _run
self._process(event)
File "C:\Anaconda3\lib\site-packages\vnpy\event\engine.py", line 73, in _process
[handler(event) for handler in self._handlers[event.type]]
File "C:\Anaconda3\lib\site-packages\vnpy\event\engine.py", line 73, in <listcomp>
[handler(event) for handler in self._handlers[event.type]]
File "C:\Anaconda3\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 157, in process_tick_event
self.check_stop_order(tick)
File "C:\Anaconda3\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 270, in check_stop_order
stop_order.lock
File "C:\Anaconda3\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 366, in send_limit_order
lock
File "C:\Anaconda3\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 318, in send_server_order
reference=f"{APPNAME}{strategy.strategy_name}"
TypeError: init() missing 1 required positional argument: 'volume'

这样也省去了初始化数据 开启策略的工作
一周或者几天打开关闭就行?

问题请见标题

期货和现货价格交割前会逐渐趋于一致, 只看到期货价格,不知道哪里可以看现货价格

找了下原因

description

分别打印出 每个周期的一些变量值, am的size都是给的500,为何策略初始化后的am.count值还是从1开始计算的???
导致am.inited一直是False,没有初始化成功,难怪一直没交易委托产生

Traceback (most recent call last):
File "C:\vnstudio\Lib\site-packages\vnpy\trader\ui\mainwindow.py", line 278, in open_widget
widget = widget_class(self.main_engine, self.event_engine)
File "C:\vnstudio\Lib\site-packages\vnpy\app\cta_strategy\ui\widget.py", line 37, in init
self.cta_engine.init_engine()
File "C:\vnstudio\Lib\site-packages\vnpy\app\cta_strategy\engine.py", line 109, in init_engine
self.load_strategy_data()
File "C:\vnstudio\Lib\site-packages\vnpy\app\cta_strategy\engine.py", line 794, in load_strategy_data
self.strategy_data = load_json(self.data_filename)
File "C:\vnstudio\Lib\site-packages\vnpy\trader\utility.py", line 99, in load_json
data = json.load(f)
File "c:\vnstudio\lib\json__init.py", line 296, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "c:\vnstudio\lib\json\
init__.py", line 348, in loads
return _default_decoder.decode(s)
File "c:\vnstudio\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "c:\vnstudio\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 31 column 17 (char 714)

这是什么问题??

description

这是什么错误??

Traceback (most recent call last):
File "C:\vnstudio\Lib\site-packages\vnpy\app\data_manager\ui\widget.py", line 109, in refresh_tree
data = self.engine.get_bar_data_available()
File "C:\vnstudio\Lib\site-packages\vnpy\app\data_manager\engine.py", line 138, in get_bar_data_available
d["symbol"], Exchange(d["exchange"]), Interval(d["interval"])
File "C:\vnstudio\Lib\site-packages\vnpy\trader\database\database_mongo.py", line 347, in get_oldest_bar_data
interval=Interval.Value
File "c:\vnstudio\lib\enum.py", line 348, in getattr
raise AttributeError(name) from None
AttributeError: Value

description

点击刷新出现上述错误

准备更新的包:
vnpy : 2.0.8 -> 2.1.1

点击下方按钮开始更新

开始更新:vnpy
更新失败:vnpy
b"ERROR: tensorflow 2.1.0 has requirement protobuf>=3.8.0, but you'll have protobuf 3.5.1 which is incompatible.\r\nERROR: tensorboard 2.1.0 has requirement protobuf>=3.6.0, but you'll have protobuf 3.5.1 which is incompatible.\r\nERROR: Could not install packages due to an EnvironmentError: [WinError 5] \xbe\xdc\xbe\xf8\xb7\xc3\xce\xca\xa1\xa3: 'c:\\vnstudio\\lib\\site-packages\\vnpy\\~pi\\ctp\\thostmduserapi_se.dll'\r\nConsider using the --user option or check the permissions.\r\n\r\n"

部分包更新失败!

策略中print的东西也没打印,策略一直就没执行
回测时一直有print信息在cmd窗口打印出来的
为何?

description

点击策略重载没用,回测结果跟修改前结果一样(应该是回测的还是原来的策略)

如下图所示:
description

description

description

vnpy2回测结果没了vnpy1中的成功率等指标 这个指标很重要 跟盈亏比结合对改进策略很有意义
这个指标怎么添加?

cmd中跑no_ui中的run.py
有成交时没任何提示,vnpy1中会提示策略委托方向数量,和成交
vnpy2中的就没了,怎么修改可以和vnpy1中的一样?

如:两种资产标的做个组合,根据策略会有轮动,
这种情况怎么在vnpy上进行策略的回测?

  1. no_ui启动的策略是从vnpy客户端中CTA策略->添加策略中得到的,若是想自己随便用no_ui跑指定策略和合约,改怎么做?
    此运用场景:开两个cmd跑no_ui,两个跑的策略和合约不同

2.从vnpy客户端中CTA策略->添加策略,用no_ui跑,出现订阅行情失败,查找不到此合约的问题,但是在CTA策略->添加策略中初始化启动是没这个问题的
这是为何?

10:10:08 rb2001.SHFE-1m开始下载历史数据
10:10:08 数据下载失败,无法获取rb2001.SHFE的历史数据

mongodb数据库中是有rb2001表

e:\EMQuantAPI_Python\python3\EmQuantAPI.py in Init(cls)
496 cls.
InitSucceed = True
497 cls.apiDllPath = UtilAccess.GetLibraryPath()
--> 498 cls.
quantLib = CDLL(cls.apiDllPath)
499 cls.
AsynDataFunc = cls.Type_AsynDataFunc(cls.__HandleAsynData)
500

d:\Anaconda3\lib\ctypes__init.py in init__(self, name, mode, handle, use_errno, use_last_error)
354
355 if handle is None:
--> 356 self._handle = _dlopen(self._name, mode)
357 else:
358 self._handle = handle

OSError: [WinError 126] 找不到指定的模块。

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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