The world of cryptocurrencies

We’ve all heard about Bitcoin. Bitcoin was last week (20-12-2020) at an all time high of $24.171,-, and in the last couple of months I’ve been trying to get a grip on the world of cryptocurrencies. Admittedly, I’m still unsure about the exact workings and why Bitcoin is valued at the price it currently is at, but I’d like to share at least the process on how I got started and what I’m trying to learn and achieve.

Now before we go on, I have to explain a few terms I’ve learned on the way but didn’t know at the time.

  • Cryptocurrency: A digital asset which can be traded.
    • When it is traded, a record is created which is stored in a ledger.
    • The ledger uses very strong cryptography, to make it anonymous.
    • Any new entry (block) in the ledger uses the previous block for its calculations. Therefore, one cannot modify the already processed blocks (which store previous trades) as this would change all the blocks after it as well. This is also called a ‘blockchain’.
    • The ledger is verified by miners. For a new block to be valid and added to the ledger, at least 51% of the miners must agree.
    • You can store cryptocurrency in a Wallet. You often access a wallet by uploading a specific file (keyfile) to it, in combination with a password.
  • Bitcoin (BTC): The first and best known cryptocurrency.
  • Altcoins: All the cryptocurrencies which are not Bitcoin.
  • Smart Contract: a program which is stored on the blockchain, which automatically runs when certain conditions are met.
  • Ethereum (ETH): The first altcoin, and currently the highest valued altcoin.
    Etherium improved over Bitcoin by enabling Smart Contracts.
  • Elrond eGold (eGLD): an altcoin which is still under development.

Still on so far? Good, let’s go back in time a bit.

How I started with crypto

One day a few months ago, a colleague came to me and asked if I knew something about cryptocurrencies. I guess at that time I knew as much as the average person does, which is not much. I knew about the existence of Bitcoin, and that it seems like a balloon which can inflate and deflate in value very rapidly (I still think that). A couple of days later, this colleague came by again and told me very enthusiastically about Elrond eGLD. I didn’t understand much of it, but I ended up buying a bunch of eGLD. Naturally, the value quickly dropped by almost 75% after I bought it, but I kept most of it with the promise that the price eventually would go up. At the point of writing, the price has risen again to levels above my buy-in price.

eGLD price ($) since my buy-in. Each bar represents a day. The white dotted line is my buy-in price. Total range is 03-09-2020 till 17-12-2020.

So why am I holding on to eGLD?

This info I learned over the last couple of months. I am definitely oversimplifying things here, partly because I don’t understand it fully and partly to try and keep this story readable and interesting.

Elrond is a team which is developing the Elrond Network. Ever since Bitcoin came out, many different engineers have started an Altcoin which according to them would rival Bitcoin and eventually take over the marked-lead’. Until now, none of them have succeeded in taking over the lead from Bitcoin, mostly due to a lack of a good business plan. The Elrond team however has understood that in order to reach the masses, a cryptocurrency need 4 things to work well:

  1. A scalable infrastructure to run your systems on.
  2. A sustainable economic model which runs on the infrastructure.
  3. Make the technology invisible and accessible.
  4. Create tools for external developers to build applications on your infrastructure.
Bitcoin

Bitcoin is in its core relatively simple. There is an infrastructure capable of handling an x amount of transactions each second, and there is an y amount of total Bitcoin available. This means that Bitcoin is a good store of value, and a good medium to trade money on. But essentially it only fits the second and maybe the third point, although I found it difficult to get started with trading due to all the new terms I’d never heard about.

Ethereum

Ethereum took crypto a step further than Bitcoin with the introduction of Smart Contracts. With the Smart Contracts, Ethereum adds a different dimension to the blockchain technology. They also did a good job in creating different tools for developers, and it is now running many different applications. However, Ethereum is still limited to an x amount of transactions per second.

Elrond

The Elrond Network aims to address this final problem, and also improve upon the accessibility issue. Firstly, the Elrond Network blockchain is both scalable and adaptive, which means it is not limited to an x amount of transactions per second. Secondly, for their economic model, they’ve created a crypto coin which is called eGold (or eGLD). I’m unsure about how the economic model behind it works, but I’m reading it’s good and sustainable. Thirdly, to make the technology accessible, they are creating an app – Maiar. The Maiar app will allow anyone with a mobile phone and a phone number to access the Elrond Network. In the app, people can trade eGLD without having to understand wallets or needing to deal with keyfiles. I’m sure it will be able to do more in the future, but the key thing here is easy access for anybody. Fourth and lastly, the Elrond team is working on tools for external developers (one of them is called Arwen).

