Avellaneda & Stoikov’s market-making strategy 工程化处理

这篇具有很好参考价值的文章主要介绍了Avellaneda & Stoikov’s market-making strategy 工程化处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前2篇文章详细介绍了AS存货模型的做市策略,这次对于这些公式里面一些希腊字母的取值是如何计算的,如何做工程化并应用到生产环境中做一些说明。

as模型的做市策略,AS高频做市,区块链,策略模式

as模型的做市策略,AS高频做市,区块链,策略模式

这个里面有一些重要参数:

很直观,可以直接取值的有:

s = current market mid price (中间价,也就是【最佳卖价+最佳买价】/2)
q = quantity of assets in inventory of base asset (也就是买入多少价值的股票数量)

当然T-t也是可以直接定义的,但是对于连续合约,7*24小时交易的数字货币市场,如何来定义这个T,在计算中如何处理。

需要计算的值有:

(sigma)σ = market volatility (市场波动率,可以用std标准差来表示)

(gamma) γ = inventory risk aversion parameter 这个翻译过来就是 规避库存风险的参数,当他取值很大的时候,我们按照公式一计算的预定价格就和中间价差距就远。
(kappa卡帕)  κ = order book liquidity parameter 这个是一个评估订单本,订单密度参数。也就是K值越大,参与买卖的人比较多,出价也比较均衡,订单量也比较大。

as模型的做市策略,AS高频做市,区块链,策略模式  称为最优价差

,也就是bid_spread 和 asd_spread是相等的。

所以我们AS做决策的价格就是:

bid_price=预定价格-最优价差/2 =as模型的做市策略,AS高频做市,区块链,策略模式

ask_price=预订价格+最优价差/2=as模型的做市策略,AS高频做市,区块链,策略模式

本文的模型是在以下假设下建立的:

未定义订单金额

波动性是恒定的

订单统计特征不变

做市商打算在有限的T时间范围内使用总库存q实现利润最大化

由于这些假设可能不适合加密市场,我们建议进行以下更改:

一、由于Hummingbot使交易员能够指定订单金额,因此我们引入了一个额外的参数order_amount_shape_factor(η艾塔),该参数根据库存状况调整订单金额,如2018年最佳高频做市论文所述。

二、为了解释加密中存在的快速变化的波动率,我们提出了一个波动率差异阈值,如果超过该阈值,将触发策略参数vol_To_sprespread_multiplier的重新计算。

三、按第2点重新计算。

四、由于运行bot可能有无限的时间范围,我们的解决方案是有一个有限的closing_time(T),但要循环剩余的时间分数T,并在每次t=T时重新计算参数。举个例子,T设定 1H,当运行bot 1小时后,我们再次设定剩余分钟还有60分钟,这样bot 就可以在运行中去平衡我们的仓位,以及计算出以上几个希腊字母参数。

使用原始的AS方程,我们面临多个超参数。我们可以为这些参数选择任何值,因此需要一些约束。由于买卖价差到中间价是我们机器人最重要的价值之一,这应该是建立我们标准的合理选择。此外,正如论文所述,gamma( γ)就像库存风险的风险规避参数。我们需要一个旋钮参数来控制该因子,同时满足用户设置的spread参数。

如何计算gamma( γ)

我们将假设用户在配置策略时设置了min_spread和max_spread参数。为了计算最大可能风险因子(gamma   γ),作者使用初始价差最优买入/卖出中间价( as模型的做市策略,AS高频做市,区块链,策略模式 ),其不应小于最小价差,也不应大于最大价差(与中间价相关)。

注:由于保留价和中间价之间的差值(deltaΔ)和最优价差是(T-t)的函数,为了降低q的绝对值(接近目标库存水平),可以肯定地说,最优出价和要求中间价的价差将随着时间的推移而减少。因此,以下计算将以t=0的时刻为中心,其中价差是最宽的(也就是启动机器人不久,我们报价和midprice偏离最大,以便于买到股票,临近T时刻,我们要抛弃货,这样动态控制仓位)。

下图显示了库存过剩时的价格水平和价差分布,因此预定价格低于中间价格,价差会相应调整:

