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

参数优化结束,未报错,但优化结果灰显,请问是怎么回事?命令行也附上了。

description

description

用论坛里的rbreaker没改参数直接回测,标的rb2210.SHFE,数据源wind(wind好像没有IF88或IF888数据),曲线相当不好看。。查了下成交记录,有多笔成交价格为零,大概找了下原因,发现成交时间基本都是10:15或11:30这种时间,估计应该是非交易时间的委托导致,那按逻辑是不是应该不成交才对呀?不知有没有其他人遇到这个问题。
大致想了下解决方法,应该可以把交易时间段的最后一分钟去掉,但好像没有找到在哪里设置交易时间段,在onbar里加上时间判断。但非交易时间的成交这个bug不知道该如何修复?还请大神指点。。

description

ctaEngine中的engine.py,load_bar函数,先判断是否使用数据库,默认不使用,则先从gateway找数据,即bars = self.main_engine.query_history(req, contract.gateway_name),调用MainEngine的query_history,返回return gateway.query_history(req);
如果找不到,则从datefeed找数据,即bars = self.query_bar_from_datafeed(symbol, exchange, interval, start, end),最终通过RqdateDatefeed的query_bar_history调用rqdatac里的数据接口。
我的问题是,这里的 gateway.query_history(req)是调用哪个文件哪个类的 query_history函数?(陈老师讲解时,说这是从交易接口取数据,可我看了vnpy_ctp的交易接口里并没有这个函数)

https://www.vnpy.com/docs里的功能描述是基于vnpy哪个版本?因为我看跟最新的3.0版本有些不同之处。
比如,下图里调整列宽,在3.0里右击是没反应的,但可以用鼠标左键来拉动列宽。
description

PS D:\quant\vnpy-master\examples\veighna_trader> python .\run.py
Traceback (most recent call last):
File "D:\quant\vnpy-master\examples\veighna_trader\run.py", line 31, in <module>
from vnpy_optionmaster import OptionMasterApp
File "D:\it_soft\python3.10.4\Lib\site-packages\vnpy_optionmaster__init__.py", line 26, in <module>
from .engine import OptionEngine, APP_NAME
File "D:\it_soft\python3.10.4\Lib\site-packages\vnpy_optionmaster\engine.py", line 34, in <module>
from .pricing import binomial_tree_cython as binomial_tree
File "binomial_tree_cython.pyx", line 1, in init binomial_tree_cython
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
哪位大佬帮看下原因,以及该如何debug,因为在.pricing下没有.pyx文件,只有.pyd文件,而.pyd二进制根本看不到代码。。

description

在vnpy_datamanager/engine.py的最后添加以下代码:

if __name__=="__main__":
    event_engine=EventEngine()
    main_engine=MainEngine(event_engine)
    md=ManagerEngine(main_engine,event_engine)
    md.download_bar_data(symbol='IF2206',exchange=Exchange("CFFEX"),interval='1m',start=datetime(2022,4,19))

运行后无报错、无提示,求原因。。(rqdata是有效期内的:D:\it_soft\python3.10.4\Lib\site-packages\rqdatac\client.py:236: UserWarning: Your account will be expired after 22 days. Please call us at 0755-22676337 to upgrade or purchase or renew your contract.)

description

此问题之前有人发过,但没有人给出解答。。

===================================================================
报错如下:

D:\quantOS\vnpy\vnpy-2.0.6\examples\vn_trader>python run.py
Exception in thread Thread-6:
Traceback (most recent call last):
File "D:\it_skills\vnstudio\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "D:\it_skills\vnstudio\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "d:\quantOS\vnpy\vnpy-2.0.6\vnpy\app\cta_backtester\engine.py", line 158,
in run_backtesting
engine.run_backtesting()
File "d:\quantOS\vnpy\vnpy-2.0.6\vnpy\app\cta_strategy\backtesting.py", line 2
82, in run_backtesting
self.callback(data)
TypeError: 'NoneType' object is not callable

=====================================================================
ui中输出日志如下:

11:31:12 初始化CTA回测引擎
11:31:12 策略文件加载完成
11:31:12 RQData数据接口初始化成功
11:31:29 ----------------------------------------
11:31:29 开始加载历史数据
11:31:29 加载进度:######### [97%]
11:31:29 加载进度:########## [100%]
11:31:29 历史数据加载完成,数据量:5040
11:32:09 已有任务在运行中,请等待完成

==========================================================================
查了下backtesting.py中是这样定义callback的: self.callback = None
但run_backtesting()函数为何要要按函数来调用callback呢?self.callback(data)

而且奇怪的是,这个错误时而复现、时而不出现(即回测正常完成,打印右边4个图标)。
求高手相助。。

7月20日有人提过类似问题,但没有最终解决,我的问题类似,即,无论我把策略放到哪里,vntrader都抓不到。。
我在所有的地方都放置了自己的策略demo_strategy.py,包括C:...\lenovo\strategies\下,C:...\lenovo.vntrader\strategies\下,github上下载的vnpy文件下的策略目录,site-package下vnpy下的策略目录,你能想到的,都放了。
惊奇的是,运行vnstation,点击VN trader Pro,加载vn trader,点击回测,仍然看不到自己的策略。。
这如何解决?

环境:
python37-64
vnpy2.0.5
ui界面,点击 “功能-cta策略”,报错: 'list' object has no attribute 'items'

截图:
自己查了下原因,应该是对cta_strategy_setting.json的读取出的问题,
for strategy_name, strategy_config in self.strategy_setting.items():
cta_strategy_setting.json我查了下是list,里面是3个dict,但self.strategy_setting.items()要求读取的是dict。不知为什么cta_strategy_setting.json是list格式?
求前辈指点。。
(第一次加图片,不知道行不行,是把截图放到qq空间图片里面,把url放在这里)

看大家模拟盘大都用simnow,穿透测试时期货公司给了个测试账户,连ctptest,为什么没人用这个账户做模拟盘呢

rt
发现MainWindow.py代码中有connect_dialogs的属性啊。。
def init(self, main_engine: MainEngine, event_engine: EventEngine):
""""""
super(MainWindow, self).init()
self.main_engine = main_engine
self.event_engine = event_engine
self.window_title = f"VN Trader [{TRADER_PATH}]"
self.connect_dialogs = {}
self.widgets = {}
self.init_ui()
为什么还会报这个错?

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

沪公网安备 31011502017034号

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