通过脚本运行启动多个账户报错:zmq.error.ZMQError: Address in use
有大侠知道这个怎么解决吗?
同品种主力合约和次主力合约,在交割后合约名称就发生变化,请问这个怎么做3年以上时间回测呢,因为每个时间段主力合约次主力合约都不同,有大侠知道的能帮个忙解析一下吗?
在CtpGateway里面 onRtnDepthMarketData 函数里面,每个价格会用函数 adjust_price 做一个调整 ,也就是去掉一些异常大的数值。但是这个在融航的接口rohon_gateway里面并没有做,但是我模拟账户发现融航也是会出现一些异常大的数值,所以这个函数在rohon_gateway也是需要的。请有看到的版主下次可以考虑优化一下。但是这个异常值怎么会产生,有知道大虾可以解析一下吗?
def onRtnDepthMarketData(self, data: dict):
"""
Callback of tick data update.
"""
symbol = data["InstrumentID"]
exchange = symbol_exchange_map.get(symbol, "")
if not exchange:
return
timestamp = f"{data['ActionDay']} {data['UpdateTime']}.{int(data['UpdateMillisec']/100)}"
dt = datetime.strptime(timestamp, "%Y%m%d %H:%M:%S.%f")
dt = CHINA_TZ.localize(dt)
tick = TickData(
symbol=symbol,
exchange=exchange,
datetime=dt,
name=symbol_name_map[symbol],
volume=data["Volume"],
open_interest=data["OpenInterest"],
last_price=adjust_price(data["LastPrice"]),
limit_up=data["UpperLimitPrice"],
limit_down=data["LowerLimitPrice"],
open_price=adjust_price(data["OpenPrice"]),
high_price=adjust_price(data["HighestPrice"]),
low_price=adjust_price(data["LowestPrice"]),
pre_close=adjust_price(data["PreClosePrice"]),
bid_price_1=adjust_price(data["BidPrice1"]),
ask_price_1=adjust_price(data["AskPrice1"]),
bid_volume_1=data["BidVolume1"],
ask_volume_1=data["AskVolume1"],
gateway_name=self.gateway_name
)
self.gateway.on_tick(tick)
有没有人使用论坛里面提供的指数合成代码,发现一些异常的数据的?在合成tick数据的时候经常出现某个价格数值非常大的情况。像这 low_price=2.693714390689281e+305
2021-05-14 15:01:00,008 INFO: INVALID PRICE: symbol=Y8888.DCE, index_tick=TickData(gateway_name='ROHON', symbol='Y8888', exchange=<Exchange.DCE: 'DCE'>, datetime=datetime.datetime(2021, 5, 14, 15, 0, 58, 700000, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>), name='Y指数合约', volume=1210563, open_interest=669368.0, last_price=8929.994789114508, last_volume=0, limit_up=9747.927561520717, limit_down=8472.98650069917, open_price=2.693714390689281e+305, high_price=2.693714390689281e+305, low_price=2.693714390689281e+305, pre_close=9157.514628724408, bid_price_1=8922.475926545636, bid_price_2=0, bid_price_3=0, bid_price_4=0, bid_price_5=0, ask_price_1=8934.2974268265, ask_price_2=0, ask_price_3=0, ask_price_4=0, ask_price_5=0, bid_volume_1=276, bid_volume_2=0, bid_volume_3=0, bid_volume_4=0, bid_volume_5=0, ask_volume_1=112, ask_volume_2=0, ask_volume_3=0, ask_volume_4=0, ask_volume_5=0), price_tick=2.0, tick_data=TickData(gateway_name='ROHON', symbol='y2105', exchange=<Exchange.DCE: 'DCE'>, datetime=datetime.datetime(2021, 5, 14, 15, 0, 58, 700000, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>), name='豆油2105', volume=0, open_interest=1003.0, last_price=9676.0, last_volume=0, limit_up=10212.0, limit_down=8876.0, open_price=1.7976931348623157e+308, high_price=1.7976931348623157e+308, low_price=1.7976931348623157e+308, pre_close=9676.0, bid_price_1=9264.0, bid_price_2=0, bid_price_3=0, bid_price_4=0, bid_price_5=0, ask_price_1=9526.0, ask_price_2=0, ask_price_3=0, ask_price_4=0, ask_price_5=0, bid_volume_1=100, bid_volume_2=0, bid_volume_3=0, bid_volume_4=0, bid_volume_5=0, ask_volume_1=35, ask_volume_2=0, ask_volume_3=0, ask_volume_4=0, ask_volume_5=0)
2021-05-14 15:01:00,013 INFO: INVALID PRICE: symbol=Y8888.DCE, index_tick=TickData(gateway_name='ROHON', symbol='Y8888', exchange=<Exchange.DCE: 'DCE'>, datetime=datetime.datetime(2021, 5, 14, 15, 0, 58, 700000, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>), name='Y指数合约', volume=1210563, open_interest=669368.0, last_price=8929.994789114508, last_volume=0, limit_up=9747.927561520717, limit_down=8472.98650069917, open_price=2.693714390689281e+305, high_price=2.693714390689281e+305, low_price=2.693714390689281e+305, pre_close=9157.514628724408, bid_price_1=8922.475926545636, bid_price_2=0, bid_price_3=0, bid_price_4=0, bid_price_5=0, ask_price_1=8934.2974268265, ask_price_2=0, ask_price_3=0, ask_price_4=0, ask_price_5=0, bid_volume_1=276, bid_volume_2=0, bid_volume_3=0, bid_volume_4=0, bid_volume_5=0, ask_volume_1=112, ask_volume_2=0, ask_volume_3=0, ask_volume_4=0, ask_volume_5=0), price_tick=2.0, tick_data=TickData(gateway_name='ROHON', symbol='y2105', exchange=<Exchange.DCE: 'DCE'>, datetime=datetime.datetime(2021, 5, 14, 15, 0, 58, 700000, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>), name='豆油2105', volume=0, open_interest=1003.0, last_price=9676.0, last_volume=0, limit_up=10212.0, limit_down=8876.0, open_price=1.7976931348623157e+308, high_price=1.7976931348623157e+308, low_price=1.7976931348623157e+308, pre_close=9676.0, bid_price_1=9264.0, bid_price_2=0, bid_price_3=0, bid_price_4=0, bid_price_5=0, ask_price_1=9526.0, ask_price_2=0, ask_price_3=0, ask_price_4=0, ask_price_5=0, bid_volume_1=100, bid_volume_2=0, bid_volume_3=0, bid_volume_4=0, bid_volume_5=0, ask_volume_1=35, ask_volume_2=0, ask_volume_3=0, ask_volume_4=0, ask_volume_5=0)
2021-05-14 15:01:00,014 INFO: INVALID PRICE: symbol=Y8888.DCE, index_tick=TickData(gateway_name='ROHON', symbol='Y8888', exchange=<Exchange.DCE: 'DCE'>, datetime=datetime.datetime(2021, 5, 14, 15, 0, 58, 700000, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>), name='Y指数合约', volume=1210563, open_interest=669368.0, last_price=8929.994789114508, last_volume=0, limit_up=9747.927561520717, limit_down=8472.98650069917, open_price=2.693714390689281e+305, high_price=2.693714390689281e+305, low_price=2.693714390689281e+305, pre_close=9157.514628724408, bid_price_1=8922.475926545636, bid_price_2=0, bid_price_3=0, bid_price_4=0, bid_price_5=0, ask_price_1=8934.2974268265, ask_price_2=0, ask_price_3=0, ask_price_4=0, ask_price_5=0, bid_volume_1=276, bid_volume_2=0, bid_volume_3=0, bid_volume_4=0, bid_volume_5=0, ask_volume_1=112, ask_volume_2=0, ask_volume_3=0, ask_volume_4=0, ask_volume_5=0), price_tick=2.0, tick_data=TickData(gateway_name='ROHON', symbol='y2105', exchange=<Exchange.DCE: 'DCE'>, datetime=datetime.datetime(2021, 5, 14, 15, 0, 58, 700000, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>), name='豆油2105', volume=0, open_interest=1003.0, last_price=9676.0, last_volume=0, limit_up=10212.0, limit_down=8876.0, open_price=1.7976931348623157e+308, high_price=1.7976931348623157e+308, low_price=1.7976931348623157e+308, pre_close=9676.0, bid_price_1=9264.0, bid_price_2=0, bid_price_3=0, bid_price_4=0, bid_price_5=0, ask_price_1=9526.0, ask_price_2=0, ask_price_3=0, ask_price_4=0, ask_price_5=0, bid_volume_1=100, bid_volume_2=0, bid_volume_3=0, bid_volume_4=0, bid_volume_5=0, ask_volume_1=35, ask_volume_2=0, ask_volume_3=0, ask_volume_4=0, ask_volume_5=0)
2021-05-14 15:01:00,015 INFO: self.last_tick_times[Y8888.DCE]:2021-05-14 15:00:00+08:00, tick.datetime.minute:0, tick=TickData(gateway_name='ROHON', symbol='Y8888', exchange=<Exchange.DCE: 'DCE'>, datetime=datetime.datetime(2021, 5, 14, 15, 0, 58, 700000, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>), name='Y指数合约', volume=1210563, open_interest=669368.0, last_price=8930.0, last_volume=0, limit_up=9748.0, limit_down=8472.0, open_price=2.693714390689281e+305, high_price=2.693714390689281e+305, low_price=2.693714390689281e+305, pre_close=9158.0, bid_price_1=8922.0, bid_price_2=0, bid_price_3=0, bid_price_4=0, bid_price_5=0, ask_price_1=8934.0, ask_price_2=0, ask_price_3=0, ask_price_4=0, ask_price_5=0, bid_volume_1=276, bid_volume_2=0, bid_volume_3=0, bid_volume_4=0, bid_volume_5=0, ask_volume_1=112, ask_volume_2=0, ask_volume_3=0, ask_volume_4=0, ask_volume_5=0)
由于需要对接MOM交易接口(不是融航),需要把对方给的CTP头文件和交易库转成python库即 vnctpmd 和 vnctptd,有没有大佬指导下怎么编译效果高一点?或者分享一下整个编译的流程。最好是windows环境下。
融航账户,用vnstation可以登陆,用run.py就报4097错误,有大侠知道是什么原因吗?
有大虾对接过杰宜斯系统吗,有的话分享以下对接流程呗。
用Anaconda3.8最新版安装最新代码一直报错,改用Anaconda3.7版能正常安装。但是中途报了一个错误,是spyder 和 vnpy安装的pyqt5 5.14.1版本不兼容。在论坛里也有看到有人提问这个问题,没有给出解决办法。有大侠知道这个怎么解决吗?或是这个可以忽略,不影响使用?之前一直都是安装vn-station,这次采用手动安装方式,发现还是不少版本兼容问题。
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
spyder 3.3.2 requires pyqt5<5.10; python_version >= "3", but you have pyqt5 5.14.1 which is incompatible.
按照说明安装的最新版Anaconda,不过改版本是Python 3.9。发现 quikfix 和 TA_Lib 安装不了,即使下载到本地也是安装不了。基本上每次更新重新安装都是很多的库版本对不上或者有冲突。每次升级安装说明能否说明需要在哪个python版本下面去安装。
(base) E:\code\vnpy-master>python -m pip install https://pip.vnpy.com/colletion/quikfix-1.15.1-cp39-cp39m-win_amd64.whl
ERROR: quikfix-1.15.1-cp39-cp39m-win_amd64.whl is not a supported wheel on this platform.
(base) E:\code\vnpy-master>python -m pip install https://pip.vnpy.com/colletion/TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl
ERROR: TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.
有大侠知道simnow模拟账户,持仓占用保证金与实盘交易占用保证金小得多的原因是什么吗?
请问有哪位大侠知道,vnpy模拟账户快期3平台,买进的合约没有平仓的情况下持仓均价每天都在增加吗?
有大侠知道simnow模拟账户现在申请不了吗?网站都打不开了。有没有其它支持VNPY模拟账户的平台呢?
vnpy界面效率目前能支持全市场合约以及指数合约全部实时tick数据正常显示吗?
portfolio_strategy组合策略模块回测不支持发送停损单(Stop Order),请问有大侠知道解决方案不?
有大侠用过XTP的吗,XTP可以做股票的全自动交易么?
请问有高手分享一下实时指数合约的合成方法或者代码不?就是根据实时合约的行情数据生成实时的指数。万分感谢!
比如实现利用指数合约做行情信号进行策略运算,交易实际映射到主力合约进行交易?
哪位大侠知道回测界面里面盈亏分布是什么意思?看了半天也不知道是啥意思,看代码是由每天盈亏算出来,但是看图没看明白。哪位大侠知道解答下!感谢!
请问策略多合约模块 PortfolioStrategy 要怎么样进行回测?运行回测的入口在哪里呢?