OKEX期货数据抓取

程序化交易入门(1):概述

程序化交易就是用程序通过API和交易所连接,实现按照设计的意图自动进行比特币买卖或实现其他功能。程序化与量化不完全相同,你也可以实现一些辅助功能,如价格报警、数据统计、自动满仓、定时买入,设定价格买卖等等,利用程序化交易赚钱则是一项更困难的任务。

1. 什么是API、apiKey?

API全程Application Programming Interface,及应用程序编程接口。你可以在各个交易所的角落里看到API字样,点开就可以看到相应的文档,具体可以实现哪些功能一目了然,如Okcoin API文档。apiKey、secretKey相当于程序的账号密码,并不是所有的连接都需要,如查看历史成交记录、获得ticker、深度数据这些公共信息;而查看账户信息、下单交易等就需要。key一般可以用户中心申请到。key申请到后注意保存,不能泄露。

2. 在哪个交易所进行交易?

一般来说推荐okcoin、火币,这两家交易所API功能做的相对较好,深度足够,交易活跃。如果只推荐一个平台,首选okcoin。其余的交易所没有特殊需求不考虑,且不说小平台风险高,API的延时错误也让人苦不堪言。

3. 接口调用说明?

·REST API,即(Representational State Transfer)的缩写,在REST API 中,如下面所示:

  • 在RESTful架构中,每一个URL代表一种资源;
  • 客户端和服务器之间,传递这种资源的某种表现层;
  • 客户端通过四个HTTP指令,对服务器端资源进行操作,实现“表现层状态转化”。

对REST API的请求交互,请参考:https://support.okcoin.com/hc/zh-cn/articles/360000695152

·WebSocket API,WebSocket是HTML5一种新的协议(Protocol)。它实现了客户端与服务器全双工通信,使得数据可以快速地双向传播。通过一次简单的握手就可以建立客户端和服务器连接,服务器根据业务规则可以主动推送信息给客户端。其优点如下:

  • 客户端和服务器进行数据传输时,请求头信息比较小,大概2个字节;
  • 客户端和服务器皆可以主动地发送数据给对方;
  • 不需要多次创建TCP请求和销毁,节约宽带和服务器的资源。

     官方强烈建议开发者使用WebSocket API获取市场行情和买卖深度等信息。

但在2017年10月12日更新了以下两点,作为以后开发首要注意点:

1.OKCoin国际站的WebSocket服务连接地址变更为:wss://real.okcoin.com:10441/websocket;
2.优化了OkCoin国际站WebSocket API。

OKCoin提供了API使用的示例程序,目前支持C#、C++、JAVA、PHP、Python版本,其他语言版本会相继支持。用户编程使用API时,必须要支持SNI①,否则可能出现连接失败。所有示例均支持SNI【SNI(Server Name Indication),是一项用于改善SSL/TLS的技术,在SSLv3/TLSv1中被启用。它允许客户端在发起SSL握手请求时(具体说来,是客户端发出SSL请求中的ClientHello阶段),就提交请求的Host信息,使得服务器能够切换到正确的域并返回相应的证书。】。

OKEX官方github链接已经完成了大多数工作:https://github.com/OKCoin/rest/tree/master/python,我们仅仅需要修改我们想要的结果即可,这里可以选取最简单的BTC、ETH来工作。

其中,程序如下图所示:

  • Client为主程序,包含用户指令集。在此文件里填入 API key,去除所需执行语句前的“#”符号,即可执行相应语句;
  • OkcoinFutureAPI,期货API功能项,供主程序调用;
  • OkcoinSpotAPI,现货API功能项,供主程序调用;
  • httpMD5Util,供现货、期货程序调用。用于进行http请求,以及MD5加密,生成签名;

后续步骤会在以后更新上表述。

