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

那,是因为每个公司的ctp股票期权接口版本不一造成的吗?,,现在中信、宏源已经3.6以上了,vnpy还是3.5,该是不是升级一下api接口。
那,会不会有些期货公司还是3.5的,一旦你们升级到3.6,其他3.5的接口又用不了vnpy了呢?

怎么统一啊。还是,vnpy辛苦一下,3.5到3.6的接口都打通一下

vnpy公众号回复版本不同的问题,vnpy的版本是3.5.5.。。。
可是,中信是3.6.3,,问了宏源,是3.6.6.。他们都说向下兼容。。但中信期货股票期权接口这,就是卡在合约信息读取不到。估计到宏源区开户也会遇到类似的问题。。问了南华,南华说他们没问题,能接上vnpy。我国庆后试试。。

那,遇到这种问题,vnpy的股票期权接口版本以后应该怎么去兼容所有可以买卖股票期权的期货公司呢,还是一直往最新版去靠拢,还是怎么弄?毕竟股票期权在期货公司开通流程复杂,开完了又接不了vnpy又得去试下一家啊

一般情况下,左下角会还最后显示合约信息查询成功(期货穿透式仿真是这样,最后也完成了期货穿透式)。。但
CTP期权(etf期权测试),我申请的中信期货股票期权,,到了仿真测试环节,,左下角结算信息确认成功后就一直没有合约信息查询成功,,这个股票期权到了查到结算就没了,然后什么合约都查不到了,然后无法测试交易

中信期货那问,版本式匹配的吗,ctp股票期权他们是tradeAPI_3.6.3_T_20211224

vnpy里sopttest原封未动的api,连了一直没有合约信息查询成功,,找到了sopttest,替换中信的api,一连,出现结算成功,界面就跳没了,但中信期货查到我连上了。。

vnpy原封的api连接,在station界面右边一直过会就有send heartbeat输出。大致情况这样

另一台电脑另一个地点情况一样

又试了几次,用vscode保存的csv没问题。。再用excel试,,保存时选择csv(用逗号分隔) 就行,,,不能选 csv(utf-8,用逗号分隔),

也许是编码问题,这块不懂

同一个csv文件510050.csv,用excel选取一部分,再保存成510050change.csv,导入报错keyerror,保存的是csv(utf-8,用逗号分隔),,
试了好几天,查过好多方式,就是搞不定,本以为很简单,却折磨死我了。。原来的文件导入啥事没有,只不过用excel选取前100个再如上保存,vnpy导入报错keyerror"datetime"

我用vscode

import pandas as pd
df1 = pd.read_csv('f:\510050change.csv')
df2= pd.read_csv('f:\510050.csv')
print(df1.columns)
print(df2.columns)
if set(df1.columns) == set(df2.columns):
print('wewere')
print(df1['datetime'])

输出的结果

Index(['datetime', 'open', 'close', 'high', 'low', 'volume', 'turnover'], dtype='object')
Index(['datetime', 'open', 'close', 'high', 'low', 'volume', 'turnover'], dtype='object')
wewere

两个文件的columns一模一样没问题啊。。
用vscode输出510050change.csv的df1['datetime']也能打印出来

按道理两个文件都应该能导出啊,为啥vscode里没发现问题,vnpy却keyerror"datetime"??

是csv用excel编辑会出现什么问题?最好用什么处理csv文件vnpy能认
帮忙解答,谢谢!

看以前的社区活动讲解视频中,出现了这个,

option_master文件夹里ui文件夹里的文件以前有个spread.py文件,是吗?现在没了?

好像有def calculate_leg_pnl

      def calculate_spread_pnl

等等

现在版本下,没有这个文件。

import plotly.graph_objects as go

from vnpy_scripttrader import init_cli_trading
from vnpy_ctp import CtpGateway
from vnpy.trader.utility import load_json
from vnpy.trader.constant import OptionType
from vnpy.trader.object import SubscribeRequest

setting = load_json("connect_ctp.json")
engine = init_cli_trading([CtpGateway])
engine.connect_gateway(setting, 'CTP')

contract = engine.get_contract("cu2311.SHFE")
tick = engine.get_tick("cu2311.SHFE")
p = tick.last_price

p的值输出不了,报错
AttributeError: 'NoneType' object has no attribute 'last_price'
simnow下面用jupyter lab测试,

一步步试,
contract可以返回相应的值
tick就什么也没有
继续什么last_price等等,都输出不了

看到【合约信息查询成功】后,、期货、期权都可以模拟买卖。。。点开OptionMaster,后面仍然出现上面问题。。是simnow不支持吗?还是我要重新装vnpy?,,,其他模块都可以用的

左下角显示合约信息查询成功,,日志输出是怎么操作?我看使用文档没有写,要日志输出后才能选择期权组合配置吗?怎么操作,谢谢!

vnpy_optionmaster版本:Metadata-Version: 2.1 Name: vnpy-optionmaster Version: 1.0.7
用simnow里的第一组ip连接。。哪个合约都报错。。好比cu2310和cu312我已经订阅成功,有日志输出,有跳动。。我再点击optionmaster图标,选择cu_o.shfe,点配置,选cu2310和cu2312,点确定就报错,t型报价,希腊值等都是灰色点不了

Traceback (most recent call last):
File "C:\Users\54364\AppData\Local\Programs\Python\Python310\lib\site-packages\vnpy_optionmaster\ui\widget.py", line 309, in update_portfolio_setting
result: bool = self.option_engine.init_portfolio(self.portfolio_name)
File "C:\Users\54364\AppData\Local\Programs\Python\Python310\lib\site-packages\vnpy_optionmaster\engine.py", line 302, in init_portfolio
holding: PositionHolding = converter.get_position_holding(instrument.vt_symbol)
AttributeError: 'NoneType' object has no attribute 'get_position_holding'

大概明白了,init 文件里面也import 了BarGenerator,,,所以都可以用

import BrGenetator问什么可以从vnpy_ctastrategy引入?不是应该从vnpy.trader.utility引入?试了都对?为啥

vnpy.trader.utility里有对BrGenetator类的定义,但vnpy_ctastrategy只有目录里面有个init.py文件,这个文件代码很短,里面代码没有对BrGenetato的定义啊??

里面的内容是这样的,有点看不懂,哪位帮忙解释一下,谢谢
from pathlib import Path
from typing import Type

import importlib_metadata
from vnpy.trader.app import BaseApp
from vnpy.trader.constant import Direction
from vnpy.trader.object import TickData, BarData, TradeData, OrderData
from vnpy.trader.utility import BarGenerator, ArrayManager

from .base import APP_NAME, StopOrder
from .engine import CtaEngine
from .template import CtaTemplate, CtaSignal, TargetPosTemplate

try:
version = importlib_metadata.version("vnpy_ctastrategy")
except importlib_metadata.PackageNotFoundError:
version = "dev"

class CtaStrategyApp(BaseApp):
""""""

app_name: str = APP_NAME
app_module: str = __module__
app_path: Path = Path(__file__).parent
display_name: str = "CTA策略"
engine_class: Type[CtaEngine] = CtaEngine
widget_name: str = "CtaManager"
icon_name: str = str(app_path.joinpath("ui", "cta.ico"))
© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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