请选择 进入手机版 | 继续访问电脑版
楼主: wdd3
32268 14

[分布式系统架构] VNPY官方量化交易视频课程和CTP接口视频课程,VNPY性能架构日臻完善程序化交易框架 [推广有奖]

  • 0关注
  • 2粉丝

高中生

65%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0.0646
学术水平
0 点
热心指数
4 点
信用等级
0 点
经验
299 点
帖子
22
精华
0
在线时间
22 小时
注册时间
2014-1-1
最后登录
2022-2-17

wdd3 发表于 2017-12-24 10:12:03 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
VNPY经过几年的迭代,已经日臻完善,并不断扩大产品系列。
近期VNPY正在录制一批量化交易课程的内容,欢迎大家观看和指正。
VNPYWEB2.png


第1课
https://v.youku.com/v_show/id_XNTA2NzQzMjU4OA==.html

C1.png



第2课
https://v.youku.com/v_show/id_XNTA2NzQ0NzQ0NA==.html

C2.png



第3课
https://v.youku.com/v_show/id_XNTA2NzQ1MjU4MA==.html
C3.png


第4课
https://v.youku.com/v_show/id_XNTA2NzQ2MDIxNg==.html
C4.png



第5课
https://v.youku.com/v_show/id_XNTA2NzQ2MzI3Mg==.html
C5.png



第6课
https://v.youku.com/v_show/id_XNTA2NzQ2NzUwNA==.html

C6.png


第7课
https://v.youku.com/v_show/id_XNTA2NzQ3MzkyMA==.html

c7.png



第8课
c8.png


第9课
C9.png



第10课

c10.png



第11课

c11.png


第12课
C12.png



第13课
C13.png



第14课

C14.png


第15课

C15.png



第16课
c16.png


本章《期货CTP接口概述》是《期货CTP接口开发&量化交易快速入门课程》的第一章内容。
我们以上海期货信息技术有限公司CTP接口为例,
讲解实现国内期货市场程序化交易的整个流程。
因为CTP原生接口就是C++,所以C++用的是最多的,
同时也因为最近几年拍僧比较热门,也会有不少人选用拍僧框架,本次课程是以C++为讲解内容。

1.1b
后续章节内容还包括:CTP接口开发、编程范例、回测、高频交易、算法交易、职业发展等内容。
我们先从本章CTP接口的概述说起。
CTP接口是上海期货交易所所属子公司上海期货信息技术有限公司开发的一套期货程序化交易接口。。
可支持中国证监会管辖下五家交易所上海期货交易所、大连期货交易所、郑州期货交易所、中国金融期货交易所、上海国际能源交易中心。

1.1c
说到CTP接口,这套接口其实是中国金融行业一套标准API架构封装标准 ,CTP接口 支持证监会管辖下的五大期货交易所,支持证监会管辖下的149家期货公司。
CTP接口支持商品期货、股指期货、商品期权、股指期权合约的订阅和程序化交易。
很多券商和软件服务商都采用CTP方式封装接口。


比如像华宝证券的LTS Level兔接口的技术人员也是来自于上期CTP开发团队,需要LTS接口的,对深圳市场股票可以还原全档盘口。
LTS的接入要求是不少于3000万的基金产品户,必须具备私募基金牌照,个人是被拒绝接入的,达到接入条件并需要LTS接口的基金公司,可根据 官网上公示的华宝证券联系方式对接。


还有券商开发的接口不仅采用CTP架构,连命名方式也是以CTP方式命名的。
所以说,学会了CTP接口的开发,就具备了国内很多券商接口的开发能力。


1.2
1.2a
        CTP接口包含了行情接口和交易接口两部分。
        其中实时行情接口的作用是:提供实时行情,包括商品期货、股指期货、商品期权、股指期权 这四类合约行情的自由订阅。
        但需要注意的是交易所是不提供历史数据的,
        历史数据则需要自己自己这个通过接收实时行情后进行存储和维护。

1.2b
        当然有人会问,那些商业软件都有历史数据啊,
        那是因为软件服务商会自己维护一套历史数据给自己的客户调用。
        关于维护历史数据内容,我们会再后面的章节进行讲解。

1.2c
交易接口的作用是:登录交易账户可做各种交易指令的操作,
比如查询投资者结算结果,查询资金账户、查询持仓明细,查询交易所保证金率,查询报单手续费,成交通知,报单通知等。
交易接口的实盘接入还需要实盘开户,通过技术开发测试,证明CTP开发能力后,才可获得实盘账户的穿透式监管授权码。


1.2d
        此外, CTP接口是基于C++的原生api,而对JAVA、Python、C#等语言可封装成CTP框架,
        但这些编程语言的框架的本质还是通过调用原生C++ api。
        这些框架都不是由上期提供的,而是第三方封装的。

1.2e
        图中是CTP接口的架构图。
        从图中看有点复杂,  对我们普通的交易爱好者而言,  一般采用的是CTP的直连模式,  而不是中继模式。
        所以不管是在后面章节介绍的申请穿透式授权码部分内容,还是开发程序化部分内容都按直连模式来处理。
        所谓直连模式,就是直接连接期货公司的CTP服务器。对软件商而言可以选择直连模式也可以选择中继模式。




