对冲套利

From SharpTrader Arbitrage Software Wiki: A Detailed Overview of High-Speed Trading Technology
Jump to navigation Jump to search

“对冲套利策略”交易策略基于两个不同经纪商或加密货币交易所的流动性提供商之间的延迟差异和报价差异。 工作原理:

该策略比较两个交易所/经纪商的价格,一旦检测到套利机会(开仓价差),便同时开立两个方向相反的买单和卖单(在价格较低的交易所/经纪商处开立买单,在价格较高的交易所/经纪商处开立卖单)。之后,该策略等待相反的价格差(收盘价差),即卖单所在交易所/经纪商的价格低于买单所在交易所/经纪商的价格时,平仓。然后,该策略寻找新的开仓价差,并开始新的循环。

对冲套利简化操作流程图:

“对冲策略工具和订单”选项卡:

参数说明:

启用 – 启用或禁用对所选工具的交易。

偏移量计算 – 允许启用自动偏移量计算。

标签 – 允许为策略分配标签。

符号 1 – 第 1 面的符号名称。

符号 2 – 第 2 面的符号名称。

手数 1 – 是第 1 面要交易的手数。

手数 2 – 手数大小为 2。

“开盘价差”——指两家经纪商/交易所之间开盘套利交易的价格差(可以用点数、货币或百分比表示)。

“收盘价差”——指两家经纪商/交易所之间用于平仓套利交易的价格差异(可以用点数、货币或百分比表示)。

“滑点 1”——允许的最大价格偏差,订单发送方向为 1。如果价格超出允许的偏差范围,订单将被拒绝或重新报价。此功能仅适用于即时执行账户和 FIX API 账户上的限价单。对于市价执行账户,此功能无效。

滑点 2 – 允许的最大价格偏差,订单发送至第 2 边。

最大价差 1– 第 1 边的最大允许价差。如果实际价差高于最大价差 1 值,则套利信号将被忽略。

最大价差 2 – 第 2 边的最大允许价差。如果实际价差高于最大价差 2 值,则套利信号将被忽略。

最小价差 1 – 第 1 边的最小允许价差。如果实际价差低于最小价差 1 值,则套利信号将被忽略。

最小价差 2 – 第 2 边的最小允许价差。如果实际价差低于最小价差 1 值,则套利信号将被忽略。

“偏移”——价格两侧(以点数为单位)之间的持续变化。

Curr Diff 1 – 显示经纪商/交易所之间第一方的当前差价。

Curr Diff 2 – 显示第二方经纪商/交易所之间的当前差价。

最大差价 1 – 显示检测到的经纪商/交易所之间(软件重启或参数重置后)第 1 方的最大差价。

最大差价 2 – 显示检测到的第二边经纪商/交易所之间的最大差价(软件重启或参数重置后)。

当前价差 1– 第 1 方的当前价差(以点数表示)。

当前价差 2– 第 2 边的当前价差(以点数表示)。

在对冲交易对部分,右键单击交易对即可打开套利交易对管理菜单:

对冲组合:

编辑 – 打开对冲对属性窗口进行编辑。

克隆 – 克隆选定的对冲对冲对。

添加 – 添加新的对冲交易对。

移除 –移除选定的对冲交易对。

解除封锁 – 如果选定的对冲交易对由于错误而被封锁,则解除其封锁。

“按市场价平仓”——手动按市场价平仓选定货币对的交易。

“手动开仓”——允许手动开仓。

编辑开盘价/收盘价(加密货币)– 允许为对冲货币对设置多个开盘价/收盘价差。

多级差价开仓可以避免错过套利机会,即使在第一笔套利交易开仓后交易所之间的价格差增大。

重置最大差异 – 重置所选配对的最大差异值

“重置(不)盈利交易计数器”——重置所选货币对的盈利指标。

盈利指标使用从亮绿色(正收益)到亮红色(负收益)的一系列颜色,以直观地指示对冲组合的盈利情况。

“记录统计信息”——打开统计信息记录器选项窗口。


对冲对冲组合属性窗口:

参数列表:

“符号” - 允许从会话符号列表中选择符号(下拉列表中仅显示会话“符号”选项卡中激活的符号)。

“手数”——用于交易的订单大小。

根据账户类型的不同,交易批次大小会有一些差异:

修复 API 帐户:

