Selling in a bull market

We’re already a week into February; it seems like this year is flying along already. And what a crazy one it is. I’ve been spending a lot of time watching the price of Bitcoin; it seems like the bull market is here and ready to fulfil my dreams of wealth. Also, it seems like Sanders is in position to take the Democratic presidential nomination. On the other hand, Trump just got acquitted by the Senate, and the Democratic party seems to be doing everything they can to fuck things up.

I’ve been very low-key about crypto lately. I don’t talk to people much about in real life. I have fun with it on Twitter, but the fact is that if things go right, I don’t want people to know how much I’m involved with it. Keeping control of your bank is all fun and games until someone gets kidnapped. Someone on Twitter was bragging about being a member of the 10BTC club, and I warned them about OPSEC. They took the tweet down after.

I’ve done my best to protect my holdings. I’ve got redundant hardware wallets plus the private keys protected, but it’s starting to get to the point where I don’t feel entirely safe. I could literally make more from hodling this year than I do at my day job. That’s insane. Many months ago, during the depths of the bear market, I set some dynamic price targets to sell some of my holdings once things took back off using the Mayer Multiple (MM), or the price of BTC as a multiple of its 200-day exponential moving average. I’ve also posted the current MM chart and the TradingView PineScript I used to create it as well.

//@version=1
study("Mayer Multiple", overlay=false)

psma_length = input(100, title="Price SMA Length")
msma_length = input(250, title="Multiple SMA Length")


ma = sma(close, psma_length)
multiple = close / ma
mma = sma(multiple, msma_length)