2.1
   我们再来谈一下:通过开发CTP接口实现程序化交易 ,需要包含以下部分工作:
   步骤1 CTP编程功能调试。
   步骤2 历史数据采集存储、清洗。
   步骤3 策略研发、回测。
   步骤4 量化策略实盘运行。
   步骤5 维护策略启动、关闭、运行、参数更新、节假日平仓。
   步骤6 采用减小滑点的措施。
   步骤7 策略组合、业绩归因。
2.2
   虽然存在步骤编号,但同时需要注意,以上步骤并不是严格按顺序完成的,而是一个循序渐进、交叉改进的过程。

   下面我们来依次详细解释一下各个步骤吧。
步骤1, CTP编程功能调试。 第一步就是选择合适的编程语言和CTP框架,来实现基本的功能搭建。

2.3
功能搭建过程中,可采用上期的仿真账户进行功能测试,网址是www.simnow.com.cn,需要注意的是, 只能在工作日白天才可访问。
注册账户后,可使用CTP接口登录该仿真账户进行模拟交易,仿真账户和实盘交易交易时间一致。
SIMNOW提供各种交易软件,比如快期等等,方便登录模拟账户对程序化交易产生的持仓和交易记录结果进行查看。
上期的官网也和SIMNOW是同样的情况,只能在工作日白天才可访问

2.4
比如说,如何连接CTP服务器,如何订阅行情,如何通过穿透式认证,如何登陆交易账户,如何报单,如何查询交易账户可用资金,
如何查询持仓,如何区分今仓昨仓,如何做资金管理,如何调用策略模块,如何解决多策略的各自仓位的区分,如何存储历史数据,
这些都属于功能开发调试部分的内容。


2.5
步骤2,历史数据采集存储和清洗
需要在量化回测之前准备好历史数据, 工作内容包括数据采集存储、清洗。
这里推荐一款免费的CTP TICK数据采集软件,可以从 下载,这款软件提供了CTP TICK数据的采集功能,可以自行部署采集服务,可以将全市场的TICK数据采集至本地硬盘。同时网站还提供了过去几年的历史数据通过网盘下载。
数据存储采用格式是后缀为.csv文本格式。

2.6
为什么不采用数据库存储TICK数据呢?
这是由于普通的关系型数据库以及内存数据库都不是为存储时间序列数据设计的,像行情这种数据一般是一次性写入,不会再插入新的数据,所以需要比数据库更紧凑的保存在硬盘上。而一般关系型数据库和内存数据库为了方便插入记录,存储数据内部有大量冗余空间,而且不连续。那么读取的IO性能不高,存储空间占用很大。

2.7
根据测试,文本方式存储占用存储空间只有关系型数据库的1/5,如果设置为Windows系统下NTFS文件夹压缩属性的话,文本方式存储CTP行情数据占用存储空间只有关系型数据库的1/25左右。
在单机环境下测试,从文本文件读取行情速度比从关系型数据库读取高出2个数量级。
用文件存储是一个更好的选择,事实上很多知名的股票软件公司都采用文件存储行情数据的。

2.8
采用文本格式存储行情数据,不仅实现了更小的磁盘空间占用, 还降低了读写数据时IOPS的占用,而且提高了读取性能 ,也同时降低了因为磁盘故障导致数据错误的可能。
在金融量化交易行业,除了采用csv这种文本文件存储行情数据,还常采用HDF5格式存储行情数据。

2.9
步骤3 策略研发、量化回测。
量化回测是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策。

2.10a
步骤4 量化策略实盘运行。

2.10b
步骤5 维护策略启动、关闭、运行、参数更新、节假日平仓。
交易系统应用的有效性受到后期维护工作质量的影响。朋友们都知道,市场是一直都在发生变化的,并且这种变化存在着很大的不稳定性。但是程序化交易系统是着眼于当下的市场行情设立的交易准则。所以当市场行情发生波动较大的状况的时候就会造成系统失效。所以需要维护人员在判断策略失效时停用策略或参数更新的工作,遇到节假日还需要做人工清盘的工作。

2.11
步骤6 采用减小滑点的措施。
具体到实际的交易中如何减小程序化交易滑点的影响?主要有3类优化方向:增大交易周期、算法交易、即日内择时、降低网络延迟。
首先,各位可以加大程序化交易的级别。如果一个大级别的模型是平均盈利70点,平均亏损40点,而小级别是平均盈利5点,平均亏损2点,在实际交易中前者一定比后者有效的多,因为滑点的尺度,和平均盈亏点数,不在一个数量级。

2.12
此外,还要想尽一切办法,尽可能降低网络延时。 市场行情的波动我们是无法左右的,但是我们能把控网络延迟时间。交易者一定要清楚,在电脑上看到的行情,是重播而不是直播,而程序根据这一行情下发的指令,中间也需要传递的时间,才能生效。所以行情波动速度大以及网络延迟严重,会加大滑点的影响。而这一影响,其实对小周期交易级别甚至会产生颠覆性的结果。

