分布式对冲

Author: AresQuant, Created: 2023-09-06 18:34:05, Updated: 2024-04-01 15:18:37

简介

内容较多不能面面俱到,只选择关键性内容做精简描述,某些基础内容和细节不赘述,有疑问可以咨询,有问题可以指正修改, 策略只使用最优的方式解决各种问题,现阶段无法确定的流程和规范除外,如果认为有更好的解决问题的方式可以提出。

收益反应的是币的数量变化,与价格无关。 数据不包括返佣,返佣收益比较可观。 不同账号条件不同收益率差别比较大,条件包括:手续费等级、接入交易所数量、资金量、杠杆大小、使用第三方经纪商账户(LTP等)、 使用跨洋专线、使用colocation服务、保证金调配速度、主/被动平仓、参与新功能测试等。 对冲模型,运用中性套利、做市等多种量化策略进行交易,风险敞口0,回撤极低,策略容量大,正数学期望,可实现资产稳定增长。 收益率影响因素(权重从高到低):

  1. 交易所费率,费率越低收益越高。
  2. 市场波动率和交易量,波动越剧烈收益越高,交易量越大收益越高。
  3. 是否使用交易所colocation服务和低延迟专线网络。
  4. 算法更新,更新后理论上会提高收益率。
  5. 接入交易所数量,接入交易所越多理论收益越高,同时风险越低。
  6. 杠杆大小,理论上杠杆越大收益越高,实际上根据行情存在一个数学最大值,超过最大值会比较频繁的触发止损降低收益,另外杠杆越高抗风险能力越低。
  7. 不同交易所保证金调配速度,速度越快收益越高。

策略有弹性,如果有特殊需求可以定制相关功能,比如使用LTP、使用私有专线等。 可自由自主追加和撤出资金,不影响统计和曲线。交易所账户初始化完成后不能改变账户、交易、仓位等相关配置,除了资金划转和充值提现,不能自行做交易。 资金按权重分配到对应交易所,随时间推移不同交易所资金量会出现失衡,可以手动处理也可以选择程序全自动处理。 自用策略随着不断升级容量越来越大,现有资金规模不能吃满,所以分享到FMZ。 在深熊行情前提下,根据历史数据和现有资金规模估算总资金量增加到$1000万收益率不会有明显降低。 主要风险:中心化交易所固有风险、云服务商故障、程序BUG,不保本,请使用闲置资金。 发生一些风险事件时可能需要手动介入,比如交易所宕机或部分功能故障、云服务商设备或网络故障,或者其他未知问题导致机器人无法处理。 当事件发生时非预期盈利或亏损概率各50%,只是可控性降低。分全交易所故障和部分交易所故障两种情况, 全交易所故障无解(几乎不可能发生),部分交易所故障分以下几种情况(自行根据行情平仓):

  1. 非故障交易所持续盈利,建议当故障交易所达到爆仓价格后,非故障交易所额外利润增长一定数量后逐步平仓。
  2. 故障交易所持续盈利,建议非故障交易所根据仓位风险平仓一定数量止损(系统运行正常时会自动止损)。

盈利原理

基本原理简单,同一个交易对,A交易所价格低,B交易所价格高,A做多,B等量做空,这样就赚取了一个差价,差价反了就反着再来一遍,又赚一次差价, 目前空气动力学偏少一些,大力出奇迹偏多一些,后续遇到瓶颈再处理数理问题,有解决方案但不属于现阶段工作。

原理简单细节复杂,不描述细节,原因有2:

  1. 比如差价不反转怎么处理?不同币对每次下单数量多少?资金费怎么处理?一个币种价格波动影响所有持仓的强平价格怎么开仓/止损?类似这种细节有N个, 每个细节有N种解决方法,都描述则需要描述N的平方种情况,篇幅巨大。
  2. 大部分细节属于商业机密,比如某些关键公式需要灵感,需要猜测验证或获取交易所一些非公开信息,某些关键公式与交易所专员电话沟通较长时间, 推导一个月才能最终确定,某些关键公式本地离线计算结果精度与交易所返回数据小数点后16位精确一致,芯片可以给你用,芯片设计资料和制造工具可能给你?