plot(multiple, title='EMA Multiple', color=#891A0D, linewidth=3)
plot(mma, color=orange, linewidth=2)

Looking at the above chart, one can see that the price of bitcoin has usually peaked when the MM hits 1.9. The winter 2017 bull run peaked just under 2.9x. So a possible strategy would be to start selling as the MM approaches these numbers. I won’t be dumping my holdings at these points, rather I’ll probably start scaling out gradually. I’ve been using a dollar-cost averaging approach, or accumulating, every week, so I think I may start selling the same amount as the price reaches 1.55-1.60x, which is currently $12,900. However, I have made a decision to sell a significant portion of my holdings if we reach 2.88 like we did at the end of the last bull run. That would be just under $24,000. Of course those numbers are dynamic and will likely be much bigger if we take our time to get there. Otherwise, I assume we’ll have some sort of blow off top with opportunity to buy back in later.

I truly believe that Bitcoin represents the greatest financial opportunity that I’ve seen in my lifetime, and one of the main difficulties I’m struggling with is how to balance my risk. I’ve already got a majority of my net worth in crypto, and the temptation to go even further is strong. I’ve written about GBTC in the past; in the next week I’ll complete a 20-week value-averaging plan that I’ve been executing. It’s just hit it’s max payout target for the first time, and we are fully in the black. More about that next week.

That said, it’s hard finding a sell strategy. The important thing is to have a plan, and having the discipline to execute it. My hope is that I can use some of the longer-term trend indicators to build a cash reserve that I can redeploy during the next bear market. If we’re setting up for another multi-year parabolic bull run, then I want to make sure that I take profits and do so slowly enough that I don’t miss too much of the top.

The Mastermind

Last night was the SuperBowl, and since I haven’t watched a single game since the last SuperBowl, and naught before the one before that, I figured why start now. Instead the wife and I decided to wrap up the last few episodes of the final season of Mr. Robot. Spoilers ahead, obviously.

Putting a bow on any work of art and calling it finished is always a challenge. It’s difficult enough for a song or a paper, which is the extent of my creative experience; I can only imagine how hard it is for a book or a multi-season television series. I’s impossible to please everyone, as Lost and The Sopranos demonstrate. With Lost, it was apparent that the showrunners had no idea what they were doing, and the Sopranos may have been more a case of the director being a bit vague about what had happened. There may have been too much credit given to the audience in the latter case. And perhaps no show has so brilliantly destroyed its fanbase more than Game of Thrones, which in the course of its run went from cultural touchstone to something that has disappeared from public consciousness mere months after its conclusion.

FX’s Legion, based on the Marvel comics, was the last show that I wrapped up. It was mostly satisfying, although its final scene, with the (anti)hero and heroine fading out of existence after changing the past, had me saying ‘really?’ to the TV afterward. Man In The High Castle had a good, satisfying ending that tied up all the character arcs and left all the American Nazis dead, although Commander Smith’s downfall and suicide at the end seemed a bit out of character for him.

And I was definitely thinking of Man In The High Castle near the end of Mr. Robot, as we viewed the alternate universe Elliot go about his day in a world where everything was ‘too perfect’. The parallels, (pun intended) between this part of the show and the metaverse of MITHC seemed very similar. But it was the way in which it all fell apart at the end of Mr. Robot that was a bit confusing as it was revealed. I had to chuckle as the fourth wall was obliterated, as a manifestation of Elliot’s psychiatrist (or was it the Architect from The Matrix?) looked into the camera and told the viewers that we too needed to let go of everything.

The ending was a bit messy. With the truth revealed as to who the Mastermind was, and the show back in the real-world hospital bed, I found myself wondering what that meant for White Rose. When she said she wanted to show Elliot what she had shown Angela, did that mean she had killed herself before?

I had known as soon as the two Elliots confronted each other that our Elliot would kill the other. In a show as paranoid as Mr. Robot, it seemed the only way out. But the escape back to the real world seemed anti-climactic. The final scenes were a bit emotional as the various aspects of Mr. Alderson’s dissociative personalities came together, a la Inside Out, before a tunnel ride that borrowed heavily from 2001‘s star child sequence.

Overall I was happy with the conclusion, and Mr. Robot stands up as one of my favorite shows, even if their depictions of hacking were just realistic enough to make the outcomes completely absurd. It was still a great show.

Templates, makefiles, and YAML, oh my!

When I first started programming, it was simple to just fire up an editor and start typing away. Scripts usually wound large procedural monstrosities. If I managed to get anything working it usually was such a mess that it quickly became unmanageable. Now days, there’s so much setup that needs to be done before I can even get to work: setting up a git repo and Python virtual environment; external repo; databases, setting up my IDE. I suppose it must be indicative of the progress I’ve made as a programmer.

One of my final classes is a multi-semester group project. We spent last semester building out a the design docs, and are spending the first few weeks of this one refining those docs individually before coming back together and deploying a prototype. I’m the old man on the team, about twice as old as the rest, and I’ve been doing this long enough to have very strong opinions about a lot of things, so I’ve been trying to guide the team toward these standards.

I’m not going to get into the use case around our app yet, but convinced the team that we would use Django for the backend. Now, while we could use it for the front end as well, I figured that since Django was giving us most of what we needed for the core functionality, we could spend some resources trying out some cutting edge tech that would give the team some experience with GraphQL and React Native. I’ve got no idea whether that will make it in the final approach. Even though we’ve got a team of six people and I’m handling all of the infrastructure stuff, I’m starting to wonder whether the others are going to be able to implement those new features in time.

I’ve got a few more passes through my individual paper to make, then I’ll start focusing on the prototype presentation. My professor made a comment during last week’s recitation that these applications did not have ‘cookie cutter’ approaches, and I almost laughed out loud cause we’re literally using Cookie Cutter Django as the basis of our project. I’m debating whether I want to try a live demo of deploying one or do it offline and record screenshots or something.

Being able to use something like Cookiecutter to setup a Python package, with all the unit testing, CI, and documentation setup via make make commands, out of the box, is amazing once you understand what all of that stuff actually does. It can lead to a bit of choice paralysis at first, trying to figure out testing frameworks, code coverage tools, linters and all that. I’m still getting there. But once found, it makes rapid prototyping easy.

It’s almost maddening thinking about how many different ways there are to setup your workflow. I’m currently using Pipenv as my tool of choice, but recently read about Poetry, which seems to be a step up in many ways. For now though, I’m not chasing it down. Instead, I’m going to focus on delivering something using the tools I already have, instead of getting caught up in what’s new. It’s lesson that continues to be more and more relevant as I mature in my abilities.

February Focus

Well February is shaping up to be a very busy month for me. Besides my two courses to finish my degree, I’ve got one credit hour left to earn, so I’ll be taking a 2-day bootcamp on R near the end of the month. That same week, I’ve got to take my college exit exam. In addition to that, PennyKoin has been revived, so the team is debugging a wallet bug that is burning payments, and also forking Monero as the base for a new chain that we’ll be swapping to. And if that wasn’t enough, I took on digital director duties for a school board campaign. I must be crazy.

But wait, there’s more. I’m setting up a WordPress site for the local Democratic Party. I was Sergeant At Arms previously, but had to drop that. I’ll be working with a steering committee and doing the technical work to guide them through customizing a theme I picked out an setting up operations on it. I also promised I’d submit a merge to the Python TDAmeritrade API library.

I’m really having to dig into C++ between my course on scientific computing and Pennykoin. It’s so different coming back from spending so much time on Python. I’m still reading through Clean Code and the Gang of Four’s Design Pattern book to try and figure out how to abstract my code and get rid of code duplication. My other class, a group development project, is basically going to be a social networking app running in a Django setup. I’m going to be demoing Cookie Cutter Django and a Docker setup for the prototype presentation on Thursday after I finish the first revision of my software design spec.

My boss had a lot of questions for me earlier this week about my post-graduation plans. Our company still isn’t making any money (or so he claims), and I was honest with him that I can expect a six figure salary after graduation. I told him that I wasn’t going to abandon him, but that I thought our business model was a dead-end. I suggested a pivot to business process automation, and alluded to trying to some steps that we could do to open up the web-page maintenance business. We’ve been shoveling off any web development requests that our clients have had, and it’s probably been the wrong move. We’ve got a pretty big marketing funnel, and so I suggested that we scrape all of the web domains in our database and run them through a WordPress vulnerability scanner and see what we get. Low hanging fruit and all that.

Lastly, I can’t wait to listen to this episode of Unconfirmed about employment in the blockchain industry. I think in some sense, that’s where all the work I’ve been doing recently has been heading. It seems so obvious right now. Between the stuff I’ve been doing with Pennykoin, the trading algorithms I made for my brokerage, and the infrastructure work, it’s obvious that’s where I want to go. I’ve got a connection also that I’m going to pursue.

Right after I knock some other things off my todo list.