AMO Blockchain Economy Simulation #3

Simulation detail

AMO Labs Dev
AMO Labs Official
24 min readFeb 6, 2020

--

See also
- AMO Blockchain Economy Simulation #1
- AMO Blockchain Economy Simulation #2
- AMO Blockchain Economy Simulation #4

한국어 판은 뒷부분에 있습니다.

Real world is much more complex than the simulation. Even if we define a closed system or environment, every element or metric is affected by one or more other elements or metrics within the system. The purpose of defining a closed environment is to eliminate unwanted complexity and make the problem simpler. In this article, we will explore some of the relations between key economic metrics assuming all else equal and constant.

Before we begin, let’s look at the following graph first.

Full simulation result

As the caption says, it is a capture image of a full simulation over the range of 5,000 days. It encompasses changes of monetary assets, important metrics directly induced from them, and, most importantly, long-run and short-run exchange rates. As we mentioned in the previous article, the price level is the most important metric and drives the overall exchange rate change.

Since the variables are affecting each other all the way, it is rather complex to explain why the graph is like this at a single shot. So we will begin our explanation from the relations between variables within the local money market.

The first thing to note is the price level. It is a general indication of prices of goods traded in the local product market. The exact definition of the price level may vary in scale. So, just take this variable as a relative one, and focus on the relative change rather than the exact value. We take the price level as follows: P = (M × V) / (Y × (1 — R)), where V is a money velocity fixed at a constant and Y is a production output of the economy given as a simulation parameter, i.e. controlled outside the simulation. M is the money supply and R is the interest rate. They are simulation state variables and affected by the chain of relations between various variables, but we will talk about this later.

The price level change

If we fix M and R, you can see the price level P is almost the opposite of the economy (production) output (left figure). For a given money supply and interest rate, the price level decreases as the sum of products in the market increases. Since the price level is a sticky variable, it would change more slowly compared to other variables. In a full simulation the price level is affected by M and R also. So, the actual trend would be a little more complex (right figure).

The local money market

Next, we will look at the local money market. In this market, we focus on 5 metrics: AMO coins, stakes, economy (production) output, interest rate, and the price level. To simplify the explanation, we fix the production output and the the price level at constant. You can see the two blue lines: one solid, and the other dashed. One resembles the other, since the interest rate is the result of direct calculation from stakes and reward. As we fix the output level, the amount of reward is fixed as a consequence. Therefore we can say that the interest rate depends only on the sum of stakes. It affects the money demand, the money demand affects the sum of excess money, and this affects the sum of stakes in turn. This completes a feedback loop. We used the different time scale to show the rapid change of the interest rate at the beginning of the simulation (left figure). If we put more freedom to the independent variables, things become more complex as in the right figure.

The exchange rate

Our ultimate interest is on the exchange rate of AMO coin. While the dynamics of the currency exchange market is complex, its apparent output is rather simple to explain. As explained in the previous article, there two kinds of exchange rate to be concerned: long-run exchange rate and current exchange rate. The long-run exchange rate is not a real metric. Rather it is an expected value in the future and directly calculated from the price level according to the PPP(purchasing power parity) condition. You can see the thick green line, almost the mirror image of the price level. The current exchange rate is a moving variable. It is adjusted from the IP(interest parity or interest rate parity) condition. It may change abruptly due to the difference between interest rates of USD and AMO. However, it follows the long-run exchange rate eventually.

Now, we can return to the full simulation result again. Interesting thing is that even if we apply the same rule for every simulation step throughout the whole process, we can observe distinctive phases showing different trends. We will describe these phases as the initial settling down, the mid-term development, and the long-term phase. As you may see, there are spiky lines at the very beginning of the simulation. Let’s zoom into those area spanning about 2 weeks.

Initial settling down

This is the same graph as the first one, but in different time scale. In the beginning, all the variables move very quickly since they are too far away from the equilibrium points and adjusting power is enormous. It takes several days for them to clear up this initial discrepancy. Notable changes are increasing price level and sum of stakes, decreasing interest rate, and short rise and fall of exchange rate. Since the interest rate is quite low, the price level approximately equals to MV/Y. V is fixed and M and Y are barely changed, compared to their scale. So, nearly unaffected by other factors, the price level just approaches to the equilibrium point determined by them. Unlike the 4th graph, this time the price level is moving, not fixed. Since the price level is increasing, the money demand increases rather sharply. In the beginning, the amount of excess money is huge and this excess money tends to transform into more profitable assets, stakes. The increasing stakes lowers the interest rate, and this will lower the increase rate of the money demand. So the money demand settles down to some local equilibrium point. At this stage, after one week or so, the initial settling down seems to be completed. Now the economy starts to adapt to these initial changes at a more relaxed pace.