FMZ没有要求公布策略实现细节和源代码,请不要咨询此类问题,互相节省时间才能产生多方共赢。

更新

策略不断升级更新中,现有功能已经稳定运行很长时间,但是还有大量新功能需要验证实现,也有很多其它配套工作要做,所以可能需要不兼容升级, 如果需要重启实盘或更新策略会尽量以可达方式发送通知。实盘运行状态大概率不会有问题,但是策略并不100%保证,需要自行定期查看状态和实盘中信息, 启动之后不再关注实盘产生问题自己负责,自己的资金只能自己负责。 升级可能包括修改交易所账户模式,配合交易所API升级,接入新交易所,算法、参数等不兼容升级,项目重构,托管者升级等。

图表

图表最重要的是单位净值和年化收益率,因为资金规模和出入金无法影响这两个数据,单位净值和份额可以参考支付宝上的基金部分或微信上的腾讯理财通基金部分, 某些数据不明白如何得出可以提出疑问然后做相关补充即可。 绝对收益只能辅助参考,并不能反应真实盈利能力,比如用$1W跑一个月绝对收益$300,下个月增加到$10W跑一个月绝对收益$2000, 绝对收益变高反而说明策略盈利能力变差了。

图表不受出入金影响。

总日交易量图表可以用来评估返佣收益。

以30日年化收益率为例,曲线上某个节点年化收益率代表此节点向前推30天的收益率转化为对应的年化收益率。

日志

日志大部分都是order log,重要日志会移到’状态信息’的表格中分级显示,日志定时清理每次清理保留65536条。 有用户怀疑挂单和仓位是虚假的,这个就比较低端了,所以这里就赘述一下,交易的合约和交易所数量多这种挂单频率中规中矩, 大行情10分钟产生10万条order log很正常,order log详细记录了全部订单的全部生命周期,创建、修改、成交、取消,也记录了限价、市价信息,完全明牌操作!!! order log对应的是交易所账户挂单,分布式系统有多个节点的实盘同时操作一个账户, order log会使用exchange.Log()记录其它实盘发出的order和成交,另外注意okx下单使用的是ws,所以只能使用exchange.Log()做记录, exchange.Buy()、exchange.Sell()、exchange.CancelOrder()等产生的下单日志只能说明进行了下单操作,没有修改价格、数量、成交等信息, 所以统一使用exchange.Log(),可以记录所有详细信息。 后续资金增加、分布式节点增加、策略升级、交易所增加会导致order log频率越来越快,单交易所仓位也会越来越多。 咨询管理员发币coin实盘是可以的,所以FMZ实盘录到了币coin实盘,有疑问自己去对比即可,有些实盘成交频率太高已经不再抓取成交记录,有些可能还能看到。

强平

只作策略基础说明,不代表策略按举例精确运行,实际情况远比举例复杂,N种变量叠加会导致实际运行有一些差别。

策略正常运行不存在强平风险,历史上也从未发生过强平,因为有完善的多级止损,同一个币种A交易所做多,B交易所等量做空,如果币价持续上涨B交易所会有强平风险, 到达阈值后,A交易所和B交易所同时平仓相同数量的合约实现止损。止损时价格与开仓时价格相比可能赚取或亏损两个交易所的差价,不考虑手续费以正向合约为例, BTC开仓时A和B两个交易所价格相同都为40000USDT,止损时平仓1个BTC价值的仓位,止损时如果A交易所价格45001,B交易所价格45000,止损实际上产生1USDT的盈利, 止损时如果A交易所价格45000,B交易所价格45001,止损亏损1USDT。

交易所宕机或部分功能故障、云服务商设备或网络故障,或者其他未知问题导致机器人无法处理时就会产生风险,结果有两种情况,非预期盈利或者亏损。

