偶发的,出现的概率不高,我再多打点日志观察一下
如下图所示,其实就是官方提供的no_ui代码,正常情况会先执行A,后执行B,从前面日志的截图可以看到A执行了,但是B没有执行。
NO_UI启动程序,非交易期间子进程没有完全关闭,如下图所示:7点31分还收到了一条bar推送。请问有办法解决吗 ?
好的,感谢~
我看no_ui的脚本只控制了时间段,周末或者节假日是不是还要自己手工停止,工作日再提前打开?
好吧,多谢解答~
我在MAC电脑上使用TTS接口报错,请问需要如何解决?
Traceback (most recent call last):
File "/Users/wangxudong/code/vnpy/vnpy/run.py", line 6, in <module>
from vnpy_tts import TtsGateway
File "/Users/wangxudong/miniconda3/envs/vnpy/lib/python3.10/site-packages/vnpy_tts/init.py", line 25, in <module>
from .gateway import TtsGateway
File "/Users/wangxudong/miniconda3/envs/vnpy/lib/python3.10/site-packages/vnpy_tts/gateway/init.py", line 1, in <module>
from .tts_gateway import TtsGateway
File "/Users/wangxudong/miniconda3/envs/vnpy/lib/python3.10/site-packages/vnpy_tts/gateway/tts_gateway.py", line 32, in <module>
from ..api import (
File "/Users/wangxudong/miniconda3/envs/vnpy/lib/python3.10/site-packages/vnpy_tts/api/init.py", line 1, in <module>
from .vnttsmd import MdApi
ModuleNotFoundError: No module named 'vnpy_tts.api.vnttsmd'
运行vnpy项目examples/cta_backtesting/portfolio_backtesting.ipynb 文件,时间选择从2010-1-1 到2023-4-30发现2020之后回撤不断放大,请问是样本外的原因还是市场风格转换导致的?
感谢回答,看了文档里写到:“为了实现立即成交的目的,CTA策略引擎会立即以涨跌停价或者盘口五档的价格,去发出限价委托”,想问一下具体执行的时候是以涨跌停价格还是盘口五档价格,选择的优先级是怎么设置的?
采用TTS接口进行模拟盘交易发现委托价格差别很大 , 具体如下图所示,交易界面显示委托价格3354,策略界面显示的价格是3748,请问大佬3354这个价格是不是显示错误了?
商品期货在2014年后发生了啥,好多策略和品种都在2014年后收益锐减,有大佬知道发生了啥事吗?
@丘 Slave需要安装VNPY吗?
用RQData的RB888的数据跑回测发现有负数的成交价,是因为平滑处理造成的吗,会不会对策略结果造成影响呢?
nick-进 wrote:
感谢大佬分享~
使用过程中,发现一个小bug:
当我要下载郑商所 SR8888.CZCE 合约时,会报错,查找不到对应合约。
修改jqdata.py:# Check for index symbol time_str = symbol[count:] if time_str in ["88", "888", "99"]: return symbol
为:
# Check for index symbol time_str = symbol[count:] if time_str in ["88", "888", "99", "8888"]: return f"{symbol}.XZCE"
即可下载。
已经更新到帖子中,多谢~
用IF9999.CFFEX试试,下图是聚宽对主力连续合约的代码定义,可以到他们的官网上找到,链接:
sean_vnpy wrote:
之前按照这个方案配置好貌似没有问题了,但是最近使用的时候发现会有如下报错?是不是哪个接口的配置改了?
22:01:31 ----------------------------------------
22:01:31 IF88.CFFEX-1m开始下载历史数据
22:01:31 数据下载失败,触发异常:
Traceback (most recent call last):
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\app\cta_backtester\engine.py", line 367, in run_downloading
data = mddata_client.query_history(req)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\trader\mddata\jqdata.py", line 139, in query_history
skip_paused=True
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\utils.py", line 229, in _wrapper
return func(*args, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\api.py", line 28, in get_price
return JQDataClient.instance().get_price(locals())
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 162, in <lambda>
return lambda kwargs: self(method, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 157, in call
raise err
Exception: 找不到标的IF88.CCFX
@龙津 这个论坛没有找到上传文件的地方,我放到github上了,你去找一下吧: https://github.com/tonywanggit/vnpy/tree/master/vnpy/trader/mddata
会的,前一个交易日的仓位会被保存在策略数据文件中,在启动策略的时候会从策略数据文件中加载出来。
1)策略中的variables变量会在停止策略时写入策略数据文件:cta_strategy_data.json 中
2)每次初始策略会先加载数据然后用cta_strategy_data.json文件的内容重置策略变量,代码如下:
self.write_log(f"{strategy_name}开始执行初始化")
# Call on_init function of strategy
self.call_strategy_func(strategy, strategy.on_init)
# Restore strategy data(variables)
data = self.strategy_data.get(strategy_name, None)
if data:
for name in strategy.variables:
value = data.get(name, None)
if value:
setattr(strategy, name, value)
3)假设策略用到的交易高点被记录到变量中 variables = ['intraTradeHigh'],则可能引发问题如下:
9月1号 开仓做多,成交价 = 98,停止策略时 记录 intraTradeHigh = 100
9月2号 没有启动策略交易 当天最高价 = 110
9月3号 开启策略时候会用策略文件中的 100 设置intraTradeHigh值,这样就漏掉了2号的最高价110,可能对交易策略产生一定影响。
粗略的分析,欢迎大佬拍砖指正~