In this time scale, economy output shows an observable change. It triggers other chain reactions. Without it, the economy would stay steady after the initial settling down completes. Increasing economy output means more goods in the product market and more transactions to process the trade deals. It results to slightly decreasing price level and increasing interest rate. Recall that more transactions give more rewards and higher interest rate as a result. Decreasing price level and increasing interest rate both contribute to the decreasing money demand. Eventually, the sum of stakes rises past the point where it exceeds the sum of active AMO coins. As we discussed earlier, the long-term expected exchange rate is determined by the price level. The current exchange rate is quite quick, and it quickly follows the long-term expected exchange rate. This is because there is no sudden impact from the outside. If there is any, then we may observe the exchange rate overshooting.

At last, we return to the first graph again. The pace continues until there is a ongoing significant gap between the money demand and money supply(sum of active AMO coins). This gap is a result of steadfast rewards from the transactions. At this stage, excess money supply hold up the price level which decreased so far. Now, the major driving force stops to change and the exchange rate also stops to change.

Until this point, it takes roughly 1,700 days, about 4 and a half years. After this, the exchange rate stays at the level of several tens of dollars per AMO coin. Hooray! But really? Just cast the hats to the sky and rejoice? What about the period when the exchange rate is too low, even less than 0.001 USD/AMO? Suffer for 4 years with that? 😩 But wait. 20,000 times the value in 4.5 years! Wow! 😁 Should we smile or frown?

We cannot be either simply happy or totally sad. Keep it mind that the simulation runs on relative variables, both in amount and time scale. So it is a good idea to forget about the absolute labels on x- and y-axes. There are two things important in this simulation result. One is that the long-term pace and trend is determined by the economy output, i.e. the sum of values of products in the product market. Another is that the majority of the AMO coins would be locked as stakes. The exact scale of values and time may change with different simulation settings. But these are our lessons. Output is the boss. Mostly stakes.

Actual simulation source code and a technical paper describing concrete theoretical background of the simulation will be provided via our github repository. The paper would be published some journal or a public archive soon.

In the next article, we will discuss about other economic settings than AMO blockchain.

AMO 블록체인 경제 시뮬레이션 #3

시뮬레이션 과정

현실 세계는 시뮬레이션보다 훨씬 복잡합니다. 닫힌 시스템이나 환경을 정의하더라도 모든 요소들이나 지표들이 시스템 안의 또 다른 요소들이나 지표들에 영향을 받게 됩니다. 닫힌 시스템을 정의하는 목적은 원치 않는 복잡도를 제거하고 문제를 보다 간단하게 만들기 위한 것입니다. 이 글에서는 다른 모든 것이 그대로일 때 주요 경제 지표들 간의 관계가 어떻게 되는지를 살펴볼 것입니다.

우선 첫번째 그래프를 보도록 하겠습니다.

전체 시뮬레이션 결과

이 그래프는 그림 설명에 있듯이 5,000일에 걸친 전체 시뮬레이션 결과의 캡쳐 이미지입니다. 여기에는 금전 자산들의 변화와 거기에서 바로 유도되는 주요 지표들, 그리고 가장 중요한 것으로 장기와 단기 환율이 나타납니다. 이전 글에서 언급한 것처럼 가격 수준(price level, 물가)이 가장 중요한 지표이고 환율의 전체적인 변화를 주도합니다.

각 변수들은 끊임 없이 서로에게 영향을 주기 때문에 이 그래프가 왜 이런 모양이 되는지를 한 번에 설명하기는 쉽지 않습니다. 따라서 일단 지역화폐시장(local money market)의 변수들 사이의 관계부터 설명하기로 하겠습니다.

제일 먼저 살펴볼 것은 가격 수준입니다. 이는 지역 상품 시장에서 거래되는 재화의 가격을 대략적으로 나타낸 것입니다. 가격 수준의 엄밀한 정의는 그 규모에서 차이가 날 수 있습니다. 따라서 이 변수는 상대적인 수준을 나타내는 것으로 간주하고, 정확한 값보다는 상대적인 변화에 주목하기로 합니다. 가격 수준은 다음 수식으로 나타냅니다: P = (M × V) / (Y × (1 - R)), 여기에서 V는 화폐유통속도(money velocity)라 하며 상수로 주어지고 Y는 이 경제체제의 생산량이며 시뮬레이션 인자로 주어집니다. 즉, 시뮬레이션 외부에서 제어하는 값입니다. M은 화폐 공급량이고 R은 이자율입니다. 이들은 시뮬레이션의 상태 변수들이고 여러 변수들 간에 꼬리를 무는 관계에 의해 영향을 받습니다. 이에 대해서는 뒤에 설명하겠습니다.

가격 수준 변화

