What betashell calculates
This page is for people who took high-school math but never studied investment theory. By the end you will know why betashell looks at CAGR rather than the average return, how it decides how much of each asset to hold, and how to read the numbers it gives you.
The returns and volatilities on this page are made up to explain the ideas. They are not forecasts for any market and not investment advice. The numbers betashell actually uses are estimated from historical data and a set of stated assumptions, for the assets you enter.
Chapter 1What question it answers
You tell betashell three things:
- what you hold now (stocks, ETFs, bonds, cash, futures…)
- whether you can borrow, and at what rate
- how far you can stand to fall from a peak
It answers one thing: what share of your net worth each asset should be so that your wealth grows fastest over the long run without falling further than you can stand. These shares are called the “target weights”.
It does not say whether the market will rise or fall tomorrow, or when to buy. It calculates weights, not timing.
The table on the Result tab puts the “Current weight” next to the “Target weight”; both are shares of net worth. The ▲ ▼ = next to a target weight say whether the target is above, below or equal to the current weight. They are about weights only and are not instructions to buy or sell. Only after you decide to work from these targets and press “Adopt these targets” does the page show how far each holding is from its target; whether to adjust is entirely up to you.
Each question on the Analysis tab re-solves the same portfolio with one condition changed, so you can see which assumptions the answer is sensitive to. The ideas they use are spread across the chapters below, and the terms on that tab link straight to the matching section.
Chapter 2Up 50%, down 50%: volatility eats growth
Say you have 100 dollars. The first year it rises 50%, the second year it falls 50%. The average return over the two years is (50% − 50%) ÷ 2 = 0%, which sounds like breaking even. In fact:
You are 25 dollars down. That is −13.4% a year (because : each year multiplies your money by 0.866).
The problem is that wealth compounds by multiplying year after year, not by adding. Over the long run, what decides how much you end up with is “how many times over your money grows per year on average”, the compound annual growth rate (CAGR). It has a handy approximation:
Expected average return
The “average return” in the formula adds up each year’s return and averages them, like the (50% − 50%) ÷ 2 = 0% in the example above. It looks only at how many percent each year went up or down and ignores that wealth compounds by multiplying, so it overstates the growth you actually get over the long run. The formulas below write it as .
The “Expected average return” on the Result tab is the average return of these weights: under betashell’s estimates, roughly how much they return in an average year.
- It is each asset’s expected return added up by weight. How each asset’s expected return is estimated is in chapter 7, “Where expected returns come from”.
- Subtract the volatility drag described below and you get the “Expected CAGR” next to it. So it is never lower than the CAGR, and the two are equal only when there is no volatility at all.
- To compare two sets of weights, look at CAGR: a higher average return does not mean more wealth in the long run.
Annual volatility
“Volatility” is how widely returns swing up and down (the standard deviation, in statistics). Measured over a year it is called annual volatility, and every volatility on this page is annual. The formulas write it as . The example above has an average return of 0% and a volatility of 50%; the approximation gives , close to the actual −13.4%. The smaller the volatility, the better the approximation.
Volatility drag
This formula is where the whole tool starts. It says that volatility itself eats growth, and the amount it eats is proportional to the square of the volatility. The term that gets eaten, , is called “volatility drag”. Of two choices with the same average return, the less volatile one ends up with more over the long run.
Expected CAGR
The “Expected CAGR” on the Result tab is roughly how much these weights grow per year over the long run; the formulas write it as . In these symbols, the approximation at the start of the chapter reads:
betashell works it out in two steps:
- Estimate each asset’s expected average return (chapter 7) and its annual volatility and correlations with the others (chapter 8).
- Apply the multi-asset version of the formula (chapter 6): the expected average return of the whole set of weights, minus its volatility drag.
It is a number the model calculates, not a forecast; the estimated returns themselves have large errors (chapter 7).
Mathematically, this “how many times over per year on average” is the average after taking logs: logs turn multiplication into addition, so the log of long-run wealth is the sum of the logs of each year’s return. Maximising CAGR is the same as maximising expected log wealth.
Simulation: average return and CAGR
Try it with the simulator below. An asset has an expected average return of 8% and a volatility of 18% (the same as the stock index in chapter 3), and you put in 100,000 at age 20. Each year that passes draws that year’s return at random from the normal distribution in the chart. The more years you draw, the closer the average of the draws gets to 8%, yet the CAGR settles near the formula’s 8% − ½ × 18%² ≈ 6.4%, below the average return.
Chapter 3How much to hold: the Kelly criterion
Start with the simplest case: only two choices, a stock index and cash. Say the stock index has an average annual return of 8% and a volatility of 18%, and cash earns 2%. You put a fraction of your net worth into stocks and the rest in cash. can be more than 100%, which means borrowing to buy (leverage).
Apply the formula from chapter 2, and your CAGR is a quadratic function of :
The coefficient of is negative, so this is a parabola opening downwards, and its vertex is the fraction that grows fastest. Using the vertex formula from school:
Writing the cash rate as , the peak in general is .
This is the Kelly criterion: under these assumptions, the fastest long-run growth comes from borrowing until stocks are about 185% of your net worth, for a CAGR of about 7.6%. Compare a few points:
| Share in stocks | CAGR | Volatility |
|---|---|---|
| 0% (all cash) | 2.0% | 0.0% |
| 46% (1/4 Kelly, a quarter of the vertex) | 4.4% | 8.3% |
| 100% (all stocks) | 6.4% | 18.0% |
| 185% (the Kelly vertex) | 7.6% | 33.3% |
| 370% (2× Kelly) | 2.0% | 66.7% |
- 1/4 Kelly bets only a quarter of the vertex, with a quarter of the volatility, yet already grows well above all cash; “Fractional Kelly” at the end of this chapter comes back to it.
- The last row matters most: at 2× Kelly, growth falls back to the same as holding all cash, and beyond that it is worse than cash, even though stocks have the higher average return. Hold too much, and volatility eats even a good average return.
The Kelly criterion comes from Kelly (1956), “A New Interpretation of Information Rate”, Bell System Technical Journal 35(4): 917–926, which was about how much to stake on each of a series of bets. Its form for stocks whose share can be adjusted at any time, , is in Merton (1969), “Lifetime Portfolio Selection under Uncertainty: The Continuous-Time Case”, Review of Economics and Statistics 51(3): 247–257.
Simulation: which share ends with the most
The table above is the long-run growth rate from the formula. Race the five shares with the simulator below: each puts 100,000 into the same market at age 20 and holds for 30 years. Every day brings the same rise or fall for all of them; only the share in stocks differs. Run it a few times and look at:
- which share finishes first most often, and has the highest median ending wealth;
- how much lower 1/4 Kelly’s median is than Kelly’s, and how much less often it halves along the way;
- how often 2× Kelly ends below holding all cash;
- how often the share that finishes first fell to half its peak along the way.
Fractional Kelly
The parabola is flat near its vertex: betting a little less than the vertex costs only a little growth. Write the share as times the vertex, , and substitute it into :
is the Kelly vertex. So betting times the Kelly share, called Kelly (half Kelly, for example), earns of the growth Kelly earns above all cash, at times Kelly’s volatility:
- Half Kelly (betting 93%) takes half the volatility and earns 75% of the excess growth.
- 1/4 Kelly (46% in the table above) takes a quarter of the volatility and still earns 44%.
- Betting more is symmetric: 1.5 times Kelly also earns only three quarters of the excess growth, at 1.5 times the volatility, so betting too much never pays.
- betashell does not bet a fixed fraction of Kelly. It turns the drop you can bear into a volatility limit (chapter 4), and the limit sets the share; fractional Kelly is a way to see how much growth a smaller bet gives up.
With more than one asset the idea is the same; chapter 6 covers it. First, a question: why doesn’t betashell simply tell you to borrow up to 185%?
Chapter 4How deep a fall you can live with
Growing fastest in the long run does not mean you can live through the ride. Growth only looks at the end point, not at how far you fall on the way. If your wealth halves from its peak at some point, many people sell at the bottom, and the long-run growth never arrives.
If returns keep swinging in roughly the same way every year (in mathematical terms, geometric Brownian motion), you can work out the probability of “falling or more from the peak within the next years”. Four numbers decide it:
- : the CAGR from chapter 2. The faster you grow, the sooner you leave the previous peak behind and the harder it is to fall deeply.
- : the volatility. The more volatile, the easier it is to fall deeply.
- : how deep a fall counts.
- : how many years. The longer you look, the more chances to run into one.
The last one is the easiest to miss: measured from the peak, a fall of any depth happens sooner or later if you wait long enough. So a probability only means something with a number of years attached.
There is no simple formula for this probability. betashell cuts “how far below the peak” into 200 steps and moves forward a small slice of time at a time, working out the chance of not yet having fallen (mathematically, it solves a diffusion equation).
Back to the example from chapter 3, the probability of falling to half the peak:
| Share in stocks | Within 10 years | Within 30 years | Within 60 years |
|---|---|---|---|
| 50% | 0.04% | 0.41% | 1.01% |
| 100% | 15.1% | 46.5% | 73.2% |
| 185% (the Kelly vertex) | 82.5% | 99.6% | 100.0% |
At the vertex, halving within 30 years is close to certain; even at 100% the chance within 30 years is close to one half. It grows fastest, but few people can sit through that.
Simulation: do you sell halfway?
Try it with the simulator below. As in chapter 2, everything is in the stock index (average return 8%, volatility 18%), and you put in 100,000 at age 20 and hold until 100.
- If your wealth ever falls to half of its earlier peak, you are taken to have had enough and sold everything (a panic sale), and the line stops there.
- If it never falls by half, you made it through.
Selling only at half is a generous assumption; real investors often give up sooner. Krämer (2022), “The History and Psychology of Panic-Selling”, Lazard Asset Management:
- A pullback of 5%–10% does not normally dampen investors’ mood, and is widely seen as a buying opportunity.
- In a bear market of 20% or more, investors’ trust is deeply shaken, and many sell for fear of further losses.
- In the US S&P 500 from 1952 to 2022, falls of 10% or more came about once a year, and falls of 20% or more about once every six years.
Drawdown tolerance and the volatility limit
betashell uses this probability in reverse. The three questions in simple mode ask for , and the probability ; together they are your “drawdown tolerance”:
- “How deep a fall can you live with?” asks for .
- “Over how many years ahead?” asks for .
- “What chance would you accept of a fall this deep actually happening within those years?” asks for .
The higher the volatility, the higher the chance of falling . So betashell finds the volatility at which the chance is exactly : that is the most volatility the portfolio may have, the “volatility limit”.
For example, if the portfolio’s CAGR is 6% and you accept “at most a 10% chance of falling by half within 30 years”, the volatility limit is 13.4%. Other combinations (all over 30 years):
| Fall you can live with | Chance 5% | Chance 10% | Chance 20% |
|---|---|---|---|
| 20% | 6.2% | 6.6% | 7.2% |
| 30% | 8.2% | 8.8% | 9.6% |
| 40% | 10.2% | 11.0% | 12.1% |
| 50% | 12.4% | 13.4% | 14.8% |
| 60% | 14.8% | 16.1% | 17.9% |
| 70% | 17.6% | 19.3% | 21.7% |
The volatility limit is binding
So the problem betashell solves is: make the of chapter 3 as large as possible while volatility stays within this limit. There are two cases:
- If the Kelly vertex is already within the limit, the answer is the vertex (conditions such as trading costs and locked positions move it a little).
- If not, the answer stops at the edge of the limit, the fastest-growing point within what you can live with.
The Result tab shows two numbers side by side:
- “Annual volatility” is the volatility of these weights.
- “Volatility limit” is the limit worked out above.
When they are equal, it is the second case, which the Analysis tab calls “the volatility limit is binding”: to get more growth you would have to accept deeper or more frequent falls.
The drawdown limit is a probability, not a guarantee
This probability rests on two assumptions:
- Returns keep swinging in the same way over the long run.
- Prices move continuously, so you can bring the weights back to target from time to time.
Real markets gap, have liquidity limits, and now and then have days more extreme than the assumption allows. So what you set is “the probability of falling more than a given amount from a peak within so many years”, not “it will never fall more than this”. It is a probability under the model, not a guarantee, and the actual fall can be larger.
Chapter 5Borrowing and leverage
Chapter 3 put the Kelly vertex at 185%, assuming you could borrow at the same 2% that cash earns. In reality borrowing costs more, and borrowing is not the only kind of leverage.
Break-even rate
Say the borrowing rate is . With net worth 1, stocks () and borrowed:
Setting the derivative with respect to to 0 gives . For borrowing to be worth it, must be more than 1, that is
With the numbers from chapter 3, the borrowing rate has to be below 4.8% for borrowing to buy stocks to be worth it; this rate is called the “break-even rate”. The Analysis tab’s “Is this loan worth taking?” calculates exactly this, but for your whole portfolio, and with the volatility limit of chapter 4 and the estimation error of chapter 7 taken into account. It answers “how high the rate would have to go before the model stops using this loan”.
The volatility limit often bites before the rate does. In chapter 4’s example the limit is 13.4%; with stocks at 18% volatility you can hold at most 74%: even all stocks is over the limit, so the model does not borrow however low the rate.
Net worth, total assets and funding
Once you borrow, two numbers need keeping apart:
- Net worth is your own money (assets minus loans). Target weights are always shares of net worth, so with borrowing they add up to more than 100%.
- Total assets is net worth plus the borrowed money, what you actually hold. The pie on the Result tab shows where the total assets are, with percentages of total assets.
The “funding” bar next to the pie shows how much of the total assets is your own and how much is borrowed. A loan is a source of funding, not an asset, so it is not in the pie.
Futures
Futures are another kind of leverage. Buying one stock index futures contract gives you exposure to the index’s moves without paying the full amount, only margin kept in your account. Its expected return is the index return minus an implied financing rate (roughly the risk-free rate of its currency), so it amounts to “borrowing at the risk-free rate to buy the index”, usually cheaper than a personal loan. The price:
- Futures settle daily, and a loss comes out of the margin that same day. betashell requires enough cash in the same currency to cover the margin, plus a buffer.
- Futures exposure counts toward the portfolio’s volatility just the same, and is held to the limit of chapter 4 just the same.
So loans, futures and not borrowing are compared in one formula: which leverage is cheapest and how much to use is decided by growth and the volatility limit.
Exposure
Futures tie up no capital, so they are not in the pie either. When there are futures, the Result tab also lists “exposure”: the futures’ notional amounts are added to the class they belong to, as shares of net worth. Total exposure above 100% is the leverage from loans and futures; cash held as margin does not count as exposure.
Chapter 6Two assets beat one
Chapter 3 had only one asset that swings. Start with two: the returns of asset X and asset Y over a year are two random variables and , with average returns and , volatilities and , and correlation . Put a share in X, in Y and the rest in cash at rate . As in Chapter 3, CAGR is the average return minus half the variance:
Cash does not swing, so the portfolio’s variance comes only from the X and Y parts. By the school formula
Here and , and the covariance is the correlation times the two volatilities, , so
Take two assets at half each, both with 18% volatility: and . The weights have to stay at half each, which takes regular rebalancing; the simulation below comes back to it. Substituting:
Taking the square root, the portfolio’s volatility depends only on the correlation :
| Correlation | Portfolio volatility | Growth eaten by volatility |
|---|---|---|
| 1 (always move together) | 18.0% | 1.62% |
| 0.5 | 15.6% | 1.21% |
| 0 (unrelated) | 12.7% | 0.81% |
| −0.3 (often opposite) | 10.6% | 0.57% |
As long as two assets do not always move together, holding both swings less than either alone, and less growth is eaten by volatility. The average return has not changed at all, yet CAGR is higher. This is one of the few places in investing where you get more return without taking more risk. It is already in the formula: as long as each asset’s expected return and volatility are known, maximising this formula diversifies by itself, with no rule needed. In practice expected returns are estimated with error, so betashell adds one small term, the “spreading prior”, which pulls the weights a little towards equal; Chapter 10 covers it.
Simulation: all in one, or half each
Run it with the simulator below. Assets X and Y both average 8% with 18% volatility. At 20 you put in 100,000 for 30 years. There are two choices you can make in advance:
- Pick one and put it all in: you cannot tell beforehand whether X or Y will do better, so this is the same as tossing a coin between all in X and all in Y.
- Half in each, rebalanced regularly: half in X and half in Y, then regularly sell some of whichever rose more and buy some of whichever fell more, back to half each (the simulation does it every day). Split half and half once and then left alone, the one that rises more takes a bigger and bigger share, drifting back towards all in one, and the benefit of diversifying shrinks with it.
The chart draws three lines: all in X, all in Y and half in each. After a run the top line is often all in X or all in Y, but which one does better is only known afterwards, so the comparison that matters is a coin-toss pick against half in each. Move the correlation, run it a few times, and look at:
- How often half in each beats the coin-toss pick.
- How much higher its median ending wealth is than the coin-toss pick’s, and how much less often it halves along the way.
- How the gap widens as the correlation falls; at a correlation of 1 the three lines lie on top of each other.
Why the top line is often all in one asset, yet half in each wins more often:
- Half in each ends up at roughly the average of X and Y, plus the benefit of diversifying. The average of two is always below whichever did better afterwards, so in a single run the top line is often all in one.
- But you do not know beforehand which one that is. A coin-toss pick lands on the better one and the worse one equally often; half in each beats it in most runs and has the higher median.
- Both choices have the same average ending wealth, because both average 8% a year. Diversifying does not raise the average; it narrows the outcomes. There are fewer runs that multiply many times over, and fewer that halve, so the result you are likely to get is better. This is the CAGR of Chapter 2.
Many assets
With many assets the weights become a set , and variances and covariances are written , the covariance of asset with asset ( is asset ’s own variance; with two assets ):
With only two assets, expanding the two sums gives the formula above. This is the formula betashell maximises.
The best weights are where the partial derivative for every is 0:
In words: the return from holding a little more of each asset exactly equals the extra risk it adds to the whole portfolio. The next chapter uses this formula in reverse.
Alpha needed to include
Weights cannot be negative (betashell does not short). If even a tiny amount of an asset brings less return than the risk it adds, that is , its best weight is 0 and it is set to zero. For it to be included, you would have to believe it is better than the model estimates:
- Alpha: what you believe an asset earns each year beyond the model’s expected return (negative if less). If the model estimates 6% and you believe 8%, the alpha is +2%.
- Alpha needed to include: for an asset set to zero, the smallest alpha at which the model starts holding a little of it. It is roughly the gap between the two sides of the inequality above.
- For example, if the model estimates an asset’s expected return at 5% and the alpha needed to include it is +1.5%, you would have to believe it earns at least 6.5% a year for it to be worth including.
- When the volatility limit is binding, holding a little more also means giving up risk elsewhere, so the alpha needed is a bit higher; betashell therefore finds this number by actually re-solving, not by applying the formula. The Analysis tab’s “Why these weights” lists it for each asset set to zero.
Chapter 7Where expected returns come from
All the examples so far assumed “the stock index returns 8% a year on average”. In practice this number is the hardest to estimate in the whole calculation.
The most direct approach is the historical average. But the standard error of an average return is ( is the number of years of data). The source is Merton (1980), “On Estimating the Expected Return on the Market: An Exploratory Investigation”, Journal of Financial Economics 8(4): 323–361, which also shows that how precisely an average return is estimated depends only on how many years the data covers; cutting the same years into monthly or daily data does not make it more precise. For a stock with 26% volatility and 12 years of data, the standard error is about 7.5%; a 95% confidence interval from the normal distribution is the historical average plus or minus 14.7%. A stock that averaged 15% might really have an expected return of 0%, or of 30%.
Worse, optimisation magnifies this error: it seeks out the highest expected returns, and many assets with “especially high historical averages” were simply lucky. Put historical averages straight into the formula of chapter 6 and you usually get a heavy bet on whatever rose most in the past.
Return model: equilibrium returns
betashell takes another approach: what all the world’s investors hold, added together, is the market itself. Turn the last formula of chapter 6 around: if the market’s weights are the best weights, what should each asset’s expected return be?
This is the Black-Litterman model’s equilibrium return, from Black and Litterman (1992), “Global Portfolio Optimization”, Financial Analysts Journal 48(5): 28–43, and the approach used when the Data tab’s “Return model” says “Equilibrium returns”. is how much this asset moves with the market (when the market rises 1%, it rises % on average), and the bracket is the whole market’s risk premium; the in the formula is explained in a note further down this section. The “market” betashell uses is the world’s financial assets at the end of 2025:
| Class | Market value (US$ trillion) | Share |
|---|---|---|
| Global listed equities | 157.8 | 48% |
| Global bonds | 160.7 | 48% |
| Investment gold | 13.5 | 4% |
Sources:
- Equities: the market capitalisation of all listed companies worldwide, from SIFMA’s 2026 Capital Markets Fact Book.
- Bonds: all debt securities outstanding worldwide, from government, financial and corporate issuers, from the same book, compiled from the Bank for International Settlements (BIS) debt securities statistics.
- Gold: the World Gold Council’s above-ground stocks, counting only bars and coins, gold ETFs, OTC holdings and central-bank reserves, not jewellery or industrial gold.
The Sharpe ratio is excess return divided by volatility (how much return per unit of risk), written . The whole market’s Sharpe ratio is the market Sharpe ratio, written ; it is not the Sharpe ratio of your own portfolio. betashell assumes is 0.3. For example, if this market portfolio’s volatility is 10%, the market’s risk premium is ; an asset with then has an expected return of the risk-free rate plus .
Note: what is the in the first line, and why is it gone from the second?
The formula has a that the partial derivative in chapter 6 does not, because chapter 6’s formula is the answer of a full-Kelly investor, and most people are more cautious than full Kelly: we assume the market is times as cautious as full Kelly ( is called “risk aversion”), betting only of the Kelly share on the same returns.
Getting from the first line to the second takes two steps. First, is the covariance of asset with the whole market; is defined as that covariance divided by the market’s variance, so it equals :
Second, find from the market itself: multiply the first line by and add up over . The left side becomes the whole market’s excess return and the right side times the market’s variance. Dividing by gives the market Sharpe ratio:
Substituting back into the first step, cancels out:
The advantage: volatility, correlations and are estimated from historical data, and these estimate far more accurately than average returns (next chapter); the only number left to assume is the market Sharpe ratio. Any single stock’s expected return is decided only by how it moves with the market, not by how much it rose in the past. So betashell does not predict which stock will rise.
How the market Sharpe ratio is set
The market Sharpe ratio is the only assumption in the whole model about how high returns are; everything else is estimated from historical prices. betashell uses 0.3, for two reasons:
- It is a common long-run level for a portfolio that mixes stocks and bonds.
- It agrees with another common setting: the equity risk premium is often assumed to be 5%, and the historical volatility of VT, a global stock index ETF, is about 16.6%, so 5% ÷ 16.6% ≈ 0.30.
It is not worked out from historical average returns, for the reason at the start of this chapter: historical averages have too much error.
When the market Sharpe ratio is set higher or lower:
- Every asset’s risk premium grows or shrinks in proportion, because each one is .
- The order of the risk premiums across assets stays the same; what changes is whether taking risk is worth it at all. The higher the market Sharpe ratio, the more the model is willing to hold assets that swing and to borrow, until it reaches the volatility limit of chapter 4.
Expected return, beta and the market proxy
On the Data tab you can open an expected return to see what it is made of: the risk-free rate, the market risk premium above, and adjustments such as dividend tax and exchange rates (chapter 9).
The same tab has two betas, and the numbers differ:
- The beta column in the table is measured against the “market proxy” (by default VT, a global stock index ETF) and shows the asset’s risk.
- The return uses the beta against the equity, bond and gold portfolio above.
Chapter 8Where risk comes from
Volatility and correlations are estimated from historical prices: the monthly returns of each asset (or of a “statistics proxy” that moves like it, such as an index with a longer history standing in for a newly listed ETF), from 2004 by default.
Historical estimates of volatility
Why are these more reliable than average returns?
- Estimating volatility uses each month’s swing, so denser data carries more information.
- Estimating the average return depends only on the start and end, so denser data does not help.
Under a normal distribution, the standard error of a volatility estimate is about ( is the number of months). With 18% volatility and 12 years (144 months) of data, the standard error is only 1.1%, far smaller than the error in the average return.
Monthly rather than daily returns are used for two reasons:
- Taiwanese and US markets close at different times, so same-day daily returns do not line up and understate how the two markets move together.
- betashell cares about falls over months to years, not about one day’s swings.
The correlation matrix
Correlations are harder: assets have pairs, 45 pairs for 10 assets, and every pair has estimation error. Optimisation is especially sensitive to them: two assets that really move together look like hedges for each other if the sample correlation comes out a little low, and the model buys both. So betashell pulls every correlation some way towards the overall average, further when there is less data (shrinkage estimation, in statistics). The method is from Ledoit and Wolf (2004), “Honey, I Shrunk the Sample Covariance Matrix”, Journal of Portfolio Management 30(4): 110–119.
Risk currency
Currency changes risk too. Risk is measured in the currency you actually spend (simple mode’s “Which currency do you live in?”, the Data tab’s “Risk currency”): the same assets show a different volatility to someone living in Taiwan dollars than to someone living in US dollars, and so a different volatility limit. But CAGR has a neat property: after taking logs, switching currency only adds a constant unrelated to the weights, so without a volatility limit both people’s best weights are exactly the same.
The data may be wrong
Finally, all these estimates rest on price data. Quotes and price history come from third-party public market data sources and may be delayed, incomplete or incorrect. The Data tab lists the numbers used this time: each asset’s expected return, volatility and beta, the data period and count actually used, the current quotes and when they were fetched, and the correlation matrix.
Chapter 9Real-world frictions
- Trading costs
- Every trade costs commission and tax (selling Taiwanese shares also incurs securities transaction tax). betashell spreads the one-off cost over the holding period and subtracts it from growth: for an adjustment that changes little, the growth saved cannot pay for the cost, so the model leaves it alone. Target weights therefore do not ask you to trade often over differences after the decimal point. Your personal income tax, tax on foreign income and transfer costs are not in the model.
- Dividend tax
-
Dividends are taxed, and how much depends on which country taxes you, your income tax bracket and where the holding is listed. For a Taiwan tax resident:
- US-listed ETFs: the US withholds 30% of the dividends, so an ETF yielding 2% loses 0.6% a year.
- Taiwan dividends: taxed with other income, they carry an 8.5% credit, so someone in the 12% bracket pays about 5.6% including the NHI supplementary premium, and someone in the 5% bracket gets money back.
- Irish-domiciled UCITS ETFs (VWRA, CSPX and the like): nothing is withheld on what they pay you, but the US withholds 15% inside the fund when it receives US dividends. An accumulating fund pays nothing out and still loses that tax, so betashell also subtracts 15% × the fund's US stock share × the US market's dividend yield.
- Exchange rates
-
US dollar interest rates are higher than Taiwan dollar rates, so swapping Taiwan dollars into a US dollar deposit looks attractive. The exchange-rate assumption is chosen in the model settings:
- The default is “interest rate parity”: the higher-rate currency is expected to fall by just enough to eat the rate difference, so betashell does not tell you to change currency for the rate difference.
- You can change it to “exchange rates do not move”, or something in between.
Chapter 10Concentrate or diversify
Chapter 6 showed that diversifying earns more without taking more risk. So why does betashell still let one asset take a large share, and why not simply split everything evenly? Because two forces pull on the formula:
- Towards spreading out: volatility drag (chapter 6), and the spreading prior below.
- Towards concentrating: the assets with higher expected returns, or that move less like the others, are worth holding more of.
This chapter covers how much conviction staying concentrated takes, and how your own settings push the answer one way or the other. For why an asset is dropped altogether, see “Alpha needed to include” in chapter 6.
Spreading prior
The diversifying in Chapter 6 assumes the expected returns are right. When they are not, optimisation chases whichever assets were estimated highest, and the spreading prior fills that gap. Chapter 7 showed that expected returns are estimated with large errors. So betashell subtracts one more small term from the objective, (, called the “spreading prior”): an asset at 30% costs 0.09% a year, more the more concentrated it is. It amounts to assuming each asset carries its own independent estimation error, which cancels out when spread and does not when concentrated. The effect is to pull the weights a little towards equal. Loans are exempt: a loan’s rate is fixed by its contract, so there is no estimate to be wrong about, and how much to borrow is left to your drawdown tolerance.
Implied alpha
Chapter 6’s alpha needed to include asks about an asset the model set to zero. The same question can be asked about what you hold:
- Implied alpha: for something you hold, how large the alpha must be for the model to choose your current weight.
- For example, if you hold 20% of something and the model picks 8%, with an implied alpha of +3%: to keep 20%, you would have to believe it earns 3% a year more than the model estimates.
- The larger it is, the more conviction keeping things as they are requires; a negative number means the current weight still makes sense even if it does worse than the model estimates. The Analysis tab’s “Diversify or concentrate?” lists it.
Both numbers ask “how much more than the model would you have to believe?”; they differ only in which weight they aim for:
| Which asset | Weight it aims for | Where in the Analysis tab | |
|---|---|---|---|
| Alpha needed to include (chapter 6) | One the model set to zero | A little above 0 | Why these weights |
| Implied alpha | One you hold now | Your current weight | Diversify or concentrate? |
Locked positions and caps
Two kinds of limit:
- Locked: shares you cannot sell during a lock-up, or an emergency fund you do not want to touch. The model will only add to them, never reduce them.
- Cap: any holding can have one.
These limits move the answer away from the theoretical best, but they are your own conditions and the model follows them. The Analysis tab’s “Why these weights” removes these settings one at a time to show how far each one moves the allocation.
When some positions are locked, the Analysis tab’s “Diversify or concentrate?” also works out how the target weights would change with everything unlocked.
AppendixGlossary
| Term | 中文 | Meaning |
|---|---|---|
| target weight | 目標比例 | each asset’s share of net worth as betashell calculates it, chapter 1 |
| CAGR | 年複合成長率 | how many times over your money grows per year on average, written , chapter 2 |
| volatility | 波動度 | the standard deviation of annual returns, written , chapter 2 |
| volatility drag | 波動拖累 | the growth eaten by volatility, about half the squared volatility, chapter 2 |
| Kelly criterion | Kelly 準則 | the fraction that maximises long-run CAGR, chapter 3 |
| fractional Kelly | 部分 Kelly | betting part of the Kelly share, half Kelly for example, chapter 3 |
| drawdown | 回撤 | how far it falls from the peak, chapter 4 |
| volatility limit | 波動度上限 | the limit worked back from the drawdown, years and probability you accept, chapter 4 |
| net worth, total assets | 淨值、總資產 | your own money; your own money plus borrowed money, chapter 5 |
| break-even rate | 損益兩平利率 | above this borrowing rate a loan is not worth it, chapter 5 |
| exposure | 曝險 | share of net worth including futures notional, chapter 5 |
| covariance, correlation | 共變異數、相關係數 | how much two assets swing together, chapter 6 |
| Black-Litterman equilibrium return | 均衡報酬 | the expected return worked back by assuming the market’s weights are the best weights, chapter 7 |
| beta | Beta | how much this asset rises on average when the market rises 1%, chapter 7 |
| Sharpe ratio | 夏普值 | excess return divided by volatility, written , chapter 7 |
| market Sharpe ratio | 市場夏普值 | the whole market’s Sharpe ratio, written ; sets every asset’s risk premium, chapter 7 |
| risk aversion | 風險趨避係數 | how many times more cautious than Kelly, ; holding all of the market is Kelly, chapter 7 |
| spreading prior | 分散係數 | a small term subtracted for estimation error, larger the more concentrated, chapter 10 |
| alpha | alpha | what you believe an asset earns each year beyond the model’s expected return, chapter 6 |
| alpha needed to include | 納入所需 alpha | the alpha an asset set to zero needs before the model holds it, chapter 6 |
| implied alpha | 隱含 alpha | the extra expected return needed to keep the current weight, chapter 10 |
| statistics proxy | 統計代理 | a stand-in price series used to estimate volatility and correlations, chapter 8 |
| uncovered interest parity | 利率平價 | the higher-rate currency is expected to fall by just the rate difference, chapter 9 |