forked from vnpy/vnpy.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
trader-tutorial-1.html
441 lines (412 loc) · 18.1 KB
/
trader-tutorial-1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
<!DOCTYPE html>
<html lang="zh"
>
<head>
<title>vn.trader使用教程系列1-安装和配置 - vn.py</title>
<!-- Using the latest rendering mode for IE -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/images/favicon.png" rel="icon">
<link rel="canonical" href="/trader-tutorial-1.html">
<meta name="author" content="用Python的交易员" />
<meta name="description" content="原创文章,转载请注明出处:用Python的交易员 2016年已经快要过去一半,目前vn.py项目的交易平台vn.trader已经基本定型,在发布v1.0以前不再会有新的功能模块添加,接下来的时间将会主要集中精力在修复一些小bug方面,同时针对新用户推出这个《vn.trader使用教程系列》,帮助大家更快上手使用。 安装运行环境 和大多数商业软件的傻瓜式一路“下一步”的安装方法不同,vn.trader运行环境的安装需要用户自行操作的地方较多:Python运行时环境、各项插件、数据库等等。 这里介绍的是较为简洁方便、适合新手的Windows通用安装流程,精力旺盛的资深用户可以自行选择其他的安装方式,但是如果你最后失败了,回到这个流程一步步做下去保证可以运行起来: 准备一台Windows 7 64位系统的电脑 安装Anaconda:下载Python 2.7 32位版本,注意必须是32位 安装MongoDB:下载Windows 64-bit 2008 R2+版本 安装pymongo:在cmd中运行pip install pymongo 参考 ..." />
<meta property="og:site_name" content="vn.py" />
<meta property="og:type" content="article"/>
<meta property="og:title" content="vn.trader使用教程系列1-安装和配置"/>
<meta property="og:url" content="/trader-tutorial-1.html"/>
<meta property="og:description" content="原创文章,转载请注明出处:用Python的交易员 2016年已经快要过去一半,目前vn.py项目的交易平台vn.trader已经基本定型,在发布v1.0以前不再会有新的功能模块添加,接下来的时间将会主要集中精力在修复一些小bug方面,同时针对新用户推出这个《vn.trader使用教程系列》,帮助大家更快上手使用。 安装运行环境 和大多数商业软件的傻瓜式一路“下一步”的安装方法不同,vn.trader运行环境的安装需要用户自行操作的地方较多:Python运行时环境、各项插件、数据库等等。 这里介绍的是较为简洁方便、适合新手的Windows通用安装流程,精力旺盛的资深用户可以自行选择其他的安装方式,但是如果你最后失败了,回到这个流程一步步做下去保证可以运行起来: 准备一台Windows 7 64位系统的电脑 安装Anaconda:下载Python 2.7 32位版本,注意必须是32位 安装MongoDB:下载Windows 64-bit 2008 R2+版本 安装pymongo:在cmd中运行pip install pymongo 参考 ..."/>
<meta property="article:published_time" content="2016-05-05" />
<meta property="article:section" content="文章" />
<meta property="article:author" content="用Python的交易员" />
<!-- Bootstrap -->
<link rel="stylesheet" href="/theme/css/bootstrap.readable.min.css" type="text/css"/>
<link href="/theme/css/font-awesome.min.css" rel="stylesheet">
<link href="/theme/css/pygments/monokai.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/style.css" type="text/css"/>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?e8c7573f82d43fa50c895a8e28c49ceb";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="/" class="navbar-brand">
<img src="/images/favicon.png" width=""/> vn.py </a>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li><a href="/pages/quickstart.html">
Quick Start
</a></li>
<li><a href="/pages/blog.html">
日志
</a></li>
<li><a href="/pages/screenshot.html">
截图
</a></li>
<li><a href="/pages/community.html">
社区
</a></li>
<li><a href="/pages/api.html">
API接口
</a></li>
<li><a href="/pages/download.html">
下载
</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="/archives.html"><i class="fa fa-th-list"></i><span class="icon-label">Archives</span></a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
</div> <!-- /.navbar -->
<!-- Banner -->
<style>
#banner{
background-image:url("/images/banner.png");
}
</style>
<div id="banner">
<div class="container">
<div class="copy">
<h1>vn.py</h1>
<p class="intro">Developed by traders, for traders.</p>
</div>
</div>
</div><!-- End Banner -->
<div class="container">
<div class="row">
<div class="col-sm-9">
<section id="content">
<article>
<header class="page-header">
<h1>
<a href="/trader-tutorial-1.html"
rel="bookmark"
title="Permalink to vn.trader使用教程系列1-安装和配置">
vn.trader使用教程系列1-安装和配置
</a>
</h1>
</header>
<div class="entry-content">
<div class="panel">
<div class="panel-body">
<footer class="post-info">
<span class="label label-default">Date</span>
<span class="published">
<i class="fa fa-calendar"></i><time datetime="2016-05-05T13:13:00+08:00"> 2016-05-05(周四)</time>
</span>
</footer><!-- /.post-info --> </div>
</div>
<p>原创文章,转载请注明出处:用Python的交易员</p>
<p>2016年已经快要过去一半,目前vn.py项目的交易平台vn.trader已经基本定型,在发布v1.0以前不再会有新的功能模块添加,接下来的时间将会主要集中精力在修复一些小bug方面,同时针对新用户推出这个《vn.trader使用教程系列》,帮助大家更快上手使用。</p>
<h2>安装运行环境</h2>
<p>和大多数商业软件的傻瓜式一路“下一步”的安装方法不同,vn.trader运行环境的安装需要用户自行操作的地方较多:Python运行时环境、各项插件、数据库等等。</p>
<p>这里介绍的是较为简洁方便、适合新手的Windows通用安装流程,精力旺盛的资深用户可以自行选择其他的安装方式,但是如果你最后失败了,回到这个流程一步步做下去保证可以运行起来:</p>
<ol>
<li>
<p>准备一台Windows 7 64位系统的电脑</p>
</li>
<li>
<p>安装<a href="http://www.continuum.io/downloads">Anaconda</a>:下载Python 2.7 32位版本,注意必须是32位</p>
</li>
<li>
<p>安装<a href="http://www.mongodb.org/downloads#production">MongoDB</a>:下载Windows 64-bit 2008 R2+版本</p>
</li>
<li>
<p>安装pymongo:在cmd中运行pip install pymongo</p>
</li>
<li>
<p>参考<a href="http://jingyan.baidu.com/article/6b97984dbeef881ca2b0bf3e.html">这里</a>,将MongoDB注册为Windows服务并启动</p>
</li>
<li>
<p>安装<a href="https://www.microsoft.com/en-gb/download/details.aspx?id=40784">Visual C++ Redistributable Packages for VS2013</a>,中英文随意,为了未来使用方便把x86和x64的都给撞了</p>
</li>
<li>
<p>安装QDarkStyleSheet(非常漂亮的PyQt黑色主题):在cmd中运行pip install qdarkstyle</p>
</li>
<li>
<p>在<a href="http://github.com/vnpy/vnpy">vn.py项目的Github主页</a>选择Download ZIP下载项目代码,并解压到C:\vnpy</p>
</li>
<li>
<p>打开C:\vnpy\vn.trader文件夹,准备进行下一步的交易接口配置</p>
</li>
</ol>
<p>除了上述建议的环境外,目前已经有社区用户在以下环境中成功运行(通常需要重新编译API和修改部分代码):</p>
<ul>
<li>
<p>Anaconda 64位版本</p>
</li>
<li>
<p>Windows 8/10</p>
</li>
<li>
<p>VS2015</p>
</li>
<li>
<p>Ubuntu/Debian</p>
</li>
<li>
<p>Mac(只能使用IB和Oanda接口)</p>
</li>
</ul>
<p>未来vn.py项目组官方会加入对Ubuntu 16.04环境的支持,其他环境用户就只有自行折腾了,这里强烈建议想专心做交易的朋友不要轻易入坑。</p>
<h2>交易接口配置(账号、密码、服务器地址)</h2>
<p>完成运行环境的安装后,我们需要配置交易接口,每个接口的功能如下:</p>
<hr />
<table>
<thead>
<tr>
<th>接口</th>
<th>名称</th>
<th>相关品种</th>
<th>功能</th>
</tr>
</thead>
<tbody>
<tr>
<td>ctpGateway</td>
<td>CTP</td>
<td>期货、期货期权、证券期权</td>
<td>行情、交易</td>
</tr>
<tr>
<td>ltsGateway</td>
<td>LTS</td>
<td>证券、证券期权</td>
<td>行情、交易</td>
</tr>
<tr>
<td>xspeedGateway</td>
<td>飞创</td>
<td>期货、期货期权</td>
<td>行情、交易</td>
</tr>
<tr>
<td>femasGateway</td>
<td>飞马</td>
<td>中金所期货和期货期权</td>
<td>行情、交易</td>
</tr>
<tr>
<td>ksotpGateway</td>
<td>金仕达期权</td>
<td>期货、期货期权、证券期权</td>
<td>行情、交易</td>
</tr>
<tr>
<td>ksgoldGateway</td>
<td>金仕达黄金</td>
<td>金交所贵金属</td>
<td>行情、交易</td>
</tr>
<tr>
<td>sgitGateway</td>
<td>飞鼠</td>
<td>期货、金交所贵金属</td>
<td>行情、交易</td>
</tr>
<tr>
<td>oandaGateway</td>
<td>OANDA</td>
<td>外汇、CFD</td>
<td>行情、交易</td>
</tr>
<tr>
<td>ibGateway</td>
<td>盈透证券</td>
<td>外盘证券、期货、期权、外汇、债券等</td>
<td>行情、交易</td>
</tr>
<tr>
<td>windGateway</td>
<td>万得</td>
<td>证券、期货、外汇、期权、债券、指数等</td>
<td>行情</td>
</tr>
</tbody>
</table>
<hr />
<p>目前vn.trader基本实现了国内外全品种的交易,期货的接口最多(CTP、飞马、飞创等),股票的接口目前只有LTS,金交所贵金属的接口飞鼠性能较强,但很多银行提供的接口是金仕达黄金,做外盘交易推荐使用盈透证券(功能最强大),如果是刚入门交易的可以试试OANDA(10美元就能开实盘账户并且正常交易)。</p>
<p>这里以最常用的CTP接口举例介绍如何配置交易接口。</p>
<p>首先需要有一个CTP的仿真或者实盘账户,本着对自己钱包负责的态度,我建议新手从仿真账户开始,可以在<a href="http://simnow.com.cn/">SimNow</a>官网注册,完成后记好账号和密码。</p>
<p>然后前往<a href="http://simnow.com.cn/">该页面</a>查询SimNow的服务器地址和经纪商编码(BrokerID),Trade Front对应交易服务器地址,Market Front对应行情服务器地址,从标准CTP的服务器中选一个就可以。</p>
<p>使用代码编辑器(如Sublime Text、VS Code等,不要用WingIDE之类的IDE,可能有文本编码问题)打开vn.trader/ctpGateway文件夹下的CTP_connect.json,可以看到如下内容:</p>
<div class="highlight"><pre><span></span>{
"brokerID": "9999",
"tdAddress": "tcp://180.168.146.187:10000",
"password": "simnow申请",
"mdAddress": "tcp://180.168.212.228:41213",
"userID": "simnow申请"
}
</pre></div>
<p>分别修改每个字段为之前步骤中我们记录下来的信息:</p>
<ul>
<li>
<p>brokerID:经纪商编码</p>
</li>
<li>
<p>tdAddress:交易服务器地址(服务器地址:端口号),修改时注意不要少了tcp://</p>
</li>
<li>
<p>mdAddress:行情服务器地址,同样注意不要少了tcp://</p>
</li>
<li>
<p>userID:账号</p>
</li>
<li>
<p>password:密码</p>
</li>
</ul>
<p>保存后就完成了接口的配置。</p>
<p>注意事项:</p>
<ol>
<li>
<p>编辑json时,一定要使用代码编辑器(推荐Sublime Text),使用IDE大概率会出现文本编码问题(JSON文件无法打开);</p>
</li>
<li>
<p>修改服务器地址时不要少了tcp://,这是迄今为止发现用户最常犯的错误之一,会导致接口初始化时程序直接崩溃;</p>
</li>
<li>
<p>如果已经有了CTP的实盘账户,可以通过下载期货公司的快期交易软件,登录时点击测速和代理,查询实盘服务器的地址和端口号,而经纪商编码brokerID可以百度查询或者咨询期货公司的客户经理。</p>
</li>
</ol>
</div>
<!-- /.entry-content -->
</article>
</section>
</div>
<div class="col-sm-3" id="sidebar">
<aside>
<section class="well well-sm">
<ul class="list-group list-group-flush">
<li class="list-group-item"><h4><i class="fa fa-home fa-lg"></i><span class="icon-label">Social</span></h4>
<ul class="list-group" id="social">
<li class="list-group-item"><a href="http://github.com/vnpy/vnpy"><i class="fa fa-github-square fa-lg"></i> Github</a></li>
</ul>
</li>
<li class="list-group-item"><h4><i class="fa fa-external-link-square fa-lg"></i><span class="icon-label">Links</span></h4>
<ul class="list-group" id="links">
<li class="list-group-item">
<a href="http://www.vnpie.com" target="_blank">
官方论坛 - 维恩的派
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.trader" target="_blank">
交易平台
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.event" target="_blank">
事件引擎
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.ctp" target="_blank">
CTP接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.xspeed" target="_blank">
飞创接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.femas" target="_blank">
飞马接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.ksotp" target="_blank">
金仕达期权接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.ksgold" target="_blank">
金仕达黄金接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.sgit" target="_blank">
飞鼠接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/dev/vn.qdp" target="_blank">
QDP接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.oanda" target="_blank">
OANDA接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.ib" target="_blank">
IB接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.shzd" target="_blank">
直达期货接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.okcoin" target="_blank">
OKCoin接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.datayes" target="_blank">
通联数据接口
</a>
</li>
<li class="list-group-item">
<a href="http://github.com/vnpy/vnpy/tree/master/vn.demo" target="_blank">
开发DEMO
</a>
</li>
</ul>
</li>
</ul>
</section>
</aside>
</div>
</div>
</div>
<footer>
<div class="container">
<hr>
<div class="row">
<div class="col-xs-10">© 2017 用Python的交易员
· Powered by <a href="https://github.com/DandyDev/pelican-bootstrap3" target="_blank">pelican-bootstrap3</a>,
<a href="http://docs.getpelican.com/" target="_blank">Pelican</a>,
<a href="http://getbootstrap.com" target="_blank">Bootstrap</a> </div>
<div class="col-xs-2"><p class="pull-right"><i class="fa fa-arrow-up"></i> <a href="#">Back to top</a></p></div>
</div>
</div>
</footer>
<script src="/theme/js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="/theme/js/bootstrap.min.js"></script>
<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
<script src="/theme/js/respond.min.js"></script>
<script src="/theme/js/bodypadding.js"></script>
</body>
</html>