vnpy/docs/quickstart.md
2019-08-06 19:37:06 +08:00

157 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 基本使用
## 启动程序
### 图形模式
登陆VN Station后点击VN Trade Lite快速进入VN Trader只有CTP接口或者点击VN Trader Pro先选择如下图的底层接口和上层应用再进入VN Trader。
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/VnTrader_Pro.png "enter image title here")
### 脚本模式
在文件夹example\trader中找到run.py文件(不是vnstudio下的需要在github上单独下载。按住“Shift” + 鼠标右键进入cmd窗口输入下面命令进入如图VN Trader
```
python run.py
```
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/Vntrader.PNG "enter image title here")
 
## 连接接口
### SimNow仿真
以SinNow仿真交易账号登陆CTP接口为例点击菜单栏的“系统”->“连接CTP”后弹出如上图所示CTP接口的配置对话框输入以下内容后即可登录
- 用户名username111111 6位纯数字账号
- 密码password1111111 (需要修改一次密码用于盘后测试)
- 经纪商编号brokerid9999 SimNow默认经纪商编号
- 交易服务器地址td_address218.202.237.33 :10102 (盘中测试)
- 行情服务器地址md_address218.202.237.33 :10112 (盘中测试)
- 授权码auth_code000000000000000016个0
- 名称app_idsimnow_client_test
连接成功以后,日志组件会立刻输出陆成功相关信息,同时用户也可以看到账号信息,持仓信息,合约查询等相关信息。
 
## 订阅行情
在交易组件输入交易所和合约代码并且按“Enter”键即可订阅器行情。如订阅IF股指期货交易所CFFEX名称IF905铁矿石期货交易所DCE名称i1905。
此时行情组件会显示最新行情信息;交易组件会显示合约名称,并且在下方显示深度行情报价:如最新价、买一价、卖一价。(数字货币品种可以显示十档行情)
注意:订阅行情填写的代码格式可以由菜单栏的”帮助“->“查询合约”里查到
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/subcribe_contract.png "enter image title here")
 
## 委托交易
交易组件适用于手动交易。除了在行情订阅中输入的交易所和合约代码以外还需要填写以下5个字段委托方向、开平仓类型、委托类型、委托价格和委托数量。若委托类型为市价单委托价格可不填。
发出委托同时本地缓存委托相关信息,并且显示到委托组件和活动组件,其委托状态为“提交中”,然后等待委托回报。
交易所收到用户发送的委托,将其插入中央订单簿来进行撮合成交,并推送委托回报给用户:
- 若委托还未成交,委托组件和活动组件只会更新时间和委托状态这两字段,委托状态变成“未成交”;
- 若委托立刻成交,委托相关信息会从活动组件移除,新增至成交组件,委托状态变成“全部成交”。
 
## 数据监控
数据监控由以下组件构成并且附带2个辅助功能选定以下任一组件鼠标右键可以选择“调整列宽”特别适用于屏幕分辨率较低或者选择“保存数据”csv格式
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/2_optiones.png "enter image title here")
### 行情组件
用于对订阅的行情进行实时监控如下图监控内容可以分成3类
- 合约信息:合约代码、交易所、合约名称
- 行情信息:最新价、成交量、开盘价、最高价、最低价、收盘价、买一价、买一量、卖一价、卖一量
- 其他信息:数据推送时间、接口
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/subcribe_contract_module.png "enter image title here")
### 活动组件
活动组件用于存放还未成交的委托,如限价单或者没有立刻成交的市价单,委托状态永远是“提交中”。在该组件中鼠标双击任一委托可以完成撤单操作。
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/active_order.png "enter image title here")
### 成交组件
成交组件用于存放已成交的委托需要注意3个字段信息价格、数量、时间。他们都是交易所推送过来的成交信息而不是委托信息。
注意有些接口会独立推送成交信息如CTP接口有些接口则需要从委托信息里面提取成交相关字段如Tiger接口。
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/trade.png "enter image title here")
### 委托组件
委托组件用于存放用户发出的所有委托信息,其委托状态可以是提交中、已撤销、部分成交、全部成交、拒单等等。
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/order.png "enter image title here")
### 持仓组件
持仓组件用于记录其历史持仓。其中需要了解以下字段含义
- 方向:期货品种具有多空方向;而股票品种方向为“净”持仓。
- 昨仓:其出现衍生于上期所特有的平今、平昨模式的需要
- 数量:总持仓,即今仓 + 昨仓
- 均价:历史成交的平均价格(某些巨型委托,会发生多次部分成交,需要计算平均价格)
- 盈亏:持仓盈亏:多仓情况下,盈利 = 当前价格 - 均价;空仓则反之。
若平仓离场持仓数量清零浮动盈亏变成实际盈亏从而影响账号余额变化。故以下字段数量、昨仓、冻结、均价、盈亏均为“0”如下图。
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/query_position.png "enter image title here")
### 资金组件
资金组件显示了账号的基础信息如下图需要注意3个字段信息
- 可用资金:可以用于委托的现金
- 冻结:委托操作冻结的金额(与保证金不是一个概念)
- 余额:总资金,即可用资金 + 保证金 + 浮动盈亏
注意:若全部平仓,浮动盈亏变成实际盈亏,保证金和浮动盈亏清零,总资金等于可用资金
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/query_account.png "enter image title here")
### 日志组件
日志组件用于显示接口登陆信息以及委托报错信息,如下图。
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/write_log.png "enter image title here")
 
## 应用模块
vn.py官方提供了开箱即用的量化交易应用模块在菜单栏中点击“功能”即显示应用模块如下图
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/quick_start/application.png "enter image title here")
 
## 全局配置
在菜单栏中点击“配置”可以进行全局配置如配置GUI界面字体的大小类型数据库种类RQData的账户密码用于初始化RQData客户端下载历史数据或者盘起载入数据来初始化策略设置email来发送信息。
其email的设置如下
email.server: SMTP邮件服务器地址
email.port: SMTP邮件服务器端口号
email.username: 邮箱用户名
email.password: 邮箱密码
email.sender: 发送者邮箱
email.receiver: 接收者邮箱