除 Lmax 账户外,所有 FIX API 账户的货币交易均使用全手交易量,不设倍数,例如 1000(在 mt4 中 = 0.01)、10000、100000 等;指数/商品的交易量取决于合约规模,我们建议在设置交易量之前查看经纪商合约规格。

Lmax FIX API 账户:

对于 Lmax FIX API 账户,交易手数使用乘数 10,即 0.1(=mt4 中的 0.01)、1、10 等;对于指数/商品,交易手数为 1、2...10 等。

加密货币交易所:

在大多数加密货币交易所,交易手数代表1个基础货币单位。例如,BTC交易对的基础货币是BTC,ETH交易对的基础货币是ETH,以此类推。因此,1手=1个BTC、1个ETH或1个LTC,具体取决于交易对。在某些交易所,交易手数代表合约。

“滑点开放”——开仓订单允许的最大滑点(适用于限价单),如果实际滑点高于允许的滑点,则订单将被拒绝。

“滑点关闭”——平仓订单允许的最大滑点(适用于限价单),如果实际滑点高于允许的滑点,则订单将被拒绝。

“价差控制”——允许设置价差控制的前几个价格变动点数。

“允许买入”——允许对选定方下买单。

“允许卖出”——允许对选定方下卖单。

“检查数量”——检查 TOB 簿顶部是否有足够的流动性来满足指定手数的订单,如果没有,则忽略套利情况。

“虚拟”——在选定的一侧开立虚拟订单,而非实际订单。允许在单腿模式下使用软件。“重要提示!!!为了使此选项正常工作,开仓和平仓方式必须设置为‘同时开仓’/‘同时平仓’。”

“订单管理” - 调用所选侧的尾随参数管理窗口。

只有在编辑现有对冲组合时才会出现跟踪选项窗口,添加新的对冲组合时无法调整这些参数。

“开仓杠杆”——允许设置开仓交易的杠杆,仅用于加密货币交易所。

“成交杠杆”——允许设置成交杠杆,仅用于加密货币交易所。

0 – 杠杆交易已禁用

1 – 已启用杠杆交易

在某些交易所,可以设置实际杠杆值。

“评论”——允许对交易发表评论

通用参数

“开盘价差”——两家经纪商/交易所之间开盘套利交易的价格差异(可以用点数、货币或百分比表示)。

“收盘价差”——指两家经纪商/交易所之间套利交易收盘价的差异(可以用点数、货币或百分比表示)。

“最大开仓差价”——允许用于开立套利交易的最大差价。如果实际差价高于允许的差价,则该套利交易将被忽略。

“最大成交价差”——套利交易成交允许的最大价差

“最小利润”——从入场点到收盘价的最小点数距离,足以覆盖差价参数生效(对于加密货币套利,可以设置为 0)。

“最大利润”——如果一方达到最大利润值,套利交易将自动平仓,以防止追加保证金。

“偏移”——价格在两侧之间的持续波动

最大偏差 – 这些参数指的是偏移量计算,它们允许设置开仓交易的“与开仓价差”值的最大允许偏移量偏差。如果偏移量变化大于参数允许的范围,多腿/DAAS 对冲将忽略套利信号。

Max dev c – 与上述相同,用于完成交易。

“反向开仓”——在开仓时以与套利触发方向相反的方向开仓,即低卖高买。

“反向平仓”——在平仓时以与套利触发方向相反的方向开仓,即低卖高买。

“检查方向”——如果允许每对牌开出超过 1 局,则检查第一局的方向,并以相同的方向开出后续的一局。

“最大累计手数”——对冲交易对允许的 1 笔或多笔同时交易的最大手数。

“最大累计交易笔数”——对冲货币对允许同时进行的最大交易笔数。默认值为每个货币对 1 笔交易。

“模拟器模式”——允许以实时模式模拟交易。软件将根据经纪商/交易所提供的真实价格数据开启虚拟交易。

已启用 – 以模拟模式运行对冲交易对。

滑点开盘 1 – 在一侧 1 开立虚拟交易时要添加的滑点

滑点开盘 2 – 在第二方开立虚拟交易时要添加的滑点

Slip.close 1 – 在平仓虚拟交易时,第一方需添加滑点。

Slip.close 2 – 在第二方平仓虚拟交易时要添加的滑点

“利润(差额)计算模式”——允许设置利润显示和计算模式