盈利: 同一币种A交易所做多,B交易所等量做空,B交易所宕机,币价上涨B交易所爆仓,已实现亏损金额1000,因为A交易所等量做多,爆仓时A交易所浮盈约等于1000, 币价持续上涨,等B交易所恢复时A交易所浮盈1500,恢复后策略会在A交易所等量平仓,此次宕机事件非预期已实现盈利为500(A盈利减去B亏损,1500-1000)。

B交易所可以分级止损(策略默认逻辑),止损一部分强平价格就向远处移动一些距离,继续浮亏就继续止损,这样爆仓概率很低,如果止损几次之后A交易所恢复了, 策略会在A交易所等量一次性平仓,这样会额外赚取一笔非预期已实现收益,因为提前止损了,但是无法提前止盈,浮盈是跑满的。

亏损: 盈利情况反过来即可。

不可控事件发生后行情走向还有其它几种情况,对应的非预期盈利或亏损自行推演即可,原理都一样。

产生机器人无法处理的风险时可能可以人工介入处理,理解了上述原理之后可以自行手动处理。

如果有条件大资金可以增加配套仲裁、熔断系统,比如发生自定义异常时配套系统接管处理,API控制权只在你自己手中,通过FMZ扩展API完全可以实现。

安全

策略使用FMZ上绑定的交易所API,API SECRET只有你自己知道(包括只读API),非只读API必须设置IP白名单绑定托管者服务器IP,托管者是你自己的服务器, 所以API控制权完全在你自己手中,API泄漏或者被盗是你自己的责任,与策略无关,通过FMZ扩展API可以自行编写监控熔断脚本毫秒级全自动隔离风险, 脚本没有技术含量也没有统一标准,所以策略本身不提供此服务,需要自行搞定。 比如币安曾发生过大规模API被盗,这种情况去找币安,与策略无关,建议币安使用Ed25519 API类型,此类型有最佳性能和安全性,即使币安发生API被盗也没有任何风险。

历史上从未发生过安全问题和资金损失,策略只负责输出对冲和配套逻辑,不保本,不负责任何形式的资金损失,策略尽可能提供各方面详细真实数据,可靠性、安全性自行判断。

避免有人故意或无意搞问题,上述基本原理、流程、免责如果不理解或不认同请不要使用此策略。

策略自身安全无法处理,可以随意被抄袭复制,因为接入之后无法避免用户实时查看详细下单、成交、流水等全部记录,这是使用者的自由, 等后续有保密方法可能会处理此问题。 根据历史情况和底层通俗逻辑可以比较确定的说抄袭复制成本收益比远远不如直接使用划算,就像从A去到B直接上车即可,自己造车开过去大概率是奥德彪的车, 翻几次车也不一定能到,大量底层细节一两个处理不好都可能翻车,处理好也不一定赚钱,已经不止一人发生过类似情况。

自动化提现

比如A交易所持有200个仓位,B交易所持有200个仓位,随行情发展A交易所保证金逐渐减少,对应的等效杠杆逐渐增加,B交易所保证金逐渐增多,对应的等效杠杆逐渐减少, 此时就需要从B交易所提现保证金到A交易所做平衡,否则A交易所到止损阈值之后会平仓止损,较大概率产生亏损(参考’强平’这一节)。

提现有多种方式,比如自行查看相关通知手动提现,或者自己写脚本提现,或者使用策略自动处理等。

交易所有白名单限制没有任何安全风险,如果使用策略自动处理交易所内必须添加白名单。

