项目预算:1千~5千
开发周期:15天
发布时间:2017/10/20
要求地区:任意
一、项目描述
数字货币交易所通过Web API向外发送交易所行情数据。我们希望将主流数字货币交易所的所有交易对之行情数据全部采集存盘,以供将来分析之用。
二、基本要求
1、部分交易所提供多种API接口,主要分为RESTfull API和WebSocket API,对API利用的原则是优先使用WebSocket这种长连接API。
2、各交易所交易对需要记录的最基本数据包括 Ticker、Trades、Depth、OHLCV格式的多周期K线数据,如某交易所提供特殊数据,与发包方单独商定
3、Bitfinex的funding出借数据,wex.nz交易所的Tokens数据需要单独记录
4、每个交易所需要有自己的代码,参照coinigy的Exchange Code
5、数据以文件形式保存,提供向数据库导入的脚本
6、数据存储使用云服务提供商对象多级存储服务,需要能在系统中指定任意交易所任意交易对的存储级别
二、设计思路要点
1.各家交易所的数据格式和接口格式不尽相同要完成对接需要连接适配层和数据适配层,RESTfull适配层、WebSocket适配层分别适配多家交易所API,数据适配层是多家交易所的数据适配,将各家交易数据放进一个超集结构里存盘,可参考coinigy数据结构
2.文件数据结构设计需要简洁明了易于向数据库导入
3.文件的分割、命名规则要考虑粒度和检索方便
三、设计文档、代码规范
要求包括如下设计文档:
1、程序架构总体设计文档
2、文件结构设计文档
代码开发阶段要求:
1、使用客户提供的云端代码及资源管理服务。
2、资源及代码使用匈牙利命名法
3、所有类、函数、关键数据结构、复杂算法区域必须有注释
4、持续集成,定期上传生产环境,让客户及时发现问题。
语言要求:
Python 3.x 或 java
均运行于linux命令行环境
四、参考资料
https://www.coinigy.com/
交易所编码和数据结构均和参考这里
数字货币交易所网站
Bitfinex.com
Kraken.com
Bithumb.com
API资料均在这些交易所网站的API频道链接中
平均每个网站需要对接3-5个API,格式大同小异