程序化交易入门(一)相关推荐

  1. CTP程序化交易入门系列之四:行情订阅常见问题解答

    前言 这一章总结了大家订阅行情最常问的一些问题的相关解答,希望能有帮助.如有不对的地方,欢迎指正.后期会在这里更新迭代,欢迎到这底下提问! 更新时间:20201112 1 获取行情的地址在哪里可以查到 ...

  2. CTP程序化交易入门系列之六:报单(一)

    行情(mduserapi)这一块终于介绍的差不多了,下面着重介绍交易(traderapi)相关.再次强调两点: 一.交易和行情是完全独立的,互不干扰: 二.本系列用Python版本讲解,主要考虑到Py ...

  3. CTP程序化交易入门系列之一:准备

    前言: 笔者自毕业后一直从事低延时交易系统开发行业,这些年经历过神奇bug,给客户培训,回答客户千奇百怪的问题.在这个过程中,自身能力得到了很大的提升,但有时在面对一些小白问题时,总是感叹为何没有一系 ...

  4. CTP程序化交易入门系列之二:API基本架构及初始化

    上节讲了CTP程序化交易的入门工作:下载API,准备账号密码地址等.这节我们来讲API基本架构及初始化. 一. CTP API基本架构  这里为了便于大家理解API的相关函数,我简略地讲一下API的基 ...

  5. CTP程序化交易入门系列之三:获取实时行情及k线合成

    前面两篇有了基础知识的准备,这一篇讲通过CTP API获取实时行情,录入csv,实时合成k线.github上开源了录入csv及合成k线代码,后台回复pyctp可获取.先上两张效果图: 图1 csv数据 ...

  6. okcoinapi开发代码_比特币程序化交易入门(5):WebSocket API

    与REST API最大的不同是,websocket API可以实现订阅消息,以账户信息为例,REST请求一次,获得一次账户信息,而websocket订阅以后,每当账户信息有变动,就会推送消息,无变化是 ...

  7. OKEX及OKCoin量化交易入门-API入门及实践(Python语言)

    https://zhuanlan.zhihu.com/p/38537704 现在回头看学到的知识,在高手面前,自然是不值一提,但是对于许多还未入门的人来说,下面的内容可以有效避免大家走弯路,进入到程序 ...

  8. 期货程序化交易之期货入门知识摘录整理

           开发期货程序化交易程序,首先要熟悉期货交易术语,否则不熟悉业务,开发的程序将会漏洞百出.下面是我在学习过程中摘录的一些期货相关知识,还是比较零散,可以作为入门时的资料看看.由于是陆续从网 ...

  9. 小白期货CTP程序化交易开发入门(一)--CTP开发基础

    接触CTP也才半年多,一边学习一边摸索,看到各大CTP的QQ群里,也都是在问一些很菜的问题,就简单总结和介绍下,今天主要是基础知识,即CTP程序的基础和开源的Demo版本: CTP交易接口是由:::: ...

  10. windows2008 服务器时间格式改不过来_我用VNPY 1天时间搭建自主量化交易(程序化交易)平台...

    VNPY底层仿真回测系统目前支持上海期货交易所的CTP回测 : http://www.vnpy.cn 实盘期货(支持CTP):http://www.kaihucn.cn Simnow 上期CTP接口官 ...

最新文章

  1. Linux 硬链接和软链接的区别
  2. cv2.xfeatures2d.SIFT_create()时报错The function/feature is not implemented
  3. 【鲲鹏来了】鲲鹏迁移过程案例分享
  4. 使用GCC和GNU Binutils编写能在x86实模式运行的16位代码
  5. 智能优化算法:树种算法-附代码
  6. 管理感悟:要想到自己脖子后面有灰
  7. csol修改本地服务器,CSOL简单地控制台优化+显卡优化 低配也能流畅运行
  8. (转)Y480 完美黑苹果全套驱动分享
  9. isupper函数python_python字符串是否是大写-python 字符串大写-python isupper函数-python isupper函数未定义-嗨客网...
  10. el-select和el-tree组成树下拉框以及数据回显
  11. 第七章递归知识讲解。
  12. LOJ2312 LUOGU-P3733「HAOI2017」八纵八横 (异或线性基、生成树、线段树分治)
  13. php微信调用天气api,微信公众号接口开发--snoweek测试
  14. linux deepin配置优化:解决deepin v20.5不能自动降频导致CPU风扇一直狂转吹热气的问题
  15. 夜晚怎么能不吃宵夜呢
  16. 树的同构 poj 1635
  17. 关于win7下r3窗口进程保护的一些方式
  18. CC00018.LinuxBasic——|Linux常用命令.V12|——|挂载操作|...
  19. Shannon理论——笔记1
  20. win10硬盘启动从IDE改成ahci后无法启动系统的解决方式

热门文章

  1. 荣耀XIO升级鸿蒙,距断供不到10天 华为大招来了:不止鸿蒙
  2. ssh: Could not resolve hostname f: Name or service not known的解决
  3. Centos实现软路由
  4. 虚拟化技术原理(CPU、内存、IO)
  5. 冬瓜哥原创装b文 :《觉醒》
  6. Redis Cluster集群搭建
  7. Matlab中axis函数使用
  8. Android本地数据存储:Shared Preferences安全风险浅析
  9. CE游戏修改器制作游戏修改器教程
  10. 未转变者服务器买车指令,未转变者3.X服务器控制台命令大全_快吧单机游戏