vnpy/docs/quickstart.md
2019-07-02 17:17:20 +08:00

165 lines
8.7 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")
### 脚本模式
在文件夹tests\trader中找到run.py文件。按住“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仿真
### simnow
以SinNow仿真交易账号登陆CTP接口为例点击菜单栏的“系统”->“连接CTP”后弹出如上图所示CTP接口的配置对话框输入以下内容后即可登录
- 用户名username111111 6位纯数字账号
- 密码password1111111 (需要修改一次密码用于盘后测试)
- 经纪商编号brokerid9999 SimNow默认经纪商编号
- 交易服务器地址td_address180.168.146.187:10030 (盘后测试)
- 行情服务器地址md_address180.168.146.187:10031 (盘后测试)
- auth_code和product_info主要用于19年中的CTP接入验证目前留空即可
注意若使用期货实盘账户需要问清楚其brokerid、auth_code和product_info; 并且仿真交易需要另外申请开通。
连接成功以后,日志组件会立刻输出陆成功相关信息,同时用户也可以看到账号信息,持仓信息,合约查询等相关信息。
### 穿透式接口连接(新版)
#### 仿真用户
以中信期货为例如果最后不上实盘以在生产环境下仿真为目的则不用提交任何表格在官网申请注册仿真账号打开官网公告找到相应接入参数。打开vnstation后点击菜单栏的“系统”->“连接CTP”后弹出如上图所示CTP接口的配置对话框输入以下内容后即可登录appid和authcode在仿真环境下是全统一的
- 用户名username[申请的仿真账号]
- 密码password[仿真密码] #最好修改一次
- 经纪商编号brokerid66666 #中信期货的
- 交易服务器地址td_addresstcp://ctpfz1-front1.citicsf.com:51305
- 行情服务器地址md_addresstcp://ctpfz1-front1.citicsf.com:51313
- appid(产品名称):client_xxx_1.0.1 #xxx部分非自定义必须写xxx
- authcode授权码0D6V7N1CIBWUT1CT
#### 实盘用户
### 中信期货(穿透式最新教程)
####仿真
以中信为例如果完全是以仿真为目的则不用向期货公司提交任何穿透式申请表直接在期货公司官网注册一个仿真账号使用期货公司提供的仿真环境即可在连接时必须import的是ctp6.3.15版本不可以是ctptest6.3.13版本)
- 用户名username[你的账户]
- 密码password[你的密码] (最好修改一下密码)
- 经纪商编号brokerid66666 (中信的)
- 交易服务器地址td_addresstcp://ctpfz1-front1.citicsf.com:51305
- 行情服务器地址md_addresstcp://ctpfz1-front1.citicsf.com:51313
- auth_code(授权码): 0D6V7N1CIBWUT1CT
- appid: client_xxx_1.0.1(注意必须写xxx仿真不允许自定义)
 
## 订阅行情
在交易组件输入交易所和合约代码并且按“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")