Table of Contents
Most people probably don’t imagine spending their Saturday coding an app in Python to track Bitcoin prices in GBP as a portfolio project. But, with nothing better to do today, I thought I’d give it a go. And, honestly, it turned out to be a lot of fun!
Once I got through the complexities of Tkinter, the rest of the project was pretty straightforward. I’ll admit I used AI to automate some of the refactoring to save time, but the core code was done—I just needed to tidy things up. After all, it’s all about being an efficient programmer!
So, what’s this project about? Essentially, it uses the yfinance
package to download BTC-GBP price data and presents it in various ways.
First, the latest prices appear in the sidebar. If the price is higher than the previous one, it shows up in green; if it’s lower, it’s in red.
There are three main charts in the app. The first shows price and trend over the last 20 minutes. I used a simple moving average (SMA) alongside the actual price, which helps smooth out the data and makes the trend clearer. Bitcoin is incredibly volatile—not something I’d invest in myself, but perfect for demonstrating the concept here.
The second chart spans 60 minutes, giving a broader view of the last hour. This one also includes two SMAs (5 and 10) to better illustrate the price movement and trend.
Lastly, there’s a chart displaying price and trend for the entire day, starting from midnight. All the charts refresh when prices update. For this daily view, I added SMAs of 5, 10, and 30 periods, smoothing out the data to make the trend more readable and showing crossovers clearly.
Price updates happen every 60 seconds, and I added a timer in the status bar to count down to each update.
Overall, it was a valuable learning experience for me.
Would I use this myself? Probably not. But for someone wanting a quick and easy way to see Bitcoin’s price and trend over the day, it’s a practical solution that’s ready to go.
What did I learn? First, I found that I really enjoy Tkinter! The ability to create apps with a graphical UI is a great skill to have. And of course, there’s Pandas and Matplotlib. These libraries are powerful enough to make apps like this possible. The learning curve is steep, but the payoff is well worth it.
If you want to learn more about this project, check out the source code or pull it down and give it a try—it’s available for free on GitHub.