2.13
最后一个减小程序化交易滑点影响的有效措施是,避免在行情波动大的时间点做单,即日内择时。此外在节假日 ,还要回避特定事件。在重大事件发布前后,最好不要做单。很多交易者在数据公布前15分钟全部清仓。 各位交易者惹不起可以躲得起, 只要不持仓,那么行情波动再大也是毫无影响的。


2.14
步骤7 策略组合和业绩归因
在收益相同的情况下,回撤越小,则盈利能力越强,剩下的只是杠杆的不同。多策略组合通过降低回测,可以大幅提升盈利能力。
即使风格相似、收益表现相似的组合,其收益来源也可能不尽相同,通过业绩归因,能够更加清楚组合的收益究竟来源于什么,进而知道这种获取超额收益的能力是否能够持续,也能够明白组合发生剧烈波动的原因,从而改进策略。



5.8
SimNow仿真账户和实盘账户成交机制的区别。
1. 成交机制不同。
模拟账户采用对手价成交,实盘在盘中撮合成交。
2.模拟行情比实盘行情慢几十秒,因采用模拟行情同时采用模拟交易,所以对信号和盈亏不会产生实质影响。

5.9
3.资金容量对滑点的影响。
模拟账户成交不需要考虑资金容量导致的滑点,实盘账户在交易时因为会影响盘口,可能会导致滑点产生。
4.模拟行情除了和实盘一致的行情服务以外,还提供了24小时服务器进行测试,但不提供结算,适合用作CTP开发时的功能测试。




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


C15.png
C14.png
VNPYWEB1.png
VNPYWEB2.png
已有 2 人评分热心指数 收起 理由
dennis8797 + 1 观点有启发
我的素质低 + 3 精彩帖子

总评分: 热心指数 + 4   查看全部评分

wdgwz 在职认证  发表于 2018-7-2 13:59:54 |显示全部楼层 |坛友微信交流群

还需要做几年啊?

VNPY曾录制过CTP接口结合量化交易课程的内容,发布在经管之家上了,
另外我们为大家准备了CTP开源框架,代码完整开源,可以大幅度降低CTP的开发工作,我们将最新的VNPY3.0版本放在了这里


VNPY曾录制过CTP接口结合量化交易课程的内容,发布在经管之家上了,大家按下方关键词百度即可找到该视频课程
另外我们为大家准备了CTP开源框架,代码完整开源,可以大幅度降低CTP的开发工作,我们将最新的VNPY3.0版本放在了这里

https://gitee.com/vnpycn/vnpy


官网 http://www.vnpy.cn


t1.png

222.jpg
111.jpg

使用道具

wdgwz 在职认证  发表于 2018-7-2 14:00:30 |显示全部楼层 |坛友微信交流群
鼓励创新
https://q.vnpy.cn

t1.png


vntrader.png



BACKTEST.png


t2.png

使用道具

wdgwz 在职认证  发表于 2018-7-2 14:00:47 |显示全部楼层 |坛友微信交流群
鼓励VNPY创新

使用道具

wdd3 发表于 2018-10-4 10:05:46 |显示全部楼层 |坛友微信交流群

怎么还上课程了?

怎么还上课程了?

使用道具

wdgwz 在职认证  发表于 2018-10-16 09:31:33 |显示全部楼层 |坛友微信交流群
定量投资和传统的定性投资本质上来说是相同的,二者都是基于市场非有效或弱有效的理论基础。两者的区别在于定量投资管理是“定性思想的量化应用”,更加强调数据。量化交易具有以下几个方面的特点:
1、纪律性。根据模型的运行结果进行决策,而不是凭感觉。纪律性既可以克制人性中贪婪、恐惧和侥幸心理等弱点,也可以克服认知偏差,且可跟踪。
2、系统性。具体表现为“三多”。一是多层次,包括在大类资产配置、行业选择、精选具体资产三个层次上都有模型;二是多角度,定量投资的核心思想包括宏观周期、市场结构、估值、成长、盈利质量、分析师盈利预测、市场情绪等多个角度;三是多数据,即对海量数据的处理。
3、套利思想。定量投资通过全面、系统性的扫描捕捉错误定价、错误估值带来的机会,从而发现估值洼地,并通过买入低估资产、卖出高估资产而获利。
4、概率取胜。一是定量投资不断从历史数据中挖掘有望重复的规律并加以利用;二是依靠组合资产取胜,而不是单个资产取胜。

使用道具

wdgwz 在职认证  发表于 2018-10-16 09:32:14 |显示全部楼层 |坛友微信交流群
wdgwz 发表于 2018-10-16 09:31
定量投资和传统的定性投资本质上来说是相同的,二者都是基于市场非有效或弱有效的理论基础。两者的区别在于 ...
量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策 。

使用道具

wdgwz 在职认证  发表于 2018-10-16 09:33:39 |显示全部楼层 |坛友微信交流群
鼓励创新

使用道具

wdgwz 在职认证  发表于 2018-10-23 15:15:31 |显示全部楼层 |坛友微信交流群

还需要做几年啊?

还需要做几年啊?

使用道具

wangyong8935 在职认证  发表于 2018-10-26 13:02:56 |显示全部楼层 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-19 17:46