位置:丁香财经网 >> 金融

期货编程语言(期货程序化编写)

日期:2023年05月06日 08:42 浏览量:1

有许多朋友想学习量化交易,但是不知道如何入门。就这个问题,我从以下几个方面谈一下自己的经验。


# 市场

期货市场的量化交易环境相对而言更成熟。

一方面,因为起步比较早,基本完成了市场教育、配套设施构建。另一方面,监管环境相对比较宽松,可以轻松地申请到量化交易资格。

从期货市场开始学习量化交易,快速了解其中的业务环节,掌握相关技术栈。之后,再考虑将相关经验复制到股票、期权市场。


# 编程语言

编程语言有很多,例如python、c/c++、java、rust、go等,各自都有大量的拥趸。

对于没有编程经验的朋友,可以考虑从学习成本最低的python开始。

一方面,python确实容易学习。另一方面,可以找到大量相关学习资料,以及大量的第三方库,避免重复造轮子。最后,遇到任何问题,都比较容易找到解决方案。

有了足够的编程经历之后,再转而去学习更适合自己的的语言,可以达到事半功倍的效果。

万事开头难,没必要再给开头增加难度了。总之,先入门。


# 柜台系统api

python加ctp入门量化交易

普通交易者必须通过经纪商才能进行交易。所以,量化交易程序是通过api接入期货公司柜台系统进行交易。

目前国内四家期货交易所都有自己开发的期货公司柜台系统,上期所的ctp、大商所的飞创、郑商所的易盛、中金所的飞马,还有一些第三方开发的柜台系统,例如盛立、易达、艾克朗科等。