发生大行情时(312/519/LUNA/FTX这种级别)不同交易所相同交易对会有巨大差价,此时正是套利爆赚的时机,多次大行情中不同账号盈亏差异巨大,使用程序自动提现, 行情持续这段时间内短时间小资金平均有20%的收益,大资金普遍有4%的收益,没有使用自动提现的部分账户反而出现亏损,因为单边保证金不足无法吃正向差价, 只能被动负向差价止损,以差价小的BTC为例(小币种差价要大的多,举例只说明最基本最简单的原理,策略在一个交易所持有大量仓位, 同时行情期间策略在所有交易所有大量成交,实际情况会极其复杂,策略可能接入了N个交易所,以其中两个为例): A交易所持有多仓,B交易所持有空仓,币价开始暴跌A交易所价格37800,B交易所价格38000,A交易所保证金开始逐渐变少(可能是BTC仓位导致,也可能是其它 仓位导致),B交易所保证金开始逐渐变多, 到达提现金额阈值后B交易所自动提现保证金到A交易所,此时A交易所价格34500,B交易所价格36000,A交易所可以平空或开多,B交易所可以平多或开空赚取 每BTC 1500USDT的利润,A交易所虽然UPNL或PNL为负,但是自动提现后有了充足保证金可以继续开多赚取每BTC 1500USDT的利润。 因为大行情持续时间较短,并且可能发生在24小时任何时间段,等行情差不多完事了或者睡醒之后才看到提现通知可能发生亏损情况,A交易所浮亏逐步增加, 逐步触发止损(止损查看’强平’这一节),这种行情下止损不比平时,会亏损一个较大的差价,行情开始前A交易所和B交易所保证金各占50%,行情结束后可能 A交易所资金占比5%,B交易所资金占比95%,资金利用率从100%降到10%。

注意:USDT提现大部分时间都非常快。

资金分配有一定随机性,即使所有交易所权重相同资金量分配也可能差距较大,因为持仓是不确定的,比如有三个相同权重的交易所A、B、C, A开空,B等量开多,杠杆开到8倍停止,然后A平空,C等量开空,这样A仓位为0,B仓位是8倍多仓,C仓位是8倍空仓, 此时对冲已经和A没关系了,A如果占用1/3资金就是纯浪费。

行情大小不同举例中的数据也会不同,这里只是根据历史情况做基础原理描述,自由度高根据自身情况自行选择。

条件

最低:20W USD等值资产 最高:无限制

费率:必须有高等级VIP费率或做市商费率

返佣

返佣收益可观,建议都挂上。 返佣自行搞定,可以挂在她这里https://t.me/Lentil_coco,返佣比例都比较高,有什么问题直接找她,我的返佣都挂在她这里。 如果还是搞不定就不用返佣了。

OKX下单时tag参数填写 93eb51db275cBCDE 自动获得30%经纪商返佣到你自己账户(策略默认行为)。 已有节点返佣时经纪商返佣比例为10%,不跑此策略也一样自动返佣到你自己账户,随经纪商等级升高,返佣比例也会随之升高。

OKX注册新账号或激活老账号我这有个节点目前等级返30%,返佣全部给你,直接返到你账户20%(最高只能设置到20%), 剩余10%返到我账户手动转给你。节点返佣等级提高之后也是全部返给你,不跑本策略也是全返。 https://www.okx.com/cn/join/aresquant

费用

策略本身免费,按净收益(包括返佣收益)分成,分成比例30%。 已经接入的用户可以邀请新用户,从新用户收益分成中抽取20%,需要自行处理对接和结算等全部事务。 目前无预付,看情况手动结算。 交易所破产、第三方返佣结算等损失与策略无关不计入策略损失。

实盘

分布式对冲-东京 分布式对冲-新加坡

分布式系统有多个节点,策略并没有满运行所有节点,只运行权重高的节点。

电报

https://t.me/Aresx333 先看文档,能写的尽量都写了。