All these factors together make it sound to me like a good investment. Currently, the Elrond Network is live and one can do trading in eGLD. Once the Maiar app comes out and developers are enabled to create Smart Contracts on the network, it should become more and more attractive for people to start using the Elrond Network. Due to this, the price of eGLD is expected to go up exponentially. My plan for now is to hold on to my eGLD for a few years and to hopefully after that time be able to sell some of them for a nice profit.

Automatic trading

Me being educated as an electrical engineer results in that I’m always thinking about ways to automate things. A natural thought is then to check if I can automate trading cryptocurrencies. Such a program should in essence do the following:

  1. Buy crypto before the price goes up.
  2. Cell the crypto before the price goes down again.

Sounds simple, but (accurately) predicting the future of any market has been tried by many people before me who did years of studying into this field and nobody has been able to create an algorithm that is 100% successful. Me, who knows nothing about financial markets, will also not be the one who does this. However, I do have other skills; I know a bit or two about programming, and I am able to look at what other’s have created before me. After a bit of googling I found Freqtrade, an open-source crypto currency trading bot written in Python which is actively maintained. The idea is that you define a Trading Strategy where you define triggers for the bot to act upon. The bot looks at the market every couple of seconds, and if one of the triggers is met the bot either buys or sells your assets into other crypto-currency.

One of the advantages of using Freqtrade is that it has a Telegram integration, meaning the bot can send messages on your phone when it buys or sells, so one can keep an eye on its performance. It also has the possibility to backtest different Strategies on historical market data, and it’ll tell you how much profit the bot would have made. I therefore decided to install a copy of it on my server to see if I could get it working and I was able to let it make a profit.

My configuration

Initially, I started Freqtrade with the default configuration and pairlist. The pairlist defines which coin-pairs the bot is allowed to trade. This default configuration attempts to increase the amount of Bitcoin (BTC) by buying altcoins with BTC and selling them. Freqtrade has a couple of default strategies, but I soon found a Github page with many different strategies, which I was able to download and backtest with.

One of the things I found was that it was difficult for me to properly understand what each configuration did and how it was making a profit. The amount of parallel trades are usually limited to 2 or 3, so even if the correct conditions were met for the bot to buy it often would not make a trade since it already had the maximum trades outstanding. This, in my mind, introduced a system of randomness in an already very random environment. After a while, I settled for the following configuration:

  • Try to maximize the amount of USDT (an altcoin which represents the USD).
  • Only allow trading USDT to BTC. Allow 1 parallel trade, and use all my funds on this one trade.

This made backtesting and running the bot a lot easier, as I could look at the graph on Binance and verify its behavior. During the November BTC bull run (a bull run is a longer period of rising prices and optimism in the market) the strategy that would have made the most profit was the Simple strategy, which is based on this book. I therefore have been using this strategy over the last month to try and see if I could optimize it.

Does it work?

Yes and no. The bot is only as good as the strategy, and a poor strategy will of course lose a lot of money. The Simple strategy overall works well, however it has the tendency to buy at both low’s and high’s. It has therefore earned almost as much money the last month as that it has lost.

Profit & Loss (PNL) over the last month.

The Simple strategy buys when there is a positive movement going on in the market, and sells after 1% of profit has been made. However, when it makes a sale by nature the price is going up (otherwise it wouldn’t have made a profit), so it has the tendency to buy-in again soon after it did the sale. By this time the positive movement is often coming to an end and the market is going down again. In order to prevent the bot from buying at these high peaks, I added a 2 hour lock on the buy-process, meaning the bot will wait 2 hours after selling before it attempts to buy again.

Unfortunately, the bot was down for maintenance during the two days where the BTC price went up with 30%. This would have been the perfect time for the Simple strategy to shine and earn me some nice profits.

So until now no profit. Is it worth it?

Wouldn’t it have been better to just invest in some BTC one month ago and call it the day? Currently, if you just look at the profits, yes. However, this neglects the fact that I’m having a lot of fun trying to optimize this bot and that, by the time it works well and the price of BTC suddenly does go down drastically, my bot will guarantee that I’m not loosing too much money either. I’d argue that the main purpose of this bot is not to make as much profit as possible (I have eGLD for that), but mainly to learn and to have fun.

 

This article is written by a financial noob. I’ve tried getting things correct and understandable, however if you feel something is off please let me know!

Cheers Jesper