- Positive Skew
- Posts
- what's your system?
what's your system?
A framework for investing
I’ve got cash burning a hole in my pocket.
Solana in the $120s is particularly tempting. Everything looks cheap. It’s like Black Friday and Cyber Monday just for crypto gamblers like me (and you).
But I haven’t pulled the trigger yet. I’m fighting the urge to trade.
I’m putting trust into the system.
The system that has served me so well in crypto over the years, and particularly so this cycle.
Wait for the momentum. Don’t catch a falling knife. Don’t chase narratives. Build a foundation and stay on top of it.
So I figure, what better time than now to lay out my complete system for you. I hope it inspires you develop your own, to stay disciplined, to find your own edge in our crypto adventures together.
Feedback Poll
In future newsletters, are you more interested in reading about: |
(If there’s something specific you want me to consider writing about, just hit reply. I try my best to respond to every email from you all.)
Market Vibes
Crypto Reads
Cliff Asness: The Less-Efficient Market Hypothesis
Jeff Dorman: What makes a crypto token skyrocket
Author Hayes: Boom Times…Delayed
What’s your system?
There are five major components to how I approach crypto investing.
Strategy
Trade Signal
Forecast
Portfolio Management
Trade Execution
Strategy - what’s your edge?
“Strategy” is one of those words that business schools co opted and ruined. Read this for a good primer on strategy.
In my investing outside of crypto, my strategy is to buy and hold for the ultra long term while incurring the minimum costs possible. I can’t compete with the hedge funds and pro’s that trade intraday or on M&A rumors or whatever else. So I choose to not compete with them. I buy. I hold. And then I wait several decades.
I stick to low cost, diversified ETFs across a number of asset classes and geographies. The ETFs reduce management fee costs to near-zero, and by never selling I never incur any capital gains taxes. More money in the game, more compounding every single month.
In crypto, this ultra long term approach is suboptimal if not flat out dumb.
The average crypto token doesn’t produce cash flow. It’s not a business. There is no present value to model or gross profit to underwrite. Tokens are not stocks.
Bitcoin is just bitcoin. It has useful features, and I get it’s appeal as an investment. I’m as fanatical about bitcoin as anyone. But I also see why Warren Buffett isn’t deploying his billions into the ecosystem either. It doesn’t fit his strategy.
Instead, my crypto strategy is to bring a professional rigor to a young, inefficient market. Crypto is a retail investors game, and my advantage is 1) better access to crypto insiders through my day job, 2) I am more informed and pay closer attention to the market than those I compete with, and 3) I use professional techniques to be more disciplined than the competition (and therefore the market). That’s it. That’s also what I try to offer to you in this newsletter.
I prefer to take positions that I’ll hold from several months to a couple years. I use techniques based on momentum and trend following (my systematic algorithm is 100% a trend system). I will also take discretionary positions based on narratives and perceived momentum in the community (this is another way of saying that I spend too much time on Farcaster, crypto Twitter, Discord servers, etc).
By defining my strategy up front, I can then consider specific trade signals (like my aforementioned social media lurking) that fit the strategy. I’m not going to sell all the $QQQ in my retirement account just because it broke below some technical momentum indicator. But I probably will sell all my Arbitrum (which I did, thankfully).
Trade Signals — when do you buy?
With the strategy defined, we can start looking for investments. We need some set of characteristics to identify good bets.
Warren Buffett looks for outstanding companies that the market prices below their intrinsic value. Ben Graham was even more hardcore – he would look for companies that, for example, had more cash on their balance sheet than their market value. That’s a no-brainer signal to BUY. Unfortunately, those opportunities are few and far between today.
In my discretionary positions, I try to assess the reasons other crypto idiots (like myself) would want to buy or sell, plus any reasons that could force buying or selling over time.
The high FDV/low float dynamic is a perfect example. If 80% of the tokens are held by insiders who can’t sell yet because of a lockup, that’s big red flag. Those holders will dump the first chance they get. You would too! It's the smart move. I don't blame them at all; I just don’t want to be their exit liquidity!
Reasoning around the upside is a similar exercise. Perhaps a protocol solves an interesting problem. Or perhaps there’s some virality around their product (Axie Infinity immediately comes to mind). Or maybe the project is taking a different approach than others in a category that’s ripe for attention (like gaming or real world assets). Crypto investors LOVE this shit. They’ll buy those tokens all day long.
Throw in some gamified tokenomics to keep tokens locked for extended periods, yield farming incentives, etc. All these tactics are quite literally games being played to maximize thrust and minimize drag on the rocket to the moon. As a crypto speculator, you love to see it.
On the systematic side, I take a much simpler approach. Probably the single greatest risk is systematic trading is to overfit your system on existing data. Markets are chaotic and unpredictable, and it’s just way too easy to fit a model on data that won’t repeat in the future. If that happens, you’re not going to have a good time.
Left curve wins
The name of the game is robustness, and simple tends to be more robust. So I rely on a pretty simple trend signal: the exponentially weighted moving average crossover (EWMAC).
I’ll spare you the math, but the basic idea is to compare a “fast” moving average of the price with a “slow” moving average of the price.
For the most part I use the 16-day EWMA as my “fast” average and the 64-day as my “slow” average.
When the “fast” average is above the “slow” average, then the trend is up. If the “fast” is below the “slow,” then the trend is negative. The exponential part just gives greater weight to more recent price changes – this is key for high vol assets like crypto.
That’s it. This is all you need to signal a trend.
Solana is currently in a negative trend, the “fast” (orange) is below the “slow” (green)
Forecast - how much do you like it?
Once we have a token that we like and want to buy, we need to figure out how much we like it.
I use a forecast system that I borrowed (stole?) from Robert Carver. Each forecast is normalized to a score between -20 and +20. A 10 is an average “Buy,” and a -10 is an average “Sell.” Zero is neutral and +/- 20 are the maximums in both directions.
On the discretionary side, this is easy enough. I tend to stick to multiples of 5 just to keep it simple. 10 is market outperform. 5 is less. 15 is more. The forecast is derived (made up?) out of my head based on my own analysis. For readers who have been with me for a while, you’ve seen these ratings before. Last week’s newsletter about FLR concluded with a 5 forecast.
On the systematic side, forecasting is a bit more complex. A systematic approach requires a forecast that is not overfit to past performance. It needs to be robust to outliers. It needs to somehow sense when a trend is very strong and when it is very weak.
I solve this problem by using the ratio between the EWMA’s and then normalizing that to the specific token’s volatility. That probably sounds scary and technical and math-y. It’s really not too bad.
The intuition is easier to grok – remember that the EWMAC signal fires when a token’s 16-day moving average is above its 64-day moving average. If the 16-day is waaaay above the 64-day moving average, that means the price has gone up very quickly (strong momentum). If the short term moving average is only slightly above the longer term moving average, that means the momentum isn’t as strong – it could be the beginning of a trend, the end of a trend, or a false signal. In all 3 cases, we can recognize that the momentum isn’t as strong.
Let’s look at the Solana chart again. Notice how the orange line (fast) kept ahead of the green line (slow) throughout the explosive gains earlier this year. That is what trend investing is all about — a few big wins make up most of the profit, and more frequent but small losses when we misfire. Positive skew!
Trend systems thrive in volatile assets
Then we just divide by the token’s volatility to standardize it against the other tokens in the portfolio. In other words, we have to normalize against risk to account for the insane-o memecoins that go to the moon and back every month.
The last step is to center these outputs back to our -20 to +20 scale. This is critical because I manage my portfolio allocations based on this common scale, so my discretionary and systematic positions must both use the same, common forecasting scales.
Portfolio Management - how much to bet and when to take profit
I’ve already written a fair bit about my portfolio management system. The gist is that I size my positions in this step based on each forecast, my target volatility for the whole portfolio, and the diversification profile of the portfolio.
You may notice that this portfolio management system will require you to continuously update your forecasts. This is an intentional feature, not a bug.
Crypto markets change fast. You have to stay on top of it. You have to pay attention. There is no set-it-and-forget-it here.
You take profits when either 1) you become over-concentrated and the system forces you to diversify or 2) your forecasts change and the system allocates that capital elsewhere.
In both cases you have to maintain an accurate, current forecast. Don’t put your blinders on. Re-underwrite your portfolio from time to time.
You can check out (or steal) my portfolio management spreadsheet here.
Use the spreadsheet.
Trade Execution - get what you pay for
The final piece is easy to overlook because it feels so easy – you just make the trades. You buy some of that, sell some of this, bing-bang-boom and you’re off to the Bahamas to catch up to your yacht on your G450.
Unfortunately, crypto exchanges know this too, and they do their best to squeeze every bit of cash out of you the nanosecond you click the button.
Let’s take a look at Coinbase just for example. Coinbase can be a confusing place. There’s Coinbase, Coinbase Advanced, and Coinbase One. I’m already confused.
Coinbase is what you see when you typically log in for the first time. If you click the “Advanced” toggle, then you get a different user experience and unlock some new features. Great!
Coinbase One is a subscription product that gives you some nice benefits in exchange for $30 a month (including lower fees in some cases).
Here’s the link to check out Coinbase’s current fees (note: this is just Advanced fees. Coinbase is higher. Coinbase One is slightly lower. I recommend using Advanced for reasons I’ll explain next): https://www.coinbase.com/advanced-fees
When you trade crypto, you will be charged wither a Maker or a Taker fee. Taker fees are higher and charged when you are “taking” liquidity out of the exchange (more precisely: taking liquidity from the order book). Whenever you just click to buy or sell, you’re probably getting hit with the Taker fee.
If you want to pay the “Maker” fee, then you must “make” liquidity. In other words, use limit orders and you’ll save on fees (these fees can be big – it’s worth the effort to trade with limit orders).
Exchanges like Coinbase use order books to fill your trades. An order book is a list of open orders from traders that want to buy (bid) or sell (ask). You click “trade,” and Coinbase will match you with the appropriate bid or ask to execute your trade. The mechanics here are important and even a simple understanding can save you a lot of cash.
Exchanges quote you the price at the mid-point between the bid and the ask. The bid is the price someone is willing to pay for some number of tokens and the ask is how much someone is willing to take to sell some number of tokens. The different between them is called the spread, and the bigger the spread the more careful you need to be.
Here’s how it works: we see the price is $15 on our screen, but in reality there’s a seller who’s asking for $20 and a buyer who only wants to pay $10. So is the price really $15? No, it’s not, and if you trade on this assumption you’re going to lose $5 per token the moment you click “buy.” That hurts!
The takeaway? Buy with limit orders to qualify for Maker fees and pay attention to the bid and ask when place your order.
Not-Advanced coinbase fees. pricey pricey https://help.coinbase.com/en/exchange/trading-and-funding/exchange-fees
Centralized exchanges are expensive, but they aren’t the only game in town. If you trade on a decentralized exchange like Uniswap or others, you will also experience “slippage.” Slippage is the change in price incurred from the time you clicked order to the time your order is filled. Sometimes slippage occurs because a large trade goes through just before your order. Other times you may be trading an asset that’s has such low liquidity that even your $500 order is enough to move the market. Glory be to shitcoins!
Minimize slippage by only trading in liquid assets, set smaller slippage limits when you trade on-chain, and when possible use exchanges like CoW Swap who can reduce slippage through MEV bot protection (MEV is out of scope for today. We’ll come back to that in the future.).
The best way to deal with these issues is use limit orders and do your best to not over trade. Less trading = less cost = more compounding.
And that’s it, that’s my system. I rely on it heavily to keep me honest, out of my emotions, and profitable.
Now that you’ve made it to the end, I’d love to know what you think. The easiest way is to click on the poll at the top and let me know there. Or, you can just reply to this email and let me know directly. I’ll try to respond to everyone!
Portfolio Update
No trades this week.