欢迎来到天天文库
浏览记录
ID:48114253
大小:113.80 KB
页数:4页
时间:2019-11-25
《如何开发数字资产交易所:设计原则和风险管理.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、如何开发数字资产交易所:设计原则和风险管理[本文由源中瑞涂先生编辑/交易所开发微信搜索:ruiec999]BTC交易所是一个24/7的市场,可以匹配各种货币的买家和卖家。一些交易所隐藏了底层市场(Coinbase),而其他交易所使订单对其用户(Bitstamp)半透明并提供高级选项。想想机场换钱台和Oanda或ForexTrader等专业外汇兑换台之间的区别。高级交易通常允许买方和卖方为其订单指定固定价格,而简单的交易以市场价格处理订单。这种交换是后者的变化:为高级用户提供高级外汇交易功能。a:主要客户功能为了吸引客户进行资产兑换,它需要有三个主要
2、特征。当然还有许多其他功能,但我认为这些必不可少:1、流动性:买方和卖方之间需要有足够的交易量才能找到彼此,以便(a)保持买卖价差低,以及(b)处理大宗订单而不需要大幅度调动价格。应通过订单簿,市场深度图表和开发人员API将可用流动性传达给客户。2、快速执行:从客户的角度来看,需要快速处理订单,理想的是即时处理。设定价格的订单无法立即处理,但应立即向客户显示所有订单的状态。3、资产安全:客户需要确信在交易所保留的资金是安全的-当然交换需要实际上是安全的。虽然客户无法直接看到交易所的后端操作,但通过通信和功能传达安全性非常重要。交易所面临着许多不同类
3、型的风险-详情如下。b:可伸缩性我将交换的规模分为三类:小型,中型和大型,或者同步,异步和分布式。小型同步交换简单易于构建:它们在单个交易中处理所有客户请求,从界面到订单簿,以更新客户的帐户记录。它们的扩展能力非常有限,并且在大量交易量时会失败。中等异步交换使用独立层来处理请求。接口接收用户请求并将其提交到队列。每个队列作为服务运行-可能在不同的机器上运行。服务执行请求,将状态传递给接口。例如,当客户下订单时,界面会将订单插入订单簿,轮询状态更新。一对盘服务处理订单,然后返回响应,界面显示。交换机的每个主要功能都有一项服务,以及与用户触发的请求无关
4、的维护服务。这种交换可以扩展到更大的交易量。交换的每个功能都作为独立服务运行。这种交换可以比小型交易所高得多。大型分布式交换是像培养基交换,但是分裂客户活动成段(碎片)。分片是独立的,如果使用云自动缩放,交换可以无限扩展。c:组件隔离交换可以在单个物理机器上运行,但设计为在不同的机器上拆分为多个组件:1、客户界面层(UI层是基于服务的,使用knockout.js和jqGrid绑定到JSONWeb服务。)2、交易(订单处理)引擎3、比特币客户端界面4、做市商5、后端客户服务界面我不会在这里详细说明每个组件的设计。(更详细的需求可以咨询Tel:1382
5、3113871)本文的其余部分详细说明了上述三个基本要求,以及为此交换开发的高级交易功能。绝大多数用户或加密货币交换绝不需要本节,但从概念上和实际上来说,它是最困难的组件,因此我将首先介绍它。买入或卖出资产的基本方法是下达“市场订单”。这是一项买入或卖出某种资产的常设请求,无论买入或卖出的匹配价格是多少。市场订单:买入或卖出资产的基本方法是下达“市场订单”。这是一个买入或卖出某些资产的常设请求,无论买入或卖出的匹配价格是多少。如果市场上有足够的流动性,订单应立即在一次交易或多次交易中执行。许多市场通过设定单一市场价格隐藏这些细节,并通过收取交易的固
6、定百分比来隐藏细节(及其风险)。高级订单:高级用户不希望接受市场汇率。如果匹配订单满足特定价格下限或上限,则只需交易。这个和主题的变化是高级订单。此交换实现以下高级订单功能:设置价格订单:只有在特定价格匹配时才会执行订单触发订单:止损/止盈:如果价格低于或高于设定价格,则自动出售硬币杠杆:用户可以请求访问杠杆。杠杆允许经批准的用户进行交易,就像他们的钱包中的资产多于其实际价值一样。这非常危险!客户可以进行不良交易并最终欠交易所的钱。为了降低这种风险,杠杆率仅限于(1)固定百分比(比法定余额高40%)(2)具有良好历史记录的手动验证客户(3)杠杆交易
7、仅在钱包余额(如果所有资产均已转换)时允许在交易大于零之后。由于风险和处理复杂性,只有少数客户可以获得杠杆。多货币支持:没有“主要”货币。为B买入/卖出货币A而创建的所有常规订单。这允许通过简单的配置更改向交易所添加任意数量的不同货币。透明度:向客户提供订单簿和市场深度图-也可通过API获得。3:快速执行任何交易所成功的关键在于能够在不影响系统完整性的情况下,无论市场条件如何快速匹配买卖双方。为了跟上高交易量,我们依赖于几种传统技巧-例如订单簿的内存缓存,以及事务触发的缓存失效。内存缓存允许订单可以非常快速地匹配。但是:每个事务必须是将结果持久保存
8、到数据库的原子操作。这需要低级别的表锁定,以防止客户钱包的双重花费。高级订单功能为订单处理增加了相当多的复杂性,这需要非常
此文档下载收益归作者所有