docs/community/info/veighna_trader.md
启动登录VeighNa Station后,用户可通过点击【交易】按钮,勾选所需的交易接口和应用模块,点击【启动】按钮进入VeighNa Trader,如下图所示:
在文件夹examples/veighna_trader中找到run.py文件(不是veighna_studio下的,需要在github上下载源码)。运行run.py即可进入VeighNa Trader。
python run.py
启动成功的VeighNa Trader如下图所示:
以使用SimNow仿真交易账号登录CTP接口为例,在VeighNa Trader上的菜单栏中点击【系统】->【连接CTP】,会弹出账号配置窗口,如下图所示:
其中,各字段填写要求如下:
请注意:
连接成功以后,VeighNa Trader主界面【日志】组件会立刻输出登录相关信息,同时用户也可以看到账号信息,持仓信息,合约查询等相关信息。如下图所示:
成功连接交易接口后,用户可以通过合约查询功能查询合约信息: 点击菜单栏的【帮助】->【合约查询】,在弹出的对话框中直接点击右上角的【查询】按钮,即可查询合约信息(留空则查询所有合约的价格信息),如下图所示:
请注意,IB接口因为登录时无法自动获取所有的合约信息,只有在用户手动订阅行情时才能获取。因此需要在主界面上先行手动订阅合约行情,才能查到合约信息。
在交易组件输入交易所和合约代码,按回车键即可订阅行情。如订阅股指期货时,交易所填写CFFEX,代码填写对应合约代码IF2206。
订阅成功后,交易组件会显示合约名称,并且在下方显示深度行情报价,如最新价、买一价和卖一价,行情组件会显示最新行情信息,如下图所示:
请注意,输入的合约代码需与在菜单栏的【帮助】->【查询合约】功能中查到的一致。
交易组件用于手动发起委托交易,除了填写交易所和合约代码外,还需填写下图中的五个字段(方向、开平、类型、价格和数量):
请注意,若委托类型为市价单,委托价格可不填;若交易接口只支持单向持仓(接口持仓方向支持详见交易接口篇),可不填写开平方向。
发出委托后,本地会缓存委托相关信息,并显示到【委托】组件和【活动】组件,此时委托状态为【提交中】。
交易所收到用户发送的委托后,会将其插入中央订单簿来进行撮合成交,并推送委托回报给用户:
数据监控由以下组件构成,并附带两个辅助功能:
选定以下任一组件,鼠标右键可以选择【调整列宽】(特别适用于屏幕分辨率较低的情况)或者选择【保存数据】(CSV格式),如下图所示:
行情组件用于对订阅的行情进行实时监控,如下图所示:
行情组件监控内容包括以下部分:
活动组件用于存放还未成交的委托,如有限价单或者没有立刻成交的市价单,在该组件中鼠标双击任一委托可以完成撤单操作,如下图所示:
成交组件用于存放已成交的委托,在该组件中,价格、数量和时间都是交易所推送过来的成交信息,而不是委托信息,如下图所示:
委托组件用于存放用户发出的所有委托信息,其委托状态可以是提交中、已撤销、部分成交、全部成交、拒单等,如下图所示:
持仓组件用于记录历史持仓,需要注意以下字段信息。
若平仓离场,持仓数量清零,浮动盈亏变成实际盈亏从而影响账号余额变化。故以下字段:数量、昨仓、冻结、均价、盈亏均为0,如下图所示:
资金组件显示了账号的基础信息,如下图所示:
需要注意以下三个字段信息:
若全部平仓,浮动盈亏变成实际盈亏,保证金和浮动盈亏清零,总资金等于可用资金。
日志组件用于显示接口登录信息以及委托报错信息,如下图所示:
VeighNa官方提供了开箱即用的量化交易应用模块,在启动VeighNa Trader时勾选所需的功能模块,启动成功后在菜单栏中点击【功能】按钮,即可显示所勾选的功能模块,如下图所示:
点击VeighNa Trader菜单栏上的【配置】按钮弹出【全局配置】窗口,如下图所示:
font.family和font.size参数用于配置GUI界面,各参数含义如下所示:
font.family:设置VeighNa Trader图形界面的字体类型,除了默认的Arial字体,也支持Courier New和System字体;
font.size:设置VeighNa Trader图形界面的字体大小,用户可以根据自己显示器的实际分辨率对字体大小进行修改。
log.active, log.level, log.console和log.file用于对日志输出进行配置,各参数含义如下所示:
log.active:控制是否启动LogEngine,默认为True。如果该项修改为False,则后续几项参数都将失效,同时VeighNa Trader运行时不再输出日志或生成日志文件(可以降低部分系统延时);
log.level:控制日志输出的级别,日志可以从轻到严重分成DEBUG、INFO、WARNING、ERROR、CRITICAL五个级别,分别对应10、20、30、40、50的整数值。如果日志等级低于该项设置值,将会被忽略。如果想要记录更详细的系统运行信息,建议将该项整数值调低;
log.console:console指的是终端,如Windows系统上的cmd和Powershell,以及Linux上的Terminal。当设置为True时,通过终端运行脚本(需要注册日志事件监听)来启动VeighNa Trader,日志信息会输出在终端中;如果通过VeighNa Station来直接启动VeighNa Trader,则无console输出;
log.file:该参数用于控制是否要将日志输出到文件中,建议设置为True,否则无法记录生成的日志。
VeighNa Trader的日志文件,默认位于运行时目录的.vntrader\log目录下,完整路径为:
C:\users\administrator\.vntrader\log
其中,administrator为当前Windows系统的登录用户名。
以email为前缀的参数用于对邮箱进行配置,可以在特定事件发生时(如委托成交,数据异常时)发送邮件实时通知,各参数含义如下:
与数据库适配器类似,对于数据服务有一个标准化的接口BaseDatafeed(位于vnpy.trader.datafeed),实现了更加灵活的数据服务支持,具体字段含义如下:
字段如图所示:
目前支持七种datafeed:
以database为前缀的参数用于配置数据库服务。目前,VeighNa支持SQLite、MySQL、PostgreSQL、MongoDB、InfluxDB、DolphinDB、Arctic和LevelDB八种数据库。具体配置方法详见项目文档的数据库配置部分。