佣金 1(%) – 经纪商/交易所向交易方 1 收取的每笔交易佣金,将计入套利交易结果计算。

佣金 2(%) – 经纪商/交易所向第二方收取的每笔交易佣金,将计入套利交易结果计算。

佣金可以按点数或百分比设置,具体取决于所选的盈利模式。

“重要提示!!!每轮套利交易,双方各收取两次佣金(开仓和平仓各一次),共计4次佣金。”

盈利模式:

“积分”——利润将以积分形式显示。

“货币”——利润将以货币显示。

“货币”字段——允许设置对冲交易对利润显示的基准货币

差价输入 – 价格差价计算模式(适用于开盘价/收盘价差价、当前差价 1,2 和最大差价 1,2)

“积分”——差值将以积分计算。

“货币”——差额将以货币计算。

“百分比”——差值将以百分比计算。

滑点输入 – 允许选择滑点计算模式。

“积分”——滑点将以积分形式显示。

“百分比”——滑点将以百分比显示。

当前差分计算公式取决于所选的差分输入模式:

差分输入点数:

hedgingPair.CurrDiff1 = (Bid1 - Ask2 - offset_in_pips) / Math.Min(Symbol1.PointValue, Symbol2.PointValue);

hedgingPair.CurrDiff2 = (Bid2 - Ask1 + offset_in_pips) / Math.Min(Symbol1.PointValue, Symbol2.PointValue);

货币输入差异:

hedgingPair.CurrDiff1 = (Bid1 hedgingPair.Lots1 - 0.01 Bid1 hedgingPair.Lots1*hedgingPair.TradeComission1 - Ask2*hedgingPair.Lots2 - 0.01 Ask2 * hedgingPair.Lots2*hedgingPair.TradeComission2);

hedgingPair.CurrDiff2 = (Bid2 hedgingPair.Lots2 - 0.01 Bid2 hedgingPair.Lots2 hedgingPair.TradeComission1 - Ask1 hedgingPair.Lots1 - 0.01 Ask1 hedgingPair.Lots1 hedgingPair.TradeComission1);

差异输入(百分比):

hedgingPair.CurrDiff1 = 100 * (Bid1 - Ask2 - offset_in_pips) / Math.Max(Bid1,Ask2);

hedgingPair.CurrDiff2 = 100 * (Bid2 - Ask1 + offset_in_pips) / Math.Max(Bid2, Ask1);

“开盘/收盘价差表”——允许在一天中的特定时间段内应用不同的开盘/收盘价差。

“添加”——添加新规则

编辑 – 编辑选定的规则

移除 – 移除规则

“开始时间”——规则生效的开始时间(使用服务器/机器本地时间)

“结束时间”——规则生效的停止时间(使用服务器/机器本地时间)

“开盘价差额”——在指定期间内适用的开盘价差额

“差额收盘价”——指定期间内应用的差额收盘价

“动态收盘”——动态收盘功能的理念是,根据您希望从交易中获得的利润动态计算收盘差价,而不是使用货币对属性中指定的固定差价进行收盘。

已启用 – 对此货币对应用动态平仓功能

“以货币计的利润目标”——您希望从套利交易中获得的利润(可以根据所选利润模式以积分或货币显示)。

“开盘价差(约)”——为获得目标利润而需输入的开盘价差的约数。

“收盘价差(约)”——为获得目标利润而需输入的收盘价差额(约)

“仅可用交易量”——该功能会检查两个经纪商/交易所的可用交易量 (TOB)。如果流动性不足以开立指定手数的交易,软件将以双方可用交易量的最大数量开仓。例如,如果您设置为以 1 手交易,但其中一个经纪商/交易所的可用交易量不足(例如 0.5 手),软件将在两个交易所均以 0.5 手开仓。

如果禁用则允许平仓 – 如果货币对被禁用但仍有对冲交易,则允许平仓对冲交易。

“关闭多个交易”——在差价触发关闭触发器时关闭所有交易(如果允许每对有超过 1 个套利交易),如果禁用,则只会关闭最后一个交易。

“显示盈利指标”——启用/禁用此对冲货币对的盈利指标。

“偏移量重新计算”——启用自动偏移量计算。

“偏移组”——指定偏移组对所属的偏移组(可从下拉菜单中选择)。要移除组关联,只需删除该值即可。

“标签”——允许为策略分配标签。用于对冲 ...