만약 MR을 고정하면 가격 수준 P는 생산량(output)의 거의 반대 그림이 되는 것을 볼 수 있습니다(왼쪽 그림). 화폐 공급량과 이자율이 주어지면 생산량이 늘어나는 것에 맞추어서 가격수준이 낮아집니다. 가격 수준은 쉽게 변하지 않는 변수이기 때문에 다른 변수들에 비해 더 늦게 변화합니다. 전체 시뮬레이션 결과에서는 가격 수준이 MR에도 영향을 받습니다. 따라서 실제 변화 양상은 이보다 더 복잡하게 됩니다(오른쪽 그림).

지역화폐시장

다음으로 지역화폐시장(local money market)을 살펴보겠습니다. 이 시장에서 주목해야 하는 지표는 AMO 코인, 스테이크, 생산량, 이자율, 그리고 가격 수준 등 5가지입니다. 설명을 간단하게 하기 위해서 생산량과 가격 수준을 상수로 고정해 보겠습니다. 실선과 점선으로 된 두 개의 파란 선을 볼 수 있습니다. 서로 닮아 있는 모양인데, 이는 이자율이 스테이크와 코인 보상으로부터 바로 계산되는 값이기 때문입니다. 생산량을 고정하면 결과적으로 코인 보상도 고정됩니다. 따라서 이자율이 스테이크의 양에만 의존한다고 할 수 있게 됩니다. 이는 화폐 수요에 영향을 주고, 화폐 수요는 잉여 화폐의 양에 영향을 주고, 다시 스테이크의 양에 영향을 주게 돼서 되먹임 순환(feedback loop)이 완성됩니다. 위 그래프에서는 시간축의 축적을 다르게 했는데 시뮬레이션 초기에 급격하게 변화하는 이자율을 보다 잘 보여주기 위한 것입니다(왼쪽 그림). 독립된 변수들에 자유도를 주게 되면 오른쪽 그림과 같이 변화 양상은 더 복잡해집니다.

환율

우리가 종국게 궁금해 하는 것은 AMO 코인의 환율입니다. 외환시장을 변화하게 하는 원리는 다소 복잡하지만 결과적으로 보이는 모습은 의외로 간단히 설명할 수 있습니다. 이전 글에서 설명한 것과 같이 우리가 주목하는 환율은 장기 예상 환율(long-run expected exchange rate)과 현재 환율(current exchange rate)입니다. 장기 예상 환율은 실제의 지표는 아닙니다. 말 그대로 미래에 도달할 것으로 예상되는 환율이고, PPP(purchasing power parity, 구매력 평형) 조건에 의해서 가격 수준으로부터 직접 계산됩니다. 그림에서 두꺼운 녹색 선으로 나타나며 가격 수준과 거의 반대되는 모양입니다. 현재 환율은 IP(interest parity or interest rate parity, 이자율 평형) 조건에 의해서 조정되는 변수입니다. USD와 AMO의 이자율 차이에 의해 급격하게 변화하는 것도 가능합니다. 하지만 결국은 장기 예상 환율을 따라가게 됩니다.

이제 다시 전체 시뮬레이션 결과로 돌아오겠습니다. 흥미로운 것은, 시뮬레이션의 전과정에서 모든 스텝에 같은 규칙을 적용하더라도 서로 다른 양상을 보이는 구분되는 영역으로 나뉘게 된다는 것입니다. 이들을 각각 초기 안정화, 중간 변화, 그리고 장기간 변화로 설명하겠습니다. 보이는 바와 같이 시뮬레이션의 초기에는 뾰족한 선들이 있습니다. 약 2주 정도 되는 이 기간을 확대해서 살펴보겠습니다.

초기 안정화

이 그림은 처음 그래프와 같은 것이지만 시간축만 다릅니다. 초반에 모든 변수는 대단히 신속하게 움직이는데, 이것은 이들이 평형점으로부터 많이 떨어져 있어서 이를 조정하려는 힘이 아주 크게 작용하기 때문입니다. 초기의 이 차이를 해소하는 데에는 며칠이 걸립니다. 주목할만한 변화는 가격 수준과 스테이크의 증가, 이자율의 감소, 그리고 짧게 상승했다가 하강하는 환율 변화입니다. 이자율이 아주 낮은 상황이기 때문에 가격 수준은 대략 MV/Y와 같다고 볼 수 있습니다. V는 고정돼 있고 MY는 비율로 보면 거의 변하지 않습니다. 따라서 가격 수준은 이들 값에 의해서 정해지는 평형점을 향해 접근하게 되는데 이 때 다른 변수들의 변화에는 영향을 거의 받지 않게 됩니다. 네번째 그래프에서와는 다르게 가격 수준이 고정돼 있지 않고 변화합니다. 가격 수준이 증가하기 때문에 화폐 수요도 급하게 상승합니다. 초기에는 잉여 화폐의 양이 엄청나기 때문에 이 잉여 화폐들은 보다 이익이 높은 자산인 스테이크로 빠르게 전환됩니다. 증가하는 스테이크는 이자율을 낮추게 되고, 이는 화폐 수요의 증가율을 둔화시킵니다. 이를 통해 화폐 수요는 평형점에 도달해서 잠시 안정화됩니다. 대략 일주일 정도가 지난 시점이 되면 안정화도 적당히 완료됩니다. 이제부터 경제 상황은 이 초기의 변화에 적응하면서 변화하는데 훨씬 느슨한 속도로 진행됩니다.

