Basically as an extension to today’s devlog, I thought it would be nice to provide a bit more background about the possible variations of fees that could apply when doing FX trading.
How does FX trading work?
As described in an earlier devlog, FX trading is based on so-called currency pairs: A currency pair has a base currency - the currency that’s being traded - and a quote currency - the currency in which the price is quoted. This way, currency transactions can almost be treated like commodity transactions. The base currency becomes the commodity.
No matter which currency your own finances are kept in, you can trade any currency pair you like. So even if your own currency is AAA, you could trade the pair BBB/CCC.
Chicken-and-egg problem of FX fees
Say the game has just started and there are no NPC agents selling or buying currencies. Now a player from faction AA wants to buy currency of faction BB and a player from faction BB wants to buy currency of faction AA.
The player from AA could place a buy order for 10.000 units of BBC at a price of 1.2345 AAC/BBC. In currency pair notation, this would be “BBC/AAC 1.2345” (BBC is the base currency being traded, AAC is the currency in which the price is quoted).
The player from BB would to the same and place a sell order for 10.000 units of BBC at 1.2345 AAC each.
So far, so good. Those two orders would match and a trade would happen. But now imagine there would be a 1% fee both the buyer and the seller would have to pay for such a transaction and that this fee would apply in quote currency. No problem for the player from AA, because AAC is their own currency, so they probably have some laying around. But for the player from BB, this might be a problem because AAC is foreign currency they’d first have to buy. But they can’t buy it without having foreign currency to place an order in the first place. Hence, a chicken-and-egg problem
A few options of how to get around this:
- Only one party has to pay fees. For example, if only the buyer had to pay fees, sellers could sell currency anywhere without having to worry about having the right currency for fees at hand while every buyer could initially limit trades to currency pairs with a quote currency that matches their own.
- Only buyer has to pay fees upfront, seller’s fees are deducted from transaction volume once it happens.
- Fees never have to be paid up-front but are invoiced after a transaction happens, leaving time for any involved party to acquire the required amount of currency and only pay afterwards.
Each of these obviously comes with its own pros and cons. Especially option 3 is relatively complex and something I would only see in later versions of the game when the Player Score feature is fully implemented.
Types of fees and their potential function
These are just some examples for possible fees. None of them have been implemented yet and most probably won’t be (initially). The current idea is to have a percentage-based fee only, but I’d love to hear what you think.
- General function of fees
- There needs to be a cost of doing currency trades.
- Without fees, players could place orders at will without any financial penalty.
- This in turn would make it a lot easier to “game the market” (which is not illegal, but something that should at least require effort).
- Aside from foreign exchange risks, transaction fees make transactions involving foreign currencies less attractive, thereby helping to shape different economic zones.
- Flat transaction fees
- Percentage of transaction volume
- Can be either based on order volume (the price the trader quoted) or the trade volume (the price at which a trade actually happened)
- Minimum fees
- A minimum amount of fees that always has to be paid, even if the percentage-based fee would be lower.
- Helps to avoid very small orders that cause noise and outliers in statistics and quotes.
- Base fees
- Similar to minimum fees but always apply.
- Charged in addition to the percentage-based transaction fee.
- Generally increases the transaction cost, but penalizes small transactions especially.
Those were some random thought of mine on the topic. Let me know what yours are and whether you enjoy this kind of insight into my developer brain…if yes, I’d gladly write more of these posts in the future.