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

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

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

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

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

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

同一个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等等,都输出不了

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'

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号

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