Jacky Gu

基于去中心化交易所的多主体建模

03 Sep 2023 Share to

模型任务:使用NetLogo建模,模拟加密货币行业中,大量交易者在去中心化交易所的各种行为模式,并据此推演出价格的变化,发现价格形成规律。

前言

金融市场是各种策略的游乐场,每种策略都有其独特的视角和方法论。在其中,技术分析和基本分析作为两种截然不同但深刻相互关联的方法引人注目。通过深入挖掘,我们发现这两种技术虽然在表面上看起来不同,但实质上是同一个硬币的两面,它们之间形成了一种迷人的相互作用,导致了两种经典的投资策略:跟进策略和价值回归策略。

一方面,我们有技术分析,它涉及研究价格走势和市场趋势。技术交易员依靠图表和各种统计指标来确定市场的入场和退出点。他们相信动量的力量,即在价格上涨时买入,在价格下跌时卖出,基于这样的前提:涨的会继续涨,跌的会继续跌。我们称之为跟进策略(Following),这种策略倾向于使股票价格的走势更加极端。

另一方面是基本分析,它通过衡量公司的内在价值来评估证券。这是通过考察相关的经济、财务以及其他定性和定量因素来实现的。当股票价格下跌时,基本分析交易员视之为机会:他们相信该股票被低估,并且其价格将在长期内回归到其基本价值。这种趋向于向均值回归的策略称为回归策略(Contrarian),这种策略对股票价格会产生稳定作用。

上述两种策略看似截然相反,但实际上并非如此。相反,它们提供了两种截然不同的视角来观察市场。

但是,与股票市场中的交易者相比,加密市场里的交易者行为有以下特点:

  • 加密市场中项目的财务面因素对价格的影响较低,股票市场的财报对基本面影响较大;
  • 加密市场的群体行为,如fomo(Fear of Missing Out)和恐慌(Fud - Fear, Uncertainty and Doubt)导致市场跟风效应很大,导致加密市场中产品的价格平均波动比任何金融市场都高;
  • 加密市场的周期性牛熊规律较强,受比特币的四年减半的影响,四年一牛熊的规律至今未变;
  • 去中心化的交易所有其特殊的自动化的价格形成机制,即Automated Market Making,(简称AMM),这是与股票市场完全不同的地方;
  • 加密市场的持币者持币量比较透明;

本文将为加密市场中产品的价格进行建模,在建模过程中需要考虑到上述加密市场的特点,重点会考虑:

  • 个体的非理性行为(如Fomo或Fud)对价格的影响;
  • 周期性牛熊对价格的影响;
  • AMM价格形成机制对价格的影响;

对个体从众心理的比较著名的解释有:凯恩斯选美比赛Keynesian Beauty Contest。凯恩斯以选美为例来解释金融市场的现象。即选美评委们因选择所有评委中最受欢迎的面孔而不是选择他们个人认为最有吸引力的面孔而获得奖励。这个现象经常应用于金融市场,即:投资者倾向于购买他们认为其他投资者也会购买的股票而不是最有价值的股票来获得更多收益。因为当其他人购买一只股票时,它的价格就会上涨。该概念在约翰·梅纳德·凯恩斯 (John Maynard Keynes) 的著作《就业、利息和货币通论》(1936) 第 12 章中提出,常用于解释股票市场的价格变动。

类似的观点在更早之前由查尔斯•麦凯写的投资经典《异常流行幻象与群众疯狂 Extraordinary Popular Delusions and the Madness of Crowds》(1841,中译本书名为《投机与骗局》和《人类愚昧疯狂趣史》)中详细阐述,即著名的疯狂群众的陈述。

在本文中,我们试图通过Agent-Based Modeling方法建立一个与实际较为贴切的模型,并回答一个问题,即:

加密市场中,个体对他人观点的接受度如何影响市场行为。具体而言,如果交易者在市场上对彼此的观点给予更多信任时,有组织状态(Sornette,2003)是否更有可能发生?进而试图研究平均个体的不同信任水平如何影响价格暴涨或崩盘发生的概率。

模型基础概念与设计

1- Uniswap价格公式

如果流动性足够,Uniswap的价格计算公式可以简化为:

1.1- 卖出后最新价格

假设某物品A的当前价格为\(P_0\),当卖出Q个单位的A后,价格为多少?

\[P=\gamma*(1-\frac{\gamma}{\gamma+Q})*\frac{P_0}{Q}\]

1.2- 买入后最新价格

假设某物品A的当前价格为\(P_0\),当买入Q个单位的A后,价格为多少?

\[P=\gamma*(\frac{\gamma}{\gamma-Q}-1)*\frac{P_0}{Q}\]

为了理论上建模方便,假设流动性足够大,所以滑点可忽略不计,这里引入 \(\gamma\) 为一个较大的常数,一般 \(>=10^5\)。

2- 模型假设

  1. 不考虑基本面,只从市场要素考察
  2. 流动性充分
  3. 要么全买,要么全卖

3- 交易者行为决策 to trade:

  1. 什么时候买
    1. 身边有人持有,特别是有影响力的人
    2. 没有离场
  2. 什么时候卖
    1. 身边有人说卖,特别是有影响力的人
    2. 达到心里价位,止盈
    3. 达到止损点
    4. 离场倍数:即利润率达到多少时,卖出的概率: \(y=\frac{1.5^x}{10}\) (x=利润率,y=有意愿卖出的概率)

    5. 交易数量:全仓进出

4- 交易者属性 traders-own:

  1. 初始资金量
  2. 买入成本
  3. 当前持币数量
  4. 当前资产价值
  5. 当前盈亏
  6. 影响力系数(0-10)%influence
  7. 独立思考力 independent-mind
  8. 止盈率 stop-limit
  9. 止损率 stop-loss
  10. 最大可交易次数 max-trade-times

5- 全局变量 globals:

  1. 初始定价
  2. 代币可买卖总量
  3. 流动池占比
  4. 当前价格
  5. 释放参数
  6. 初始参与人数
  7. 市场牛熊人气指数

6- 模型初始化 setup:

  1. 初始资金量的概率分布,假设成幂函数分布。 y=0.008x^{-(2/3)} 占x比例筹码的人数占总人数的比例y
  2. 第一批持有人数量
  3. 第一批持有人持币数量
  4. 第一批持有人影响力(正态随机分布)
  5. 第一批持有人止盈止损率
  6. 第一批持有人最大交易次数(正态随机)

7- 新人入场 to join:

每一轮根据影响力,以及是否买入,hatch新人。

8- 离场 to leave:

达到最大交易次数,手上资金不再购买

9- 数据或图表输出:

  1. 随时间变化的价格与上述三个参数的影响
  2. 持币人数量变化
  3. 持币人分布变化
  4. 所有人盈亏情况
  5. 平均持仓成本
  6. 参与人数变化