8
$\begingroup$

I found a video game market (steam community market) which allows for trading of in game items between users, most items are <0.25 USD each, and market capitalization appears to be maybe $5-$10 USD on some items. Something to be noted is the transaction fee is 15% which does limit the possibilities a bit.

One example item: http://steamcommunity.com/market/listings/753/274940-Get%20Over%20Here%21

Some discoveries that should be taken into account:

Many items appear to have very consistent supply and demand, thus leaving them in a sort equilibrium thus the drift in price is very low.

One thing I did find while manually market making is occasionally a user will sell an item at a price lower than the bid, effectively making spreads go negative. In that case, the highest bidder then receives the item. This occurs on average about 1 out of 15 times a trade is cleared, but will go as long as 100 trades between opportunities on occasion. I created a program that provides constantly re-lists bid and offer quotes at the same price as soon as they are filled. By clearing very high volumes (over 1k items a day) I managed to turn $1 into $14 USD within 3 weeks. This isn't as good as it sound given the returns capped at about 5 bucks invested and I even got blocked from accessing the server after making 8k+ requests in an hour.

Given some less popular items have capitalizations of less than 5 USD it is possible for a dealer to accumulate almost all copies of the item in existence, allowing for the fixing of prices, perhaps useful for reducing volatility.

There is a one week holding period before the in game item is delivered to your inventory, this was implemented into the market before I attempted arbitrage based on negative spreads, and was why I stopped my high volume strategy. A one week delivery means a very large open interest is required in order provide liquidity 24/7.

Another thing, I have discovered is certain items are pretty much identical, but the amount they have been used in the game affects the value of the item and creates a spread, this could be used for correlation based stat-arb perhaps?

Modeling the market: For an item in equilibrium, the price will not drift much so the time series can be assumed as stationary.

Since It is easy to accumulate a massive open interest, at least compared to volume, one can assume for the sake of the model that there is unlimited buying and selling potential on behalf of the liquidity provider, and I will assume no one else is providing liquidity to the market and all other bids/offers are individuals seeking the utility of the item, rather than to make gains trading it.

$b$ will represent the dealers bid

$o$ will represent the dealers offer

$B_t$ will represent a process for the given item's market bid rate defined as $>= b$ with an unknown distribution.

$O_t$ will represent a process for the given item's market offer rate defined as $<= o$

$S_t$ can be defined as $O_t-B_t$

One Hypothesis I have, is that $B_t-b$ and $o-O_t$ are perhaps log normal distributed.

A method I propose for verifying the distribution is to sample the percent of negative spread arbitrage opportunities and compare them to the expected amount of opportunities a given distribution expects for the Process $S_t$ which could be used for fitting a distribution.

My question:

Can any research done into this in-game market be applied to real market making for financial markets, or is there factors not accounted for?


Currently I have purchased 15 of this item to experiment with, and for some reason volatility is only slightly lower although prices have hit 1mo highs. I should note there was one occurrence of negative slippage. (-0.05 USD). I have been rigging the Bid rate at 0.10 USD so if you plan to research this Time series please note that.

http://steamcommunity.com/market/listings/753/274940-Get%20Over%20Here%21


I would like to add that a noticeable effect has been made in the manipulation of prices, as average price is slowly increasing. I will plan on cornering the market in order to get a general idea of total copies of a specific item in circulation. This could be useful when rigging supply and demand for the purpose of studying it's effects on the market.

$\endgroup$
  • $\begingroup$ I have been aggressively increasing inventory for a specific item and prices appear to be rallying. $\endgroup$ – FX_NINJA Aug 12 '16 at 9:14
  • 1
    $\begingroup$ "Given some less popular items have capitalizations of less than 5 USD it is possible for a dealer to accumulate almost all copies of the item in existence, allowing for the fixing of prices, perhaps useful for reducing volatility." the problem would be selling all those items then... right? $\endgroup$ – SDReyes Aug 15 '16 at 21:28
  • $\begingroup$ Yes, releasing open interest would be incredibly time consuming, and costly if not done slow enough. I have spent a week so far pouring money in and haven't bought quite enough yet for noticeable effects to take hold. $\endgroup$ – FX_NINJA Aug 15 '16 at 21:30
  • 1
    $\begingroup$ Why do you think that Bt-b and o-Ot are log normal distributed? $\endgroup$ – SDReyes Aug 15 '16 at 21:32
  • 1
    $\begingroup$ by the way, I haven't realized how good the Steam market is. nice set of data. $\endgroup$ – SDReyes Aug 15 '16 at 21:34
3
$\begingroup$

This seems quite interesting and most definitely possible, and I know because I have been thinking of the same thing. Not for Steam specifically, but rather just other online marketplaces.

The statement you continue to reference as equilibrium is not accurate and there is a term for it: a locked market.

This is not exactly a locked market however what you are describing is a bit close taken into account that this is a rudimentary example.

As per NASDAQ

A market is locked if the bid price equals the ask price. This can occur, for example, if the market is brokered and one side pays brokerage only, in over-the-counter trading the initiator of the transactions. Highly competitive market environment with inside bid and offering at the same price. Often occurs when an OTC dealer has not updated the market.

In a locked market often automatic execution is halted, this is one of the several ways that your simulation is different from real market making.

The simple answer is yes and no. The research you do and the data you develop can be used for developing real trading algorithms. The "no" part of what I said is in reference to the fact that there are very many factors you are not including when swapping games in Steam compared to the equities / futures / options / whatever market.

Here are the major differences between the Steam Simulation and real (automated) market making.

  1. The 15% transaction fee does more than damage your ability to make money from arbitrage: it means that for the most part you are going to see less liquidity (this is not entirely the factor behind this but it is accountable to a certain extent. 2.

Given some less popular items have capitalizations of less than 5 USD it is possible for a dealer to accumulate almost all copies of the item in existence, allowing for the fixing of prices, perhaps useful for reducing volatility.

This is another of the differences that will affect how well your model translates to the real world of market making. Price fixing would be lucrative in the Steam trading (clearly) however for the most part this is not possible in the financial markets.

These are the major reasons that your model differs from the real markets, and for the most part it boils down to the fact that there are very little players in the system (both on the dev side of participating in arbitrage) and more importantly on the side of people interacting with the market. This limits how accurate your models of the market are.

The math you have for modeling trades and market behavior is accurate, but again is a rudimentary example of how market making works.

You are also correct in saying that you could integrate a correlation based statistical arbitrage model based on how the use of the game affects the value, this would also be relatively easy depending on how you assign the variables when doing this analysis (there are more things to consider rather than just the time it has been on the market).

You do however have the advantage of being able to "corner the market" as you said, allowing to get more data on what is being sold. That's illegal in securities markets but a fun thing to investigate on Steam.

$\endgroup$
  • $\begingroup$ May I ask what API you are using for this? I have quite a bit of experience writing code both in C++ and Python for HFT stuff, specifically in the crypto markets. $\endgroup$ – Theodore May 26 '18 at 5:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.