Category Archives: Blog

The Stock-to-Flow Model (S2F) and the Virtue of Hodling

Having a lot of your net worth in Bitcoin can be a rollercoaster as the price of Bitcoin is so volatile. One day you’re up 20%, the next day you’re down 25%. I have bought and sold regularly in the past, very often at the wrong times, and found the whole business very stressful.

These days I mostly just Hodl, and so far that has worked well. One of the reasons I changed strategy was Stock to Flow, and that’s what I’d like to talk about today.

Like the infamous alchemists of old, most people in crypto are looking for shortcuts to wealth. Finding the cheap coins before they rise in value, looking for the trends in price, particularly the dips, etc. I’m just the same, and over the years I’ve been doing crypto I have had a particular eye out for predictions – mathematical models – of the future Bitcoin price so that I would know what was coming down the line. The thing is, with Bitcoin, such predictions may be possible and practical. While the value of most assets is at the whim of the market, and their supply can respond to changes in demand, Bitcoin is different. Its entire supply is defined in code – we know there will only ever be 21 million, and we know more are created every 10 minutes, and so on. Therefore it seems credible that its price could be predicted in the future.

I have looked into various models and many of them seem to have some value for predicting price and/or market peaks, for example:

All of these have some value but none appeared to me to be both precise enough and easy to read.

Instead the model I always return to is Stock-to-Flow. This was introduced to the community by a Dutch trader known as ‘Plan B’ (aka ‘100TrillionUSD’) through an article on Medium early in 2019: Modeling Bitcoin Value with Scarcity. It caused quite a stir with its bold claims. Firstly, that Bitcoin price could be accurately modelled into the future. Secondly, fundamentally, it was all about the rate of creation of new Bitcoins. In particular, because the rate of creation drops in half every 4 years (in events known as ‘halvings’) it was able to match and predict the four year boom-bust cycles that Bitcoin is prone to. For the details, it’s well worth reading through the article.

I have now been following this model for two years and have repeatedly found that it works, the match between prediction and reality is good enough to inform my view of the market and the way that prices are going – and that’s a very reassuring feeling. It is a logarithmic model so with its wide error bars (1 and 2 standard deviations) you have to accept that the Bitcoin price can still vary hard and fast and be within the broad range of the model. However, it always seems to get the long term trends correct. Personally I check it about once a day, and usually find it has the price about right and well within 1 standard deviation. I take note, however, if the price starts tending out of the 1sd range – something that happened at the height of the Covid panic, and a couple of times since. However, the bitcoin price has always returned to the model, and I have relaxed.

There are various instances of the model available online. There is a well known one here: Bitcoin stock to flow model live chart. It is well featured, with the ability to zoom in live etc. However, the one I always return to, and which I believe most closely matches the S2F model as defined in the original Medium article is here: Daily updated charts of Bitcoin’s stock-to-flow vs price. In particular, the chart I check about daily is this one: Bitcoin daily stock-to-flow and price (2 years).