其中,上期所的ctp(官网,交易时间访问:http://www.sfit.com.cn)上市最早,应用也是最广泛的。所以,学习ctp是入门量化交易的首选。

其实,api封装的主要功能是网络通信。api实现了交易程序向柜台系统发送请求,以及接收柜台系统返回的信息。

学习ctp的重点在于理解其中的请求和响应异步回调机制。几乎所有量化交易相关api的网络通信都是这种模式,无非是方法名称有所不同,请求/响应的信息有所差异而已。

ctp官方只提供了c++语言的api。python语言无法直接使用,需要进行一层封装,实现python和c++之间的相互调用。

目前,ctp的python封装都是第三方做的,因为技术门槛不高,所以网上可以找到很多相关项目。AlgoPlus是其中之一。

在python环境中用pip install algoplus命令行安装,也可以下载发行版安装包解压AlgoPlus文件夹后放置在项目目录中。

AlgoPlus封装的ctp api版本是v6.6.9,目前最新的,支持的python版本是3.7、3.8和3.9,可在windows和linux操作系统中使用。

AlgoPlus还提供了许多应用实例,方便入门学习,可以从以下网址下载(原文链接):

https://gitee.com/AlgoPlus/AlgoPlus


# 仿真环境

个人认为,最快的学习途径就是实践。学习量化交易最快的途径就是用程序去交易。

直接用实盘账户学习是不理智的。我们需要一个新手村环境,可以无限次犯错,允许无限次重来。这也是我们学习ctp的一个重要考量。

SinNow仿真系统(官网,交易时间访问:http://www.simnow.com.cn)是ctp官方提供的练兵场。初学者注册仿真账户后可以使用。

SinNow不仅交易时间支持仿真测试,非交易时间还开放7*24环境,重放历史行情支持仿真交易。

在Simnow环境测试通过的程序,只需要更换账户密码、前置地址等信息,就可以接入期货公司生产系统进行实盘交易。


# 前端工具

一个可视化的前端工具,可以让学习过程更直观。在实盘阶段,也方便我们对交易程序进行监控。

当然,可以考虑自己开发,对于学习阶段,及个人项目,建议使用第三方工具+log日志的方式。

快期v2都是一个很不错的选择。这是流行于炒单时代的神器,虽然炒单交易已经没落,但是个人仍然比较喜欢v2简洁的风格。

python加ctp入门量化交易

快期v2早期版本,允许通过修改配置文件,添加测试环境。例如,我这里就添加了一个第三方,N视界(https://n-sight.com.cn/)提供的仿ctp测试环境:

python加ctp入门量化交易

新版安装包禁止了修改配置,如果需要旧版客户端的朋友可以在后台留言“快期”,获取下载地址。


# 项目实践

纸上得来终觉浅,绝知此事要躬行。

再次强调一遍,实践是最快的学习途径。个人推荐新手依次完成以下几个项目进行练手:

  1. 以tick为数据源,合成K线数据,支持切换交易时间模式和自然时间模式。
  2. 以tick为数据源,合成某合约所有标的加权平均价,权重为持仓量。例如中证500期货,目前交易标的是IC2304、IC2306、IC2309、IC2312,以这四个合约持仓量为权重,盘中实时计算它们的加权平均价格。最后,思路如何提高算法效率。
  3. 以K线为数据源,计算简单移动平均、加权移动平均、移动线性回归,并思考如何提高算法效率。
  4. 写一个交易程序,依次实现买开、卖平、卖开、买平、撤单,并查询订单、成交、持仓、资金账户,等。
  5. 写一个条件单程序,支持价格条件和时间条件,当实时行情大于/小于某阈值时、或者到某时间点,进行报单。
  6. 写一个配对交易程序,A和B两个合约,首先报买入A的订单,当A订单有成交发生时,报卖出相应数量的B,如果B短时间内未成交,考虑撤单以更低的价格重报。
  7. 实现海龟交易策略。

其中,1-3以学习python为目的。4-6以了解ctp为目的。7帮助了解一个策略的组成部分:触发、加仓、资金管理、风控。

AlgoPlus提供的应用实例可以作为参考。可从原文链接处下载。

https://gitee.com/AlgoPlus/AlgoPlus

推荐阅读

游戏虚拟币交易平台?虚拟货币交易用什么软件
中国虚拟币处置平台排名(中国虚拟币处置平台排名最新)
虚拟货币网站建设(正规的虚拟币交易平台怎么判断)
虚拟币平台差价买卖?虚拟币平台差价买卖违法吗
怎样评价虚拟货币交易,什么叫虚拟货币交易活动啊
常用的虚拟货币app(哪个最正规十大虚拟货币交易平台)
股票股份股票价格是多少(股份的价格怎么算)
铁矿石期货炒单(铁矿石期货交易手册)
数字交易货币(今日介绍一下什么是加密货币?)
国内黄金交易开户平台(黄金现货开户交易平台)
期货编程语言(期货程序化编写)文档下载: PDF DOC TXT

标签: 交易 学习 ctp

文章来源: 丁香财经网
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至405936398@qq.com 举报,一经查实,本站将立刻删除。
相关资讯
芯片软件题材股票有哪些(芯片 软件)
芯片软件题材股票有哪些(芯片 软件) 2023-05-06

所以,学习ctp是入门量化交易的首选

用友 portal(用友网络)
用友 portal(用友网络) 2023-05-06

所以,学习ctp是入门量化交易的首选

金店加工黄金吗(金店加工黄金首饰)
金店加工黄金吗(金店加工黄金首饰) 2023-05-06

所以,学习ctp是入门量化交易的首选

动力煤809期货(动力煤2109期货社区讨论)
动力煤809期货(动力煤2109期货社区讨论) 2023-05-06

所以,学习ctp是入门量化交易的首选

海蜇怎么做(海蜇怎么做好吃又简单方便)
海蜇怎么做(海蜇怎么做好吃又简单方便) 2023-05-06

所以,学习ctp是入门量化交易的首选

用友软件索引被破坏(用友软件索引被破坏怎么办)
用友软件索引被破坏(用友软件索引被破坏怎么办) 2023-05-06

所以,学习ctp是入门量化交易的首选