시간축을 이 정도로 바꾸면 생산량의 변화가 눈에 띕니다. 이는 다른 연쇄 반응들을 일으킵니다. 이것이 없었다면 경제 상황은 초기 안정화가 끝난 이후에 그대로 유지되었을 것입니다. 생산량의 증가는 상품 시장에서 더 많은 재화가 거래된다는 것을 의미하고 이를 위해 더 많은 거래가 처리돼야 합니다. 이 결과로 가격 수준(물가)도 다소 낮아지고 이자율을 상승합니다. 더 많은 거래가 처리되면 더 많은 코인 보상이 생기고 이것이 더 높은 이자율을 낳게 됩니다. 가격 수준의 감소와 이자율의 상승은 모두 화폐 수요를 감소시킵니다. 결국에는 스테이크의 양이 계속 증가해서 자유롭게 유통되는 AMO 코인의 양보다도 많아지게 됩니다. 이전에 살펴본 봐와 같이 장기 예상 환율을 가격 수준에 의해서 정해집니다. 현재 환율은 기민하게 움직여서 장기 예상 환율을 신속하게 따라가는데, 이는 외부로부터 유입되는 갑작스런 충격이 없기 때문입니다. 만약 있었다면 환율의 오버슈팅(overshooting) 현상을 볼 수도 있을 것입니다.

이야기가 흘러서 우리는 다시 처음 그래프로 돌아옵니다. 지금까지의 양상은 화폐 수요와 공급(자유로이 유통되는 AMO 코인의 양) 사이에 지속적인 차이가 발생할 때까지 계속됩니다. 이 차이는 거래가 처리될 때 생기는 코인 보상도 계속해서 생기기 때문에 발생합니다. 이 단계에 이르면 지금까지 감소하던 가격 수준을 잉여 화폐 공급이 떠받칩니다. 전체적인 변화를 주도하던 변수가 이렇게 멈추고, 환율 변화도 멈춥니다.

여기까지 대략 1,700일 정도, 즉 4년 반 정도의 시간이 소요됩니다. 이후에 환율은 AMO 코인당 수십 달러 정도의 수준에서 머물게 됩니다. 만세를 부를만 합니다. 그런데 정말일까요? 모자를 던지고 환호하기만 하면 되는 걸까요? 환율이 아주 낮은 기간, 그러니까 0.001 USD/AMO도 되지 않는 기간은 어떡할까요? 4년이 넘는 기간을 감내해야 할까요? 😩 그런데 잠깐 만요. 4.5년만 버티면 가격이 무려 20,000 배도 넘게 오릅니다! 우와! 😁 웃어야 할까요, 울어야 할까요?

마냥 즐거워하거나 낙담할 필요는 없습니다. 이 시뮬레이션은 상대적인 변수들에 기대서 실행된 것입니다. 양적으로나 시간 면에서나 모두 말입니다. 그러니 x축과 y축의 절대값 레이블들은 잊는 게 좋습니다. 이 시뮬레이션에서 얻을 수 있는 중요한 점은 두가지입니다. 하나는 장기적인 변화의 방향과 속도는 경제시스템의 생산량에 의해서 좌우된다는 점입니다. 즉 상품 시장에서 거래되는 재화 가치의 총합을 말합니다. 또 다른 것은 AMO 코인의 대다수는 스테이크로 잠기게 된다는 점입니다. 개별 변수들의 스케일이나 시간축의 척도는 시뮬레이션을 어떻게 설정하는가에 따라서 달라지게 됩니다. 얻을 수 있는 바는 다음과 같습니다. 생산량이 관건. 대부분은 스테이크.

실제 사용된 시뮬레이션의 소스코드와 이 시뮬레이션의 이론적 배경에 대한 보다 견고한 설명을 담은 논문은 저희의 github 저장소를 통해서 공개될 예정입니다. 해당 논문은 관계 저널이나 공개 아카이브 사이트에 공개될 예정입니다.

다음 글에서는 AMO 블록체인 외에 다른 경제 체제에 대해서 알아보도록 하겠습니다.

--

--