FAQ

  • 数据为什么不包含返佣? 因为默认账号返佣不能反应所有账号返佣情况,不同账号条件不同返佣差距较大:

    1. 返佣百分比不同
    2. 交易所组合方式不同交易量差距很大,导致返佣差距很大
    3. 交易手续费不同交易量差距较大,导致返佣差距较大
    4. 做市商身份没有返佣
    5. 不同交易所返佣币种不同,没有标准计算方式准确计算,比如:OKX、BYBIT统一返USDT,币安返交易对结算币种,如果有BNB抵扣则返BNB

    返佣可以根据交易量估算,大部分情况约等于总交易量的万分之一。

  • 收益曲线为什么只包含正向合约? 因为收益曲线只能表示一种计价货币,使用正向合约收益最合适,策略同时运行多类别市场,非稳定币收益转换为稳定币收益没有统一标准计算。 更多详细的数据查看’策略图表’即可。

  • 收益曲线为什么开始时间早于实盘时间并且数据量少? 时间早于实盘时间是因为自用策略开始时间早,等比例导入历史数据方便观察。数据量少是因为收益快照按时间周期进行了聚合,可以在一页看到整个曲线方便观察。 怀疑曲线有问题等1-2年数据再看即可,全职开发三个月,发现并协助解决N个托管者bug(包括内存泄漏重大bug),做这些工作不是为了造个假数据陪你扯皮。

  • 策略参数为何如此复杂? 策略参数实际上只一项,参数类型非常单一,只是配置项较多而已,是为了最大限度满足安全性和性能, 如果了解基本原理就知道这些复杂性不是策略本身需求,是因为要解决问题只能如此。

  • 为什么没有其它常见交易所? 策略第一顺位是安全性,所以优先接入排名靠前有历史的交易所,收益会低但是资产安全性更高,即使有用户建议也从未接入过FTX,因为存在历史太短可靠性不好说。 不同用户风险偏好不同,为了增加收益率后续会支持排名靠后的交易所,策略中可自由选择是否接入。

  • 联系方式为什么只有电报? 因为大部分咨询仅仅是咨询,使用电报最方便,直接就开始沟通没有多余步骤,不需要添加微信好友并验证或QQ好友或其它多余操作。进一步合作之后各种联系方式都有。

  • MORE 评论中可能也包含一些有用的信息。

接入

需要运行的时候找我在FMZ后台生成注册码,然后给你手册绑定交易所启动实盘完事。 托管者必须部署到对应节点,因为延迟最低。 接入交易所不能低于2个,托管者所在节点交易所至少接入1个。 支持的交易所参考实盘,交易所数量会随开发进度增加。

节点和交易所

节点 交易所 云服务商 地域 可用区ID
新加坡 BYBIT AWS 亚太地区 (新加坡) ap-southeast-1 apse1-az3
东京 BINANCE、COINEX AWS 亚太地区 (东京) ap-northeast-1 apne1-az4
爱尔兰 BITMEX AWS 欧洲 (爱尔兰) eu-west-1 euw1-az3

特别注意:接入某个交易所并且开仓之后策略参数不能删除此交易所,否则启动之后策略会认为整体仓位数量有缺失,缺失的数量就是删除交易所的持仓数量, 策略会在其它交易所补齐缺失的仓位。

交易所权重(只考虑收益率):

  1. BYBIT
  2. OKX
  3. COINEX
  4. BINANCE
  5. BITMEX

OKX API版本:V5 BYBIT API版本:V5 OKX 账户模式:单币种保证金模式 BYBIT 账户模式:经典账户,暂不支持统一账户

服务器配置下限

内存: 策略本身需要内存不超过128MB(不包含robot fork子进程自身内存)

带宽: 大部分情况下不超过10M,流量不确定因素太多(和行情关系较大,策略也一直在更新)所以不一定准确,需要自行观察服务器带宽使用率和限速丢包情况做调整。 AWS通用实例网络性能 一般不需要ENA,某些特殊定制可能需要支持ENA。

CPU: 无限制,平均单核CPU load不超过0.6

磁盘: 可用空间大于64MB

推荐配置:AWS t4g.nano 无限模式(自行监控CPU积分是否需要升级EC2实例),不同区域价格不同,截止发帖时新加坡$0.0053/小时,相当于$3.816/月, 随便看了一下其它部分地区价格有$0.0028/小时。 使用Savings Plans还可以打折,折扣可低至72%。 Amazon EC2 云服务器按需定价 Amazon Savings Plans


More