Bitcoin daily stock-to-flow and price (
Bitcoin daily stock-to-flow and price (

Hodling while watching the S2F chart has worked well for me over the last year or two, and in particular has helped me to be steady through the various downturns. However, it’s worth noting two things on the S2F charts. Firstly the good news is that Bitcoin will hit a peak this summer and it will be at least $100k. Secondly the bad news is that the period approaching a peak is very volatile, and after each previous post-halving peak there has been a big crash.

In other words the real price goes above the prediction at a peak and drops below it in the months following:

Bitcoin all time price (Image:
Bitcoin all time price (Image:

Therefore I will be looking to ‘reduce my exposure’ as the price passes $90k. That doesn’t necessarily mean I’ll sell any Bitcoin, as it has been hard to come by, but I will at least cancel the Bitcoin loans I have taken out and then hunker down for a likely tumultuous following year or so.

So that’s Bitcoin stock-to-flow (S2F) in a nutshell. I can’t tell you how you should use it, but it has worked well for me, both psychologically and financially in guiding my trades.

Before I go, for completeness, I’ll just touch on Bitcoin S2FX. A year after Plan B announced the original S2F model he introduced a refined version called Stock-to-Flow Cross Asset (S2FX); for the details see here. The new model is more attractive in a number of ways, for example giving more justification for the application of S2F theory, and also predicting a high this summer for Bitcoin near $300k. However, I find the theory less convincing and by eye I don’t think its price predictions are quite as close to real prices as the original model. Take a look, though, it may work for you. Of course it does rather muddy the waters: if Bitcoin hits $200k this summer then it could be S2FX being correct, and the value will keep going up, or it could be S2F is correct, and it’s just about to crash. But then investing in Bitcoin has never been boring!

What is the Current Outlook for Bitcoin?

I’m a big fan of Bitcoin and over the years made many more buys than sells – in a nutshell, my default position, whether the market has gone up or down, has been to HODL.

However, that is starting to change – despite my view that I believe Bitcoin will go up in value hugely in the future. I am a long term Bitcoin bull and think that it will beat its all time high in the next few years.

In the short term, though, there’s no getting away from the fact that Bitcoin is going down. Despite a few rallies and spikes it has been dropping pretty consistently since the New Year, and now has half the value it did then (£5k vs £10k).

Bitcoin Price on Trading View 2018 (Image: BIUK)
2018 Bitcoin Price on Trading View (Image: BIUK)

I had got used to the price of Bitcoin going steadily down and hadn’t thought too much about it. I had bought most of mine at £1k – £3k so I wasn’t bothered. Then on 25th July everything changed for me.

Oddly what woke me from my stupor was an email from BullionByPost telling me that the Gold price was beginning to climb. Was it particularly low, I wondered? I idly looked into it and found that, incredibly, at £935/ounce (spot price) it was at the lowest it had been for 8 months, and very nearly the lowest it had been for 18 months.That woke me up. Here I was sitting on a stack of Bitcoin slowly decreasing in value while missing out on other investments. Being a keen proponent of hedging, this made no sense.

I Immediately looked into the Bitcoin price, which I had ignored for some time, and saw that it had been rising, erratically, for exactly a month to a peak of £6400 but since 6am that morning (25th) had been dropping sharply. It was now mid evening.

Bitcoin Price on Trading View from 27 June to 27 July (Image: BIUK)
Bitcoin Price on Trading View from 27 June to 27 July (Image: BIUK)

I took one Bitcoin out of cold storage (on a Ledger Nano) and transferred it to Pro.Coinbase. As soon as the transaction went through, at about 1130pm, I sold it. I got £6300.

By 0020 I had bought 7 one ounce gold coins for an average of £976 each. The total was £6343. That seemed like a very good hour’s work.

Just 36 hours later the value of Bitcoin had sunk to £6000. I decided it was time to start active trading again, if only to hedge against what seemed like inevitable losses if I kept staying out of the market.

I came up with a plan to offload Bitcoin at the best price I could get, ready to buy it back once it had gone lower.

More to come in the next blog post.

Manual Crypto Trading 1: Forex Training

I recently attended a ‘Fast-track Forex Training Programme’ organised by Trendsignal Ltd. I have always been sceptical of Forex (‘foreign exchange’, i.e. currency) trading as a means to make money unless you’re a professional. However, a friend was already going along and there was an extra ticket so I thought I might as well give it a go.

My hope was that the day would give me useful information about trading techniques that I could apply to my cryptocurrency trading (most of which is currently done with a bot). In fact it was mostly about a particular software application called Trendsignal Plus that provides a range of indicators added to trading charts that are intended to help you know when to trade, i.e. to indicate when the market is just about to go up or down.

Forex Trading (Image: Sanandros/Wikimedia)
Forex Trading (Image: Sanandros/Wikimedia)

The agenda was as follows:

  • Charting techniques
  • Price patterns, trends and trade identification
  • The best markets and timeframes to trade
  • Effective use of trading platforms
  • How to manage risk and target exponential returns
  • Access to live trading workshops and introduction to the strategies used
  • Other opportunities with TrendSignal

Notwithstanding the focus on the particular software package, I found the content very interesting – and I’m a bit less sceptical than before I went about using tools to give you an ‘edge’ when trading. I have also since attended some online webinars that go into the details of trading using chart indicators.

Overall my interest in manual trading with Bitcoin and other crypto coins has been rejuvenated. While I will continue to do automated trading with Gunbot I am now actively learning about and implementing indicators on my own trading charts and will soon be testing the results to see if there is money to be made in manual trading this way.

I’ll report back on my results here as usual.

Gunbot Crypto Trading 5: Emotionless Trading

Previous posts:

Trading So Far

The situation as we left it in my last post is that Gunbot had made 3 complete buy-sell trades of 0.002 BTC each using the ‘Emotionless’ strategy. It had then bought again, and hadn’t seemed to be able to sell again that day. In fact early the following day it did manage to sell, and then later that morning it bought and sold again quickly. Each trade was, naturally, profit making, though only to the tune of about 10p.

Emboldened by this I increased the stake for each trade to 0.005 BTC (about £33). Gunbot soon did another Ether trade, for a profit of about 27p, so a healthy gain of about 0.8%.

I was impatient to see more trades and profits at this point, so I increased the stake to 0.01 BTC and added further coin pairs:

  • Bitcoin – Bitcoin Cash (BCH)
  • Bitcoin – Litecoin (LTC)
  • Bitcoin – Ethereum Classic (ETC)
  • Bitcoin – Dash (DASH)
  • Bitcoin – Ripple (XRP)

This naturally increased the transaction volume, here’s what’s happened since:

Poloniex Trade History: Gunbot trading Ether with Emotionless Strategy - more coins (Image: BIUK)
Poloniex Trade History: Gunbot trading Ether with Emotionless Strategy – more coins (Image: BIUK)

In a nutshell, Ether trading has continued solidly but Gunbot has also regularly bought and sold Litecoin, and Ethereum Classic, and also made single completed trades with Dash and Ripple. Bitcoin Cash is nowhere to be seen.

Profits so far, in Bitcoin:

  • Ethereum: 0.00059094
  • Litecoin: 0.00032900
  • Ethereum Classic: 0.00032669
  • Dash: 0.00007898
  • Ripple: 0.00013795
  • Total: 0.00146356 (about £10)

So not a bad start having been out of bot trading for some time.

Advanced Trading

One thing I like very much about the latest Gunbot is the charts in the user interface – they pretty much reproduce what you get in Poloniex or Trading View with the addition of clear markers of where Gunbot bought and sold.

Gunbot chart with buy/sell indicators (Image: BIUK)
Gunbot chart with buy/sell indicators (Image: BIUK)

What this highlighted for me, though, was that the Emotionless strategy is a bit ‘literal’. What I mean is that Gunbot is selling once it achieves the profit it has been set but is missing opportunities for greater profit. For example, in the middle of the screenshot shown we can see that Gunbot sold even though the market was rising fast and if it had waited a couple more minutes the profit would have been many times greater (perhaps even 10x).

I believe this consideration of trend is part of other strategies, particularly those using Trading Stop / Stop Limit (TSSL) which wasn’t an option in my previous Gunbot version. I’m therefore going to investigate that further before changing any more Gunbot settings, in particular increasing the trading stakes.

Gunbot Crypto Trading 4: Your First Gunbot Trade

Previous posts:


After my previous post, creating my first Gunbot Setup in this version of Gunbot using the Bollinger Band strategy, I had a change of heart. I decided to try the Emotionless strategy instead, something I don’t remember being an option in my previously installed versions.

Emotionless is described on the Wiki as follows:

“The Emotionless strategy is fully tuned and ready to use, even for novice traders! It’s meant to be a relatively safe strategy, with modest but steady gains.

“With this strategy, you don’t need to think about setting the right or best parameters: it’s all there already. You only need to set the basics like your trading limit and choose on which pairs you want to trade. Optionally, you can increase GAIN slightly.

“Behind the scenes, an advanced algorithm based on the Ichimoku cloud indicator does the hard work. The specifics will not be disclosed.”

Given I haven’t used Gunbot seriously in many months this seemed like a good bet. I cancelled the run and restarted it with the strategy set to Emotionless. I kept all other settings the same.


I then went to bed, and didn’t check the results until the next morning. Success! Gunbot had bought some Ether and sold it again at a higher price during the night.

I suspect you won’t be impressed if I say the profit made was just 0.00001482 BTC (worth about 10p) but that is to miss the point. The stake, remember, was just 0.002 BTC (£13) and the setting for GAIN is 0.6, i.e. aim to make a profit of 0.6%. In fact the profit is 0.74% so the bot has done really well.

Of course, once you have gained confidence that the bot is working then you naturally increase the stake. If it were set to 1 Bitcoin, for example, then each trade would make a profit of about £50 and you could get multiple trades in one day. 10 BTC would make you £500 per trade, and so on.

In this case I left the bot running unchanged and it has now made 3 complete trades (for a total profit of 2.25%). In any other field such a gain in 2 days would be unprecedented.

Here’s the record of transactions so far:

Poloniex Trade History: Gunbot trading Ether with Emotionless Strategy (Image: BIUK)
Poloniex Trade History: Gunbot trading Ether with Emotionless Strategy (Image: BIUK)

Note that the bot has since gone on to buy again, but has not yet sold. It will be interesting to see if it sells successfully or if the market drops and it’s left holding Ether it can’t sell – I’ll report back once the outcome is clear.

Update: Gunbot Crypto Trading 5: Emotionless Trading

Gunbot Crypto Trading 3: Your First Gunbot Setup

Previous posts:

Initial Setup

Click on Create my first setup. For Setup Name I use the name of the exchange, also select the exchange in the Exchange dropdown. The pair of coins to trade is nearly always Bitcoin and another coin, both specified by their common abbreviation. I’m starting with Bitcoin trading against Ether, so I enter BTC-ETH. The strategy I choose is bb (‘Bollinger Band‘) because it’s the one I’m most experienced with – though I plan to try out others very soon.

Setup with a new trading pair (Image: BIUK)
Setup with a new trading pair (Image: BIUK)

Click Add pair. The new pair will appear as a tab in the lower window, with settings on the left and a Trading View window on the right. Repeat the process if you want to add more trading pairs.

A new trading pair added (Image: BIUK)
A new trading pair added (Image: BIUK)

Click Create. You’ll get a message “Setup created! Go to the dashboard to preview and run your setup.” Click on Go to dashboard.


Preview and Run

You are now in the preview screen – here you can check all the settings for the setup by clicking on the triangle marker next to each set. I’ll accept the defaults, however you may want to review how much Gunbot will spend on each trade – for this go to the particular strategy you selected under strategies and review TRADING_LIMIT (this is the amount in Bitcoin). The default is 0.002 (currently about £13).

Preview screen (Image: BIUK)
Preview screen (Image: BIUK)

Click Run Gunbot. A gunthy.exe command window will open (allow it if asked by Windows Firewall). The trading pair tab will now contain a and a trading view window and a window showing real-time output from gunthy.exe (the actual Gunbot bot).

Gunbot running (Image: BIUK)
Gunbot running (Image: BIUK)

That’s it – Gunbot is up and running and ready to trade when the conditions are right. We’ll go over the details of the trading in future posts.

Next post: Gunbot Crypto Trading 4: Your First Gunbot Trade

Gunbot Crypto Trading 2: Installing Gunbot

I have previously described Gunbot and how it works, including how to prepare for using it. Here I cover installation and initial setup.


Download and unzip the most recent version of Gunbot from GitHub (obviously you will need to have paid for a license for it to work). I run the Windows version and have mine in a C:/Gunbot/Latest folder (and move older versions into other folders as they get replaced).

Gunbot folder and files (Image: BIUK)
Gunbot folder and files (Image: BIUK)

Double-click on gunthy-gui.exe to run the Gunbot user interface. If you get a message about needing to get something from the Windows store, cancel it. If you get a message from Windows Defender Firewall, Allow access.

You should have a Windows command window running that says “Gunthy GUI <version> running on http://localhost:5000″.

In a new brower tab (I recommend Chrome as the browser) type in the address “localhost:5000” and enter.


Gunbot User Interface

You should now see the Gunbot interface up and running – the first time it will take you to the Login screen.

Gunbot Login screen (Image: BIUK)
Gunbot Login screen (Image: BIUK)

If you don’t get that then you may need to open access to port 5000 through the Firewall – for more details see the official installation video.

Choose and enter a password, record it somewhere safe, then click on Create password. You are now in the main Gunbot dashboard.

Gunbot Dashboard after first login (Image: BIUK)
Gunbot Dashboard after first login (Image: BIUK)

Assuming you are a new user, and so don’t have an existing config file, select Start without import.

On the next screen, Settings/API Keys, enter the API Key and Secret for the exchange you want to use (I use Poloniex). I have previously covered the method to get an API key for the Bitfinex exchange, but it’s a very similar process on most exchanges.

Gunbot settings screen for API keys (Image: BIUK)
Gunbot settings screen for API keys (Image: BIUK)

With Master Key enabled, click Add. You should get the message “API Key sucessfully added!” and it should be shown in the table at the bottom of the screen.

Next post: Gunbot Crypto Trading 3: Your First Gunbot Setup

Gunbot Crypto Trading 1: Starting With Gunbot

What is Gunbot?

Gunbot is an automated bot (robotic software) for trading cryptocurrencies, primarily trading Bitcoin with other crypto coins (‘altcoins’). It was coded by Gunthar De Niro (‘Gunthy‘) with support from the Bitcointalk community.

The theory for trading with Gunbot is relatively straightforward:

  1. You deposit some Bitcoin on a trading exchange.
  2. You request remote access to your account via an API Key and give the Key details to the bot.
  3. You setup the bot, using particular settings to specify how you want it to trade (e.g. what level of risk/reward, etc.).
  4. You start the bot. It runs 24/7 and when the trading conditions are right it buys and sells coins on your behalf using the Bitcoin in your account.
  5. The intention is that it will buy an altcoin at a low price, determined by its trading history, and hold on to it until its price goes above a certain threshold (allowing for trading fees) when it will sell it.
  6. In most cases this works well and makes a profit, and the bot is then ready to make the next trade.
  7. In a small proportion of cases the altcoin price goes down steadily and cannot be sold (this is known as ‘holding a bag’). At that point you need to step in and, in some cases, sell the altcoin at a loss.
  8. With good settings, and regular monitoring, in my experience trading with Gunbot will make more money than it loses and can produce a significant income over time.


Preparing to Use Gunbot

Before you use Gunbot for the first time it is worthwhile to learn about how it operates and what its features and limitations are.

  1. Spend some time in the Gunbot Wiki to get familiar with the bot, how it runs, what strategies it uses, etc.
  2. Read at least the last dozen or so pages of the Gunbot thread on BitcoinTalk to learn about recent changes, and any issues or bugs found. Join BitcoinTalk if you aren’t already a member.
  3. Do the same for the Gunthy forum.
  4. When you feel ready to take the plunge buy a copy of Gunbot from an authorised reseller.
  5. Get an API key for your exchange(s) and have it linked to your Gunbot licence by your reseller.
  6. Join the Telegram group to get support (the link will be provided once you’ve bought the bot).

When you’re ready, see my next blog post and learn how to install and setup Gunbot.


Experiments in Crypto Mining 9: Paying Attention to Cooling

Although my mining PC, The Beast, is capable of mining cryptocurrency profitably I was concerned about the amount of heat it produced, and consequently how noisy it was (because of the graphics card fans running hard). My conclusion was that it was not set up well for running the graphics cards continuously because most of the cooling airflow bypassed the cards.

That can be seen in this photo where I have tried to illustrate the airflow route – it comes in the front of the case via the fan in the middle, then gets pulled through the CPU heatsink via the CPU fan then exits out the far corner through the outlet fan. This makes sense for a PC where the CPU is running hard. It’s pretty useless for crypto mining where the graphics cards – whose positions are ringed in red – are doing all the work and generating all the heat.

The current airflow largely bypasses the hot graphics cards (Image: BIUK)
The current airflow largely bypasses the hot graphics cards (Image: BIUK)

The main change I have implemented therefore is to install a second inlet fan, nearly opposite the graphics cards, powered from the same connector as the current fan (so they match speeds). I have also removed two expansion card blanking plates between the graphics cards so there is more space for the hot air to exit after it has passed the graphics cards.

This is the ‘after’ picture:

After the addition of a second front fan (Image: BIUK)
After the addition of a second front fan (Image: BIUK)

The result is that the graphics cards are running cooler most of the time, and significantly cooler if I manually increase the speed of the inlet fans. The main issue now is that they are set to automatically react to the CPU temperature, which of course stays relatively low, rather than directly to the GPU temperature. My next step in cooling will therefore be to look into slaving the fan speed to the GPU temp.

That is not a standard feature on almost any motherboard or fan utility, but is apparently something that can be done by a third party utility called SpeedFan. But that’s for another day – for now I’m happy to keep mining with the system as it is with the extra fan.

Experiments in Crypto Mining 8: Initial Performance

Following my initial attempts at mining I had decided to stick with NiceHash on my old PC as a good compromise between mining performance and convenience. Therefore it was natural to move straight to mining with NiceHash on The Beast.


Initial results have been largely encouraging – as might be expected given its impressive performance. Certainly it can mine profitably: as I write this it has Daily Estimated Earnings of about 0.0004 BTC, currently worth about £2 per day.

Nicehash Mining with The Beast April 2018 (Image: BIUK)
Nicehash Mining with The Beast April 2018 (Image: BIUK)

I have a screenshot from back in February showing a slightly greater Bitcoin earning rate of 0.00048 BTC:

Nicehash Mining with The Beast February 2018 (Image: BIUK)
Nicehash Mining with The Beast February 2018 (Image: BIUK)

But because of the volatile nature of Bitcoin value we can see that only two months ago that was worth nearly £3.50 per day. Because of this volatility I try not to focus too much on the fiat earnings but instead on the Bitcoin earnings, since I think long term that’s what matters.

I use a Kill-a-watt style meter to see how much electricity the PC is using – and currently it’s 400W. Though that’s not all spent on mining, since the PC gets used for other things (like this blog) it’s a good enough approximation. So in the worst case, over 24 hours this PC will use 24 x 0.4 = 9.6 kWh. At about 15p per kWh that would cost £1.44 – so definitely I’m into profit.

In fact it’s much better than that:

  • During the daylight hours our roof generates a lot of solar, so in that period the electricity is effectively free.
  • For seven hours during the night we run on Economy 7 electricity at approximately half price.
  • I recently had a home battery installed to power the house from our solar once the sun has gone down (one of these: PowerBanx).

So in practice I’m definitely paying less than half the maximum, and probably less than 50p per day.


That’s the good news. The bad news is that there are downsides beyond just the cost of electricity. Specifically The Beast runs hot – I’m monitoring it with MSI Afterburner and in less than an hour after starting mining the graphics cards hit their default maximum temperature of 83° C.

MSI Afterburner showing high graphics card temperatures during mining (Image: BIUK)
MSI Afterburner showing high graphics card temperatures during mining (Image: BIUK)

The results of this are:

  • The PC generates a lot of heat, much like having a fan heater running in the room.
  • The graphics cards are temperature limited and could probably generate more money if they weren’t so hot.
  • The PC gets noisy as all its fans are running flat out.

The upshot of this is that I’ve bought an extra fan to go into the PC case low down where the graphics cards are. Currently the case has most of its air flow going along the top where the CPU is, but that’s hardly used during mining. I think this is a case where Scan made a mistake in the system design, despite me making it clear the PC was intended for cryptocurrency mining.

I’ll install the new fan as soon as I can and then report back on the results.

[Update: Experiments in Crypto Mining 9: Paying Attention to Cooling]