as模型的做市策略,AS高频做市,区块链,策略模式

q>0 (inventory needed to be decreased),也就是需要减仓

开始:

要符合最大和最小价差:(也就是ask的报价更低一些,bid的报价更远离reserve price,这样可以卖掉一些库存,购入库存的概率更低一些)

现在我们将计算t=0时这些价差的表达式。首先,ask价差:

as模型的做市策略,AS高频做市,区块链,策略模式

Replacing equations for r(s,t) and optimal spread...

as模型的做市策略,AS高频做市,区块链,策略模式

因此,得出的表达式为:

as模型的做市策略,AS高频做市,区块链,策略模式

同样,在这种情况下,对于bid_spread,限制将是用户设置的最大价差:

as模型的做市策略,AS高频做市,区块链,策略模式

这就引出了一个表达式:

as模型的做市策略,AS高频做市,区块链,策略模式

将两个不等式相加,得出以下结果:(可以观察统计min spread和max spread来进行反推 gamma这个值,因为sigma 和q值是不变的,这个时间是需要去库存情况 )

as模型的做市策略,AS高频做市,区块链,策略模式

q<0 (inventory needed to be increased)

同样,对于相反的情况,如果q<0,则得出的最终表达式为:(可以观察统计min spread和max spread来进行反推 gamma这个值,因为sigma 和q值是不变的,这个时间是需要增加库存情况 )

所以这两种情况都可以用q来处理,然后伽马γ的下列不等式成立:

由于风险系数(gamma γ)为非负值,通过计算此最大阈值,我们现在有了所有可能的 gamma-γ值的范围。前面提到的旋钮将是一个从0到1的系数,它将定义γ在这个范围内的位置。该系数称为inventory_risk_aversion(IRA)。(观察统计min spread和max spread,这样分子不变,然后查看sigma最小波动,以及我们最小持仓的时候,这个时候gamma的值就最大了,同理,当波动率最大,库存最大gamma就取得最小值,然后 max sigma 乘以IRA系数,这个系数就可以一个通过bid  ask 发出的报价来调整库存的系数)

最终方程式 gamma  γ:

Calculation of    

将选择order_book_depth_factor(\kappa κ),以便算法从t=0时的最大可能价差开始。这个决定似乎是任意的,但其背后的论点是通过更大范围的价差来实现策略盈利能力的最大化。因此,从计算开始,我们将首先确定t=0时的最大波动可能。

as模型的做市策略,AS高频做市,区块链,策略模式

The order furthest from the mid price will be the one where terms are added, so we calculate:

as模型的做市策略,AS高频做市,区块链,策略模式

现在,从t=0时的最大最优价差来看,kappa  κ可以用本文的公式推断为该spread的函数:

as模型的做市策略,AS高频做市,区块链,策略模式:

as模型的做市策略,AS高频做市,区块链,策略模式

Calculation of \eta   η

还记得order_amount_shape_factor( η)是订单金额的修饰符,借用自2018年Fushimi论文(见参考文献)

as模型的做市策略,AS高频做市,区块链,策略模式

基本上,从策略提案中提交的两份订单来看,不利于达到目标库存的订单将根据机器人距离目标q的距离呈指数级减少。这与hummingbot 纯做市策略中的库存倾斜方法类似。

利用前面定义的inventory_risk_aversion(IRA)参数,指数衰减函数中的衰减量将由IRA控制:

 What happens   

We have seen what happens to reservation price and optimal spread when:

,But what happens ::

If you read previous Avellaneda strategy post, you will know that if \gamma \to 0γ→0 (which is equivalent to \gamma \to 0γ→0), then knob is set to no inventory risk aversion. That means that user simply sets spreads symmetrical to mid-price, but can you imagine what will be the final spread values? Lets do the math...

IRA \to 0 \implies \gamma \to 0 :

as模型的做市策略,AS高频做市,区块链,策略模式

So we know about reservation price that:

as模型的做市策略,AS高频做市,区块链,策略模式   

Lastly, we calculate \kappa:

as模型的做市策略,AS高频做市,区块链,策略模式

This means, that if \gamma \to 0γ→0 spread around r = mid_price will be fixed

as模型的做市策略,AS高频做市,区块链,策略模式

因此,在gamma为0的情况下,这与常规的纯做市策略相同,对称价差=中间价附近的最大价差。这样,纯做市策略就成为Avellaneda做市策略的特例。

终于搞完毕,撒花,下次搞代码!!文章来源地址https://www.toymoban.com/news/detail-799703.html

到了这里,关于Avellaneda & Stoikov’s market-making strategy 工程化处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 创建数据库Market、Team,按要求完成指定操作

    创建数据库Market,在Market中创建数据表customers,customers表结构如表4.6所示,按要求进行操作。  代码如下: 在Market中创建数据表orders,orders表结构如表4.7所示,按要求进行操作。 代码如下: 在关联customers_info 表中的主键c_num时,orders表中的c_id和customers_info表中的c_num 的类型

    2024年02月13日
    浏览(48)
  • DLS MARKETS外汇 :外汇投资的关键知识——您的成功之路

    外汇市场,作为全球的金融市场,每天的成交量高达6万亿美元,吸引了无数投资者的目光。本文旨在为广大投资者提供一个全面的外汇投资指南,涵盖基础知识、交易策略、市场分析等多个方面,帮助您深入理解外汇市场的运作机制和成功交易的关键要素。  外汇市场的吸引

    2024年01月25日
    浏览(31)
  • 电力市场知识及市场出清电价(market clearing price)程序分享!

    ​Main-导览 一、电力市场概述 2000以前,国内并不存在电力市场,而是叫计划电力经济。发电侧为卖方,核算发电成本和利润上报国家,审核通过后就是上网电价。用户侧为买方,被动执行国家制定的分时电价。计划电力经济的优势为:电价相对稳定,企业用电成本核算相对

    2024年01月25日
    浏览(37)
  • Private market:借助ZK实现的任意计算的trustless交易

    Private market,借助zk-SNARKs和以太坊来 隐私且trustlessly selling: 1)以太坊地址的私钥(ECDSA keypair) 2)EdDSA签名 3)Groth16 proof:借助递归性来匿名交易Groth16 proofs。 开源代码实现见: https://github.com/dmpierre/eth-private-market(Circom、TypeScript、Solidity) https://github.com/nulven/EthDataMarketp

    2024年02月10日
    浏览(39)
  • Technology strategy Pattern 学习笔记3-Creating the Strategy-Industry context

    Creating the Strategy-Industry context 1.1 create steps 1.与内部各方沟通 了解企业的人、流程和技术,包括与其它企业的不同 了解哪些创新可以做 竞争者及市场信息 企业可以支撑的类似业务 按SWOT四象限分类,先做列表后放入象限 1.2 四象限 1.2.1 S优势(Strengths)、W劣势(Weaknesses)、

    2024年02月05日
    浏览(34)
  • g) Visa: How Blockchain Can Facilitate the IoT Market

    作者:禅与计算机程序设计艺术 物联网(IoT)正在成为当前世界上最具规模的新兴产业之一。近年来,全球各行各业都涌现了大量的互联网终端设备,它们将物联网技术引入到自己的生活中,并产生了巨大的商业价值。但是,相对于其它传统电信、信息化领域来说,构建可靠

    2024年02月07日
    浏览(39)
  • 前端工程化详解——理解与实践前端工程化

    前言: 前端工程化一直是一个老生常谈的问题,不管是面试还是我们在公司做基建都会经常提到前端工程化,那么为什么经常会说到前端工程化,并没有听过后端工程化、Java工程化或者Python工程化呢?我们理解的前端工程化是不是一直都是Webpack的性能调优,或者是一个cli工

    2024年02月02日
    浏览(76)
  • 策略模式(Strategy)

    策略 是一种行为设计模式,它能让你定义一系列算法,并将 每种算法分别放入独立的类中,以使算法的对象能够相互替换。 1. 问题 你打算为游客们创建一款导游程序。该程序的核心功能是提供美观的地图,以帮助用户在任何城市中快速定位。 用户期待的程序新功能是自动

    2024年02月12日
    浏览(34)
  • 策略模式(Strategy Pattern)

      在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包