如何构建区块链量化交易系统?

来源: admin 分类: 行情分析 发布时间: 2018-12-17 19:15:34 阅读:

如何构建 区块链量化交易系统?本教程,暂时分为,三个部分


一,基础理论以及代码基础


二,机器学习在上的基础应用(Tensorflow + Python去做)


三,系统可靠性加固


代码在https://github.com/hzm1313/yc,代码冗余了其他一些东西,后面会用JAVA9的模块特性把模块给分出来,火币网的接口封装了WS,和restful,杠杆未封装


平台选择为火币网,说起来是因为以前火币网不用翻墙,可惜现在也要翻了,所以翻墙是必备的,可以用SSTAP去连接SSR结点,会将TCP,UDP连接也进行转发,原生的用IDEA调试总是有问题。


量化交易定义


根据深圳交易所对量化交易的研究可知,量化交易是指投资者利用计算机技术、金融工程建模等手段将自己的金融操作方式,用很明确的方式去定义和描述,用以协助投资者进行投资决策,并且严格的按照所设定的规则去执行交易策略(买、卖)的交易方式。按照数学模型的理念和对计算机技术的利用方式,量化交易方式可以进一步细分为自动化交易(Automatic Trading)、数量化投资(Quantitative Investment)、程序化交易(Program Trading)、算法交易(Algorithm Trading)、以及高频交易(High Frequency Trading)


高频交易


(BitMex/Biance)与火币做对比


----代码暂时未写,不想爬虫,不想封接口了,都TM苦力活,要吐了,后面补进来---


交易模型已经构造完毕


交易系统,稳定,快速,易更改,可监控(其实redis一套可以弄完,不过是为了学习,会采取自己接触比较少的东西去做)


监控选用 Promethus,然后拉取数据,做可视化


稳定:代码看自己了


快速:并发的走起


更改:数据库配置的走起,然后RabbitMQ做消息队列推


存储: redis持久化搞


现在很多海外服务,所以用spring cloud,搭建微服务,做服务调用


java + python交互,做机器学习模型结果的交互


这是我整个系统的构造思路,代码会在git里面也会一步一步OVER掉所有需求


自动化交易


指将技术分析投资方式固化成计算机可以理解的模型、技术指标,计算机程序根据市场变化自动生成投资决策并付诸执行的交易方式。简而言之,自动化交易是技术分析投资方式的自动化。自动化交易可以避免投资人的心理变化和情绪波动,严格执行既定策略,是最基本的量化交易方式,在外汇交易和期货交易领域应用很广。


程序化交易


是从美国七十年代的证券市场上的系统化交易发展演变而来的,是伴随着股指期货与现货市场套利交易而兴起的数量化交易方式。纽约证券交易所(NYSE)把程序化交易定义为:Program trading encompasses a wide range of portfolio-trading strategies involving the purchase or sale of a basket of at least 15 stocks with a total value of $1 million or more.即任何含有标普500指数15只股票以上,其价值100万美元以上的交易,属于程序化交易。纽约证券交易所的定义主要突出的是交易规模和集中性。程序化交易发展到今天,其含义已经远远超过了纽约证券交易所当初的定义。国泰君安证券对程序化交易给出了一个更为市场化的定义:根据一定的交易规模和规则生成买卖信号,由计算机自动执行买卖指令的交易过程。简单的说,就是利用计算机程序来控制买进卖出的事迹并自动执行。在这个定义中,突出的是交易模型、计算机程序对交易的重要性。随着量化技术的深入发展,程序化交易和算法交易的界限逐渐模糊,有些市场使用高频交易描述流行的量化交易方式。


高频交易


源于程序化交易和做市商机制,是指透过极高速的超级电脑分析高频交易数据中的价格变化模式,并且利用这些价格变化模式获利,通常高频交易利用服务器的地理位置优势(Co-location),在相对更快的时间内获得市场行情和执行大量交易指令,从而取得普通交易方式难以获得的利润空间。近年来,除了信息技术是的交易速度不断加快之外,交易平台日趋多元化也使得高频交易成为可能。


数量化交易


通过研究基本面去做,做爬虫爬信息去做


算法交易


更好的价格买入,因为你作为资金量较大的用户,买入,市场印象较大


算法交易,数量化交易(研究基本面)我研究不多,因为概念上对于大多数人并不是一个很优秀的实施概念,所以就不展开了,要是有什么好的文章或者思路也可以分享给我,感谢


自动化交易,高频交易,程序化交易是在本系统构建范围之内


代码构建思路


现在我写了2个策略


策略A,1分钟线上下跌30次,买入,上涨或者下跌0.005%卖出


策略B,网格策略,上涨5%,10%,15%,分别买入总价的30%,30%,40%,下跌反之,基准价,我开上帝模式,选了要给比较好的基准价


这是自动化交易


策略A进一步,1分钟下跌(N)次,选择一个比较优秀的下跌次数以及回测范围,去回测,动态的生成策略


策略B进一步,网格策略,上涨N%,买入总量/当前量的N%,去回测,动态生成优秀的策略


高频交易


比如说现在币安,火币网,币安下跌,火币网上涨,这个时候我拥有火币网的币,是否卖出,当然卖,为什么?因为根据历史回测来看,币安作为全球第二的市场,反应币火币网快。也可以参考CEX,这种可以对冲的市场,现在有自动搬砖的软件了,我也就重点实现了


火币网API,实现有RESTFUL,和websocket2种类型,websocket接口有行情接口,restful接口有行情和交易接口,但是restful行情接口有不好的地方,速度和历史数据没有websocket的久远


本文由链王小编整理编辑发布,文章地址:http://www.rjid.net/fenxi/2018/1217/12107.html,转载请注明出处!

在线咨询 x
商务合作微信
点击咨询