Ollie Hooper opened the very promising thread "Creating our own Index Fund!" the discussion
of an algorithm that creates a dynamic universe of stocks at a given date using
the ETFConstituentsUniverse function.
This works pretty well for SPY, except for the daily warning:
there is no quote information in Orders.
But when I change the symbol to QQQ I get a lot Insufficient buying power warnings.
How can these warnings be prevented?
Spacetime
Hello Vladimir ,
I do not mean to interrupt this thread, but wanted to ask if you were receiving the below error.
Error Message:Runtime Error: Trying to dynamically access a method that does not exist throws a TypeError exception. To prevent the exception, ensure each parameter type matches those required by the 'NoneType'>) method. Please checkout the API documentation.
at Rebalance
self.SetHoldings(symbol in main.py: line 35
Stacktrace:
Trying to dynamically access a method that does not exist throws a TypeError exception. To prevent the exception, ensure each parameter type matches those required by the 'NoneType'>) method. Please checkout the API documentation.
at Rebalance
self.SetHoldings(symbol in main.py: line 35
Vladimir
Spacetime
Try this
Spacetime
strange!! I have used the below line earlier today and it was throwing the same error…
I have tried the above version shared by you, and it is working. Thanks!
hmm… for your case, try the below in Initialize for insufficient buying power messages
Vladimir
When testing a Spacetime proposal, the algorithm still generates
there is no quote information in Orders
and
Insufficient buying power warnings.
How can these warnings be prevented?
Guy Fleury
@Vladimir, interesting script. For one thing, it solves the stock selection process. QQQ is an excellent choice, since it will outperform either SPY or DIA. It has the advantage of having 20 years of data for backtesting. And you have taken care of the possible symbol changes as QQQ evolved.
Also, using 100 stocks gives you enough diversification. The strategy is easily scalable upward. The trading procedure is biased toward best performers which is also what any strategy should do. It is probably why it outperforms long-term market averages.
The script might be short, but it does have a punch. Bravo, and thanks for sharing. I like it.
However, please note that the trading script mishandled the stock splits in 2014 and 2020.
I will have to take a closer look...
Louis Szeto
Hi Vladimir
Since the resolution is Daily, in some volatile period, the original ordering value might not be able to comply with the next day's opening price, causing insufficient buying power.
As per no quote information, we regret that daily data don't have quote bar data, it is only available in Minute/Second/Tick resolution, so we recommend using those for more accurate filling.
We recommend using Minute resolution, as there is also a scheduled event with minute accuracy, for avoiding stale/delay action and the above-mentioned issue.
Best
Louis
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
Guy Fleury
The strategy caught my interest because all it did was rebalance QQQ on a weekly basis. It represented an opportunity to study the trade mechanics of a pure-play rebalancing in motion, something I wanted to revisit for some time.
QQQ is just an index tracker. It is designed to generate returns that try to mimic the NASDAQ 100 index. Its 10 largest stocks represent 55% of the total. The other 90 stocks make up the remaining 45%. QQQ is definitely biased toward the highest valued stocks. It has also a bias toward technology: 45%. Note that those numbers change with time, but you get the idea, and you knew all that.
Holding on to QQQ for those 12.16 years would have produced a 21.37% CAGR due to QQQ's rise from 35.13 to 370.16 over the period. And, therefore, holding QQQ all by itself would not have been that bad an idea. At least, it would have done much better than having your money in a bank account earning low interests, or in bonds, or in some other fund averaging close to the secular market trend of about 10% or so.
The difference can be considerable. Based on your initial capital F_0, a 2% return would have been: F(t) = F_0 ∙ (1 + 0.02)^12.16 = 1.27 ∙ F_0. While a 10% rate would have produces: F(t) = F_0 ∙ (1 + 0.10)^12.16 = 3.18 ∙ F_0. The 21.37% QQQ CAGR would have generated: F(t) = F_0 ∙ (1 + 0.2137)^12.16 = 10.05 ∙ F_0, or 3.3 times more than the 10% scenario. This is turning $100,000 into $1,005,000. So, there was an incentive to just buy and hold QQQ for the duration. A single investment decision and you would have beaten market averages just by buying this index surrogate, a simple index tracker.
The strategy over the same period generated a 19.01% CAGR. Is this reasonable? You have a tracker tracking an index tracker, what should you expect? Your portfolio should have about the same weighted distribution as QQQ since it was rebalanced every week to make sure it did. Those portfolio weights do not change that fast.
What I found interesting in this strategy was the ability to study the impact of rebalancing alone. The strategy made 28,856 trades vs the 1 trade if having bought QQQ outright and held. For the strategy, you had to monitor weekly what it did, put time and resources for the just in case something went wrong scenario. While, buying QQQ was a one-shot decision, no need for any computer or software. You just bought and went along for the ride for those 12.16 years.
Most of the trading except the initial purchases and the occasional stock change were partial trades, small adjustments to the weights when rebalancing. Let's reduce the total trades by 200 to account for the 100 initial trades and for the removal and addition of stock to the list. We are left with 28,656 partial trades due to the rebalancing procedure alone. However, a partial trade could occur only if the price variation was sufficient to buy or sell at least one share. Otherwise, no trade.
The following chart shows the monthly return for this trading strategy.
QQQ Monthly Percent Change
As can be observed, it is rather erratic and could be considered short-term unpredictable, saying that month-to-month predictions would be far from predictive. The red line is the linear regression on the total period. It could be known only after all the data is in. Its correlation coefficient R^2 is about 0.00001, saying that there is practically zero correlation over time. Nonetheless, there is a slight positive upside bias of 0.0004x, again something saying that the curve is almost flat. The red line, nonetheless, is an expression for the average long-term upward bias.
The blue line represents the cumulative running 6-month average of those monthly returns. It can be observed that the blue line tends to the red line rather quickly (within 3 years) and then hugs the red line for most of the duration. This would hint at the notion that after some accumulated data we could have a relatively clear image of where it is all going.
Should you buy and hold DIA instead of QQQ, you would get a 14.15% return. While rebalancing the DIA's constituents would generate something like a 13.83% CAGR over the same interval. Holding DIA for the duration would have generated $499,763; less than half of QQQ. Again saying that it would be better to buy and hold DIA than rebalance every week to execute some 13,497 trades.
There would appear to be no strict advantage in tracking an index tracker. And technically, that is what this strategy's pure-play rebalancing demonstrated. Rebalancing alone, without any other trading logic, might not be sufficient to outperform an index tracker ETF.
Buying DIA or QQQ was just one decision. Both are index trackers. Both deal with some of the most valuable stocks out there. Both representing Mr. Buffett's bet on America, and yet, simply selecting QQQ over DIA for the duration would have generated twice as much. Also, this might mark what a trading strategy should do as a bare minimum before being considered. If a strategy cannot exceed QQQ's overall return, its intrinsic value should seriously be put in doubt.
Guy Fleury
As a follow-up to my last post, here are some additional observations.
The last post presented a 12.16-year trading strategy simulation on a pure rebalancing play using the 100 stocks in QQQ. The strategy generated a 19.01% CAGR over the period, turning 100k into 830k or 1 Mil into 10.0 Mil with a 20.6% CAGR. Something better than most long-term market averages.
Rebalancing QQQ on a weekly basis maintained the portfolio fully invested for the duration. All changes in the stock composition of QQQ were followed as they occurred. This led to mimicking QQQ's performance over the trading interval, or at least, getting close to it, return-wise. It is understandable, you have a 1:1 weighted relationship with each of the 100 stocks in QQQ. Rebalancing was tracking QQQ's weights which, in itself, is an index tracker of a market-cap weighted index (NASDAQ 100). The performed simulation demonstrated quite well the side effects of a pure rebalancing play.
The quantity of shares to buy (q) on any given day (d) for any stock (j) has a floored value:
For all trades, the position value F(t)/J was divided by the then-current price to obtain the number of shares to trade. It was then floored to remove the decimal part.
Weight differences were marginalized and relatable to the flooring of share numbers. For example, no 122.75 shares, only integers allowed, and therefore, 122 shares traded, thereby tracking only slightly below QQQ's weights. The flooring truncation, as small as it might seem, does impact the non-trading zone described in the previous post.
Showing the impact on the trading is easy. Put 10 times more money on a position, you should get 1,227.5 shares. Flooring drops the 0.50 leaving 1,227 shares instead of 1,220 shares. This truncation will happen all the time on every trade, even partial trades. And when you do tens of thousands of such trades, these small differences mount up since flooring is always in the same direction (reducing to the nearest whole number). A demonstration of this is illustrated by the program itself. With the only change being the initial capital, the 100k portfolio turned into 830k over the interval while the 1 million scenario increased to 10.0 million. So, technically, peanuts do count.
Since we are rebalancing the QQQ's 100 constituent stocks weekly, we have put some constraints on trade executability since all trades are executed on schedule as market orders. Even on partial trades, q(d,j) needs to be greater than 1 due to flooring, otherwise no trade. Therefore, it is required that the price change be sufficient to allow the buying or selling of at least one share.
With the sum of weights equal to 1 ( ƩJwj = 1), the composition of these weights might not matter much if all the stocks grow at the same rate. We can use the average rate of growth as applicable to all without loss of generalities. We would get the same end results. The following chart illustrates this:
Weight Distribution
Each weight was randomly generated, then normalized so that their sum would total 1. We could run the test as many times as we wanted and the general average would not change, nor would the total outcome. Due to the random allocation of weights, we could not know which stocks would perform the most or in which order the stocks would come in.
Whatever the weights were, as long as they added to 1, the average growth rate (g) would be the same for all as in: F(t) = F0 ∙ (1 + g)t. You made a new test run and all the numbers for each stock would change, but, the total F(t) and the average return g would remain the same. On each rebalance, all the weights would return to 1/J as depicted in the following chart which shows the weight distribution:
Initial Normalized Random Weights
It is clear from the above chart (which displays the small data as above) that all weights, although randomly selected, remained constant over the 12.16-year trading interval.
We have many strategies that use rebalancing. In this pure rebalancing play, we have a hard time showing that it was even beneficial, as shown in the previous post. Just holding QQQ for the duration would have produced a CAGR of 21.37% with no other effort than just taking the bet and holding on for those 12.16 years.
But, we trade nonetheless, with, we hope, some other added advantages. Some of which could be better trade timing, moving in and out as the trend changes, better stock selection procedures, better forecasting abilities than average. This also invites better protective measures and better trend definitions as well as better methods of play in order to show some alpha: F(t) = F0 ∙ (1 + g + α)t since rebalancing alone did not seem to provide any. One could have bought QQQ and done better.
The IN & OUT strategy displayed some of the above traits. In my simulated version, the top 100 momentum stocks were used and rebalanced daily which considerably increased the number of partial trades. It also increased performance. The flusher part of that strategy also had interesting side effects.
In all, it puts some emphasis on a rather mundane constant in a world of random-like behaviors: the position weight (1/J). It was shown to have an impact.
The number of stocks we trade is an administrative decision and in many cases remains constant over the entire trading interval. It can be used for risk diversification as well as self-controlled trade management. The above equation fixed the quantity to be traded for every trade taken. That it be over a simulation or some future undetermined trade just by setting the portfolio's position size proportional to 1/J.
We control the number of stocks (J) our strategies will trade. We set with how much capital our strategies will start with (F0). We even determine for how long (t) our strategy will be applied. All that is left is to figure out: g + α. Especially alpha which is where you will make a difference since average market performance seems to be available to anyone.
Guy Fleury
However you want to trade stocks, the objective is to extract money from the process and not give it back.
It might not matter much how it is done as long as it is done (honestly and safely, evidently).
The methods used will depend on your knowledge and understanding of the game you intend to play, your trading capital, and your trading skills. As said, I found the strategy interesting for the simplicity of its stock selection process, its pure-rebalancing play, and its overall performance.
Rebalancing every week at a scheduled time is an administrative decision requiring a single line of code (case in point: see program line 18). The strategy does not ask for your opinion, your forecast, how stocks are doing. Not even how you feel. Nonetheless, rebalancing does its job and it does have consequences and limitations.
Any trading strategy using some form of rebalancing will inherit some of the traits discussed here. For example, it is common practice to floor the number of shares purchased in order to avoid exceeding assigned weights which could otherwise lead to added margin fees.
Rebalancing could execute a lot of partial trades (here 60,000+) when making these inventory adjustments to return portfolio weights to their preset or newly determined values.
The Stock Selection
QQQ is composed of the top 100 highest weighted by market cap stocks on NASDAQ. They got there because they prospered and got big. They stay there because they get bigger. Those that flatter at the task of staying up there are replaced. They really are money making-machines, representative of the whole US economy.
In a single ETF, you have stealth portfolio diversification. These 100 companies have invested in their respective futures. They have thousands and thousands of employees, real estate holdings, products and services to sell, bonds, debts, proprietary stuff, and a lot more.
We have, in QQQ, an all-in-one package, the same bet as Mr. Buffett's bet on America. The stock selection process has been delegated to the issuer and manager of QQQ. And your input is not required or even solicited.
What you know is that QQQ has the top 100 richest companies listed on NASDAQ. And that is also a group of stocks you should follow, the stocks that tend to rise the most. You are in this game for the money, not to stagnate around, you have other things to do. You want stocks that are mostly moving up, not down. Even though there is a play there too.
You could buy QQQ outright and hold it for the duration, or trade its components as with this strategy hoping for a better return which might not materialize, but where you could certainly approach QQQ's own overall long-term performance level.
Your portfolio would be tracking a tracker which is tracking a market index. Therefore, almost evidently, you should get close to the same market index results.
In the previous post, weekly rebalancing was shown as almost mimicking QQQ's overall performance. The point was made that truncating the decimal part on the number of shares to be traded had an impact on overall performance. The impact was made more visible when using smaller initial capital, but nevertheless, it applies all over.
QQQ's composition will change with time. Stocks failing to maintain their top 100 status are replaced with newcomers. We should expect that most of those changes occur near the bottom of this 100 list. This, at times, could generate more than 100 trades in a single week due to adding in the replacements.
As a trader or investor, your expectation is that those top 100 stocks will continue to grow, thus deriving your own bet on America.
Is QQQ risky? For one thing, it will not go down to zero overnight since it would require that all of its 100 constituent stocks go bankrupt. You will not see that next week either, almost surely... Can a component go bankrupt? For sure, but it will not happen while it is part of QQQ since it will lose its top 100 status and be liquidated and replaced long before that ever happens. Does QQQ only go up? Evidently no, but, over the long haul, it will fluctuate on its way up, even if at times, considerably. Explicitly saying there will be drawdowns, and that is more than almost surely...
The Rebalancing
The scheduled rebalancing is like mostly trading over a core position. Any price move that changed a stock's weighing is “corrected”, forcing a partial trade of at least one share if the move is greater than 1/qi% as demonstrated in Part II.
It was shown that adding more capital generated more profits than expected. The reason was simple, with more money, more partial trades could qualify. The one share threshold was easier to reach with increasing position size since 1/qi% was getting smaller percentage-wise as qi increased. Buying 10 shares of a 100-dollar stock will require at least a 10% move to buy another share, a $10 move. Buying 100 shares would only require a 1% price move, or only going up by $1 to add another share.
It was shown that the strategy turned 100k into 830k generating a 19.01% CAGR over its 12.24-year simulation interval (latest simulations). While increasing the initial stake to 1 million generated 10.0 million with a 20.6% CAGR. Something better than most long-term market averages.
The performance difference was mostly attributed to the truncation of the decimal part on the number of shares to be traded. Nothing was required except providing the initial cash, and monitoring the program while it ran (on schedule once a week).
Other Tests
I had to do more tests which you can do too. Copy the program, change its initial cash and run it. It will give you the same results with all the details and nuances expressed here. Proving to yourself (the only person where it really matters) that it all holds together. You will find that there is simple math underneath it all.
A simulation tries to answer the question: if I had done this or that in the past, what would have been the outcome? Once a simulation has been performed, you immediately get the next most important question: can this thing continue going forward? Hence, your own bet on America.
Your Own Index Fund
The table above shows the outcome of such tests. In the top panel, only the initial capital was changed, nothing else, while in the bottom panel, only the impact of leverage was considered. What should we take out of these results?
Test #1 served as the basis with its 100k start. It is the one described in prior sections (here with a few days added). It managed a 19.33% CAGR making 28,972 trades with an average net profit per trade of $30.04.
Test #2 raised the ante to 1 million. It generated a 20.75% CAGR doing 56,913 trades with an average net profit per trade of $176.95. Increasing the position size increased the number of partial trades by 27,941 showing that the truncation is not such a trivial problem.
Test #3 raised the bar even higher with its 10 million initial stake. It generated a 20.99% CAGR doing 63,800 trades with an average profit per trade of $1,615.12. We only have 100 stocks that can rebalance on a weekly basis. Over the trading interval, if all stocks participated every week, that would be 63,800 potential trades (638 weeks times 100). Therefore, with a 10 million initial capital, the strategy is reaching for its full potential in its expected number of trades. Is this understandable? Yes.
The Math
You put more on the line, your portfolio outcome should be proportional. The payoff matrix equation is the same.
F(t) = F0 + Σ(H ∙ ΔP).
You put up 10 times more money, it will multiply the quantities traded by 10. It is that simple:
10 ∙F(t) = 10 ∙ [F0 + Σ(H ∙ ΔP)].
Prices will not change, they are the same for all. Moreover, all 100 stocks are scheduled for trading at 10:01 am once a week, making all exits and entries at the then-current trading price.
Using QQQ, the same 100 stocks will be traded for either portfolios: 10 ∙ F(t) = 10 ∙ F0 + Σ(10 ∙ H ∙ ΔP). Where you traded 10 shares you would now trade 100 and instead of requiring a 10% price move to purchase another share, you would now only need a 1% move to do the same. The difference in profit, from expected, must come from somewhere. Over the short time span of a week, a 1% price move is more likely than a 10% move, thus the increase in partial trades.
Future Ballpark Expectations
Extending the strategy to 20 years using the same CAGR achieved over the past 12.24 years can provide an approximation, a ballpark figure, on the strategy's future expected performance. Comparing test #3 to test #1, where only the initial capital is considered shows a $ 448 million difference in expected outcomes. A direct consequence of not raising more initial capital. We could view it as some opportunity cost. It was not a strategy request but an administrative decision that limited the capital at play. This also gives a value to not going for the added capital.
As the initial capital increased, the number of trades executed also increased where only the bet size should have increased. Usually, increasing the bet size generates about the same number of trades but with a higher average profit per trade, as should be expected: 10 times more on the table, close to 10 times more in profits, not more.
One explanation for the increase in the number of trades is this decimal truncation, the flooring of the number of shares that will be purchased or sold. As you increase the bet size, more price variations qualify for the minimum 1 share trade requirement. Whereas with rounding the number of shares, things might probably have evened out, but at times going slightly over full exposure which could trigger the use of margin and associated fees.
With the higher initial capital, we see an increase in the number of trades, an increase in CAGR, and an increase in the average net profit per trade (see the xbar column). This, mostly due to the flooring of the number of shares traded. The differences are significant.
You have a strategy that does not outperform its tracker index, but, nonetheless, did beat long-term market averages over its past 12 years.
The stock selection is more than relatively secured, in fact, it is a reasonable bet on America. The stuff on which you can build retirement funds or grow your portfolio for whatever purpose. QQQ did more than outperform putting one's money in a bank account earning low interest.
How could you use this strategy? It got close to QQQ's overall return. Nonetheless, you could have done a little better just by buying QQQ outright. A single operation with little effort if any. No need for a computer, trading software, or automation. All that was required was taking a position and simply sitting it out.
Did you have more risk in putting 100k or 10 million on the table? Based on the above table, the max drawdown would have gone from -27.5% to -28.0%. We cannot say the difference was significant. Therefore, the very first consideration should be to find ways to get that 10 million, and even more, as initial capital. The effort would be well rewarded with not much-added risk.
Note that the hit rate in the first panel goes from 60% to 74% as you increase the initial capital. Also rising is the average net profit per trade xbar and the overall CAGR. Those 3 measures should have declined.
The program cannot improve by itself, especially, using rebalancing. And yet, the only change to the program was increasing initial capital, nothing else. Where is the Law of diminishing returns in this case? Does it kick in later?
Leveraging
The bottom panel in the above table shows the impact of applying some leverage. Evidently, there is a cost associated with it. However, these cost will only be on the leveraged part of the portfolio: F(t) ∙ (1 +Lev) = (1 +Lev) ∙ [F0 + Σ(H ∙ ΔP)] - exp.
For example, a 30% leveraged account would have leveraging fees on only 30% of the portfolio: 0.30 ∙ F(t). Leveraging would also raise trading capital by 30%: F(t) ∙ (1 + 0.30). This will not have that much of an impact on the number of trades since we will be reaching what appears as a slowly approaching upside limit offered by the inherent mechanics of rebalancing. You have only 100 stocks that can rebalance on a weekly basis. Plus, once in a while, a few more, due to replacements.
Evidently, as we increase leveraging, drawdowns increase.
As compensation, we do see an increase in CAGR that exceeds the added leveraging expenses. For instance, at 30% leverage, the estimated cost with a 5% leveraging fee would be: 0.30 ∙ F(t) ∙ 0.05. This would reduce overall CAGR by -1.5%, but nonetheless increase CAGR from 20.99% to 27.28%. Thereby, increasing CAGR, net of leveraging expenses, by 6.3%, which is 4.2 times better than its cost.
With leverage at the 95% level, the CAGR will be reduced by -4.75% (0.95 ∙ 0.05 = 0.0475). Looking at the CAGR for those leveraged scenarios, there is more than enough to cover those added fees even if they will be considerable. Leveraging just becomes another tool, and also, an added cost of doing business.
So, just based on the above table, in the first panel, you gain a higher CAGR by putting more on the table. As you put more on the table, the number of trades increased toward its estimated full potential of 63,800 trades.
Putting less on the table is like underplaying one's hand.
The money, (a.k.a.) the profits, were there for the taking, but we lacked the capital to take advantage of it. And it is one of the reasons why you did not get more.
Whereas, in the bottom panel, the number of trades went up only a little (by about 1.1%, on average) but still remained near full potential, as should be expected. The slightly higher number of trades could be explained by the purchase of replacements for the dropped stocks in order to maintain the portfolio's 100 stock limit. Also, as leveraging increased, more partial trades could qualify.
It is only after the 75% leverage mark that the number of trades decreased, but nonetheless, managed to keep a 70% hit rate.
Due to the rebalancing scheme, there is an upper limit on the potential number of trades per week. It is highly related to the number of stocks in the portfolio and their respective price variations.
You find that as the leverage increased, the drawdowns also increased. That should be expected, we increased the bet size by leveraging, thereby amplifying the impact of volatility.
Nonetheless, such a trading strategy could be used to complement others aimed at reducing overall portfolio volatility. There is a cost to leveraging, therefore, maybe, be the one providing the added funds and collecting those fees (they get to be considerable), lend the needed margin to your trading strategy.
Increasing your initial capital by the same percentage amount as the margin is another administrative move. It does not have the same effect. All it does is increase the initial capital while leveraging will also impact all trades and generate much more. Which level of performance do you want?
Raising Initial Cash – No Leveraging
Note that all 4 of the tests above maintained a hit rate of 74% and a drawdown of -28%, the same as in test #3. As you increased the initial capital, the CAGR also stayed about the same near 21.05%.
The difference between using leverage and only raising initial capital is considerable. The difference comes from what is being compounded. In the above chart, the initial cash increase raised the portfolio's outcome close to the percent increase (test #9). 30% more cash, about 31% more in total liquidation value. While the 30% leverage (test #4) increased the liquidation value by 86.17%. Leveraging enabled continuous reinvestment of leveraged profits.
The 74% hit rate is not the result of some better market timing. In reality, this strategy is only reacting to market turbulence. We could say that it operates on the fumes of variance. If the price does not move by enough, that is more than 1/q, there is no trade.
The strategy makes no other prediction than its initial assumption, its bet on America. Understandably, the majority of sales will be at a profit, most shares are sold on the way up. For instance, on test #9, some 74% of trades (47,463) out of 64,113 were positive.
Buying is done when prices decline. There are no immediate losses acknowledged on these "purchases". We just add to positions without liquidating (except for the stocks falling off the top 100 list). The 74% hit rate is simply due to the structure of the designed game which strictly specified the rules of engagement. It is the result of the strategy's trade dynamics.
Stocks Traded – QQQ Weight
The above chart mimics the weights found in QQQ for each position. The 10 largest corporations account for the lion's share, 55% of the total. The other 90 stocks generated the remaining 45%. All the tests, from #1 to #16 showed almost identical distributions. The reason is simple. QQQ is a market-cap-weighted tracker. And therefore its weights will tend to match and follow closely its index counterpart.
It is now your move, make your own bet on America.
Could you make more? Yes, definitely, and for sure. You got a copy of the program, you can do all the same tests shown here and more. However, I would suggest adding some protection aimed at reducing volatility and drawdowns. Add some timing signals to improve profit margins. Add some gaming to enhance overall returns. Improve on the strategy's design.
It is always up to you to prove to yourself that you can do it.
A simulation is just to show it is possible and worthwhile. I can only encourage you to plan for your next 20 years.
Also, a portfolio does not need to retire at 65, it can live another 30+ years. You will find out, in the end, that it was all about you and your choices.
In the meantime, consider adding capital and applying leverage at the same time. It would result in something like in the table below.
Raising Initial Cash – And Using Leverage
Both leverage and added capital are considered. Notice the range of the outcomes, check test #8 with its 50k initial stake to test #16.
It is all done using the same trading strategy, the same trading logic, the same rebalancing method on the same stocks, and this, on the same dates, at the same times. Yet, you can go from $1,494,547 to $16,927,290,505 just by managing the strategy's available cash resources. It should give you some motivation to find more capital right from the start of your 20-year journey.
You know that if you add more leverage to this strategy, it will have larger drawdowns. Then, based on the level you want to reach, maybe it would be time to investigate trading methods that would reduce those drawdowns to more acceptable levels. However, note that the drawdowns in the above chart are the same as in the second panel of the first table above.
This says that it is not raising the initial capital that is raising the drawdowns, it is the leveraging. The CAGR on the second panel in the first table is about the same as in the table above.
However, this CAGR will be reduced by the cost of leveraging. But these costs are taken directly from the trading account as you progress. Meaning that it is not fresh capital that you have to pour in, those will be borrowed funds on which you will pay leveraging fees as you go. And your ongoing market profits will be able to pay for it and some.
All the tests presented were achieved using the stated initial capital and leverage. Using more cash, just as setting some acceptable leverage, are both administrative decisions. And since we are dealing with 100 stocks, the concentration risk factor has been reduced considerably.
You could run the program with any numbers you want. Change the initial capital to whatever amount, and set the leverage to what you might find acceptable, including zero (actually 1.0). And if the numbers are within those presented, the program will comply and deliver something between test #1 and test #16.
The strategy can do test #1 just as it can do test #16. The difference is how you consider money and how you can get it. You can put more capital on the table. Good for you. You can tolerate having your program use some leverage, then, there is a reward attached to that too.
These tests, from #1 to #16, are all doable by anybody having the resources. It does not even require that you have any kind of trading skills. You do not need special training, and to top it off, the trading script is free.
You are afraid or convinced that at some point the markets will go down. Why should you let your program run? Shut it down, liquidate all positions, go to the sidelines. You can always restart the program later under the same ending conditions or set new initial conditions. It is not because you have a program, that you cannot stop it at will. You are dealing with a machine having a big red emergency button that you can press at any time. You are in charge. Protecting your portfolio should be a major part of your trading strategy.
You have, here, a trading strategy that has nothing in it: no secret sauce, no indicators to follow or guiding trade execution, no signals to trigger trades, no request for fundamental data. It is not the best but it is pretty interesting considering.
You want more, you just put more in. You provide the input: the how much you put in it. It is all on you and ultimately how much you want it.
A 10 million initial account with 30% leverage can reach the billionaire status in 20 years. And if you did not want to be bothered by the programming (actually changing two numbers) and monitoring your account, simply buy QQQ outright, sit down, and relax for the next 20+ years. The simulations were to show that buying QQQ was not that bad an idea and trading this strategy could do about the same.
Sometimes you find problems that you think will require complex solutions because they are, in fact, quite complicated. And then, you find ready-made solutions, designed by others, when you were not even looking their way.
Make your own bet on America. You cannot say you do not have the tools. They are there, free for the taking. If you can do better, do it. However, you should consider this strategy as the very minimum you could do. If you do less, the question should be: why? You had this available all along.
Finally, it is always your choice to do or not to do.
Guy Fleury
Read this one to understand how this trading strategy wins and why it wins in that way.
There was more to be extracted from my previous post. The presented trading strategy did two very simple things, one: it completely outsourced its stock selection process, and two: it rebalanced weekly. That's it.
No trading signals, no technical indicators, no market timing routine, no move to the sidelines in times of market turmoil. Not even a request for your opinion, feelings, state of mind, or market analysis. Quite a simple and productive "whatever happens" strategy, of the suck it up type. This trading strategy is saying that you do not need anything special to win, in fact, you do not need anything at all (except access to money). It is interesting to see how this strategy could also apply to a lot of other strategies having similar trade mechanics. Much can be learned from this pure rebalancing play.
Using QQQ's constituent 100 stocks effectively solved the first problem: the continuous stock selection conundrum. The stocks you select are the foundation to building a long-term portfolio. Outsourcing the selection process transferred its management to its issuer. We had nothing more to do after this simple decision. Any change to QQQ's list of stocks would be taken care of. A real question might have been: would QQQ's constituent stocks really be good choices? Some would say: you do not know what will come next, but, in QQQ's case, we do know, for the most part, what will happen next, and we can be almost certain it will.
Maybe, more importantly, the question should be: how should this singular collection of stocks be traded to optimize my long-term performance? I want to win, I want to win big. I simply hate risks (losing). I'll take the risks if I have to, but I want to know before taking them what I'm in for, even in an automated system. What is my potential reward for taking this kind of risk?
I contend here that some very basic portfolio management decisions can have quite an impact on long-term results. To demonstrate this, we will look more closely at the strategy's portfolio weights and its use of leverage. From the above-mentioned article, we know leverage does increase performance but also increases drawdowns (risks). Increasing the capital base increased performance and did not necessarily add significantly to those drawdowns. We even looked at raising both at the same time: more capital, higher leverage, producing outstanding results, albeit, with added risk as you raised leverage, as should be expected. The added risk did provide much higher profits.
Trading your way to a secure long-term portfolio by rebalancing is different from outright investing for the long term, or day-trading, for that matter. Nonetheless, it can also be quite rewarding.
The Horse Race Analogy
It is like participating in a special 100-horse race. You know how it starts, will see horses jockeying for best position during the race, but do not know how the race is going to finish. Whereas here, we are taking 100 stocks selected out of some 8,000+ for a race that is intended to last over 20 years. Each stock having some unspecified odds of finishing the race from some starting line (p0) at some time (t0). You estimate, from such past races, that about 30%+ might not even cross the finish line. Of the rest, most (~50) will be part of the also-ran (no big money - no big returns - but nonetheless, finishing the race, most positive, some not) while the remaining participants (~20) will grab most of the prize money in their finishing order. However, they first will have to finish the race to be in that group, otherwise, the stock was part of the also-ran, or even worse, part of the dropped out.
At the starting point (t0, p0) (say some twelve years ago), you did not know which 20 stocks you should have selected and placed heavy bets on (but did have some candidates). Whatever your would-be stock selection, it would have a direct impact on the final outcome. Making the biggest bet on the best performer remained an objective, not easily reached. Furthermore, in this race, new stocks will be added along the way to replace those that drop out, and you would not know how they will finish either, if ever.
Reasons for some stocks not finishing the race could be: fraud, bankruptcy, book-cooking, self-serving interest, and/or obsolescence, and more. For the ~70 finishing the race, most (~50) getting the smaller prizes (something close to average market returns or lower, if not still underwater) and will have suffered from being either outclassed by bad business models, having no stamina, no reserves, no innovation, or simply poor and/or bad corporate management. Of the 20 or so to finish upfront (meaning above average), the ultimate winner will get the lion's share of the prize money (heaviest portfolio weight) followed by the other front runners which will take the largest part of the remaining prize money. The rest will be divided into the also-ran who finished the race (survived) according to their respective decreasing weights.
You know from experience that betting big on your favorite stock of the moment is a gamble where you could lose everything, not lose so much, get out near even, make a reasonable profit, and maybe win big. You might have odds of 3 in 10 to lose it all, 1 in 2 to come out close to average, 1 in 5 to make above average, and 0.1 to 1 in 10 to make it big. However, making it big is a big word. We cannot deduce probabilities like this since we do not really know, especially for future outcomes some 20 years hence. We should not confuse statistics with forward probabilities.
In this special QQQ race, stocks that are removed from the list for whatever reason are replaced. On horses, you might lose your entire bet on such an outcome with no recourse, while with stocks, losses could be just a fraction of the initial bet you placed. This might sound silly, but in this game, it is a major point. For example, it would be extremely unlikely, not to say difficult, to have rebalancing QQQ's 100 stocks make you lose it all. It would require all 100 stocks to go bankrupt within a week. This will not stop you from having drawdowns, and I can assure you, you will have them, whether you like it or not. It is an inherent part of the game.
Overall, even with the stock list being modified all the time, you might still have a positive long-term expected return should you spread your bets on all runners in this race (QQQ). By spreading your bets, the most favorable, probable, and expected outcome might come close to 10% compounded per year: F0 ∙ (1 + 0.10)t, which is close to the secular average market return when viewed from the vantage point of a long-term horizon (20+ years).
So, the decision is relatively simple, place the 100 initial bets on QQQ's constituents, or place a single bet on QQQ itself. It was demonstrated in the above-cited article that you could have had a slightly better CAGR by betting directly on QQQ with a lot less work.
A Twist In The Trading Rules
There is a slight twist to this game of ours. The way the game is built, at any time during this race, we can change any of our ongoing bets, practically at no cost. We do not need to provide excuses, we just do it whenever we want for whatever reason we may have. Period. In there lies our advantage, our ability to make whatever bet we like at any time of our choosing. As long as we can put the cash on the table, our bets (whatever their size) will be accepted. Placing small bets all over is no problem, however, when bets get larger we will have to consider their market impact and how these orders will be filled. But, before getting there, is not a problem. In the beginning, we will certainly not be trading hundreds of thousands of shares at a time.
Instead of waiting for the race to finish for cashing in the winnings (losses) (i.e.: Bet & Hold), we can increase or decrease the position size on any of the stocks as the race progresses to its finish line. A line that we set in the sand ourselves as our goal to reach (our own inherent stopping date to execute total liquidation at termination time T, or do some scheduled withdrawals thereafter).
Using QQQ stocks, we effectively delegated the stock selection process and its management. As if on our behalf, stock weights will be assigned proportional to market capitalization: wj = Sj pj / Ʃ Sj pj where Sj is the number of shares outstanding for stock j and with pj its current price. The no leverage scenario has for restriction that the sum of weights equals 1.0 or less: (Ʃ wj ≤ 1.0), which is easy to maintain since that is what the expression for wj says, it can maintain up to full market exposure.
Should we want to apply leverage (Lev), the above formula would transform to: (1+Lev) ∙ wj = (1+Lev) ∙ Sj pj / Ʃ Sj pj. We would need to pay the leveraging fees, evidently, but it would raise weights and thereby the number of shares for all the stocks in the portfolio proportionally to their market cap weights. Again, putting more emphasis on the front runners, those with the highest value. The sum of the new weights would total: (1+Lev) ∙ Ʃ wj = (1+Lev) ∙ 1.0.
Weight Distribution
QQQ is doing it all for you: sorting the top 100 stocks by market cap, management of replacements, and weighing by highest value. Stocks that cannot stay on the top 100 list are automatically replaced by newcomers. Newcomers that cannot stand the heat get replaced. Stocks that have been dropped can always come back. It is up to them to make the grade. No matter what, you only play the top 100. Period. And those 100 are the highest valued stocks of the moment.
It takes a lot to get on QQQ's list, it takes, even more, to stay on it.
Weight Distribution: QQQ - Market Cap vs Equal Weights
(QQQ weight data from Invesco, as of Nov. 5, 2021)
How should YOU have determined all your bets? Equal weights, market cap, or some other kind of scalable merit-based weights?
An easy solution was in the same manner as in QQQ. The stocks going up the most get the largest weights and the stocks at the bottom of the list get the smallest weights, as illustrated in the above chart. Stocks would be rewarded based on their respective and relative value, based on their proof of merit to be on the list. This, with little added risk or effort. That was visible in the tables given in the previous article. The same stocks were traded at the same scheduled time, at the same prices. Only their respective bet sizes were different.
Stocks start to be considered when they enter the set of the top 100 (from the right of the above chart) and fight to stay relevant. Their respective weights will move up and down the green line, the best ratcheting their way up to the top. Those unable to maintain their status will simply drop off the chart (again from the right), and return to be irrelevant to your cause.
This also makes a case for other non-equal weights scenarios that behave similarly.
From the above chart, we see the first 22 stocks as overweight, if we consider the average weight to be: Ʃ wj / J = 0.01. For the first two stocks, the overweighing gets to 0.10679 and 0.10575 respectively, which is over 10 times overweight. While the last stock on the list had for weight: 0.00096, a little more than ten times less than equal weight. The highest weight is 172.24 times larger than the lowest in this group. This is indeed putting more emphasis on the highest valued stocks. The lowest weights on the list have very little impact on the overall portfolio return.
Any trading strategy that is able to shift weights in favor of best performers while minimizing the impact of underperformers is in the same category as the above-mentioned strategy. It pays to overweigh overperformers while you underweigh underperformers.
Market cap weights are shifting money that could have been placed on the trailing horses to the front runners and increasing their bet size, in a way, leveraging the best performers by increasing their market exposure. For some, that could be as high as 10 to 1. Throughout the race, weights will be shifted around depending on the evolution and make-up of the race itself.
But no matter how the race is run, at the end of the race, most of the money will be distributed in the finishing order from highest to lowest according to their respective value to all participants.
Shifting weights around will be regulated by the rebalancing procedure and will be done within specific and predetermined parameters such that whatever the outcome of the race, your final and biggest bets will be with the best horses (winners) in their order of finish. Also, smaller bets would have been with the underperformers: those that did not finish the race, did poorly or failed to beat the average.
Thereby, on average, winning big on our winners and losing small on our losers. All done automatically.
We did not have to do anything to take advantage of this. It was done for us due to the stock selection process and its method of weighing participants. Our bet size changed as we went along, increasing as our portfolio rose and decreasing as relative weights fell. This, with no input or fault of our own. It is being performed with our implicit approval in trying to mimic QQQ's weighing system.
Over time, we will have duplicated QQQ's weighing methodology since our own strategy was closely tracking QQQ which was tracking the NASDAQ 100 index. We became simple closet indexers, like many. However, we also know other stuff, enhanced trading methods, that will help us take better advantage of this.
Guy Fleury
Leveraging
Adding leverage can also change the game. The following chart shows the cumulative data for equal weights (brown), QQQ's market cap weights (green), and QQQ's 1.3x leveraged weights (yellow).
Cumulative Weights
The green line above is the actual cumulative weight for QQQ as of Nov. 5, 2021 (as in the prior chart). It shows the emphasis put on the front runners. Considering all the chaos in markets, it is a relatively smooth curve. The first 20 stocks with equal weights, evidently, totaled 0.20, as should be expected. For the market cap weighing, the first 20 stocks accounted for 0.69 while the 1.3x leveraged scenario added up to 0.89. And here is the other reason why the leveraged scenario greatly outperformed equal weights.
Pushing the leverage to 1.75x, the first 20 stocks would now total 1.21 in weights. Those 20 stocks are the highest performers of the group. It would push MSFT's weight to 0.18688 compared to the equal weight of 0.01. It would do the same thing with AAPL putting its weight at 0.18506. Sure, the weights will change all the time. Some will even be pushed off the chart. But new ones will take their place. Your job is to profit from it all. And it is not to support those stocks that do not make the grade whatever your ordered stock selection may be.
If you tried the above-mentioned trading script with equal weights it would produce less. Structurally, it is easily understandable. However, it might not have been that evident in the equal weight chart since the sum of weights, in either case, was 1.0: Ʃ wj = 1.0.
Going equal weights reduced weights placed on the best performers while at the same time increasing the weights of the underperforming stocks in the list.
From the previous article using the same market cap weights, we can see the emphasis put on the best performers.
Market Cap Weight Distribution
The equal weight distribution is quite different. Bet sizes were limited to 1% of the portfolio.
Equal Weight Distribution
Any strategy trading with 100+ stocks that uses equal weights will suffer from about the same symptoms. Common sense would dictate to prefer relative performance weighing rather than equal weights. A lot of trading methods could do this. And yet, most of the strategy designs I have seen still use equal weights. Go wonder why a lot of them do underperform? Look at how a merit-based weighing system could improve on your own strategies.
Definitely, all stocks are not equal, why treat them as if they were? Let them prove their worth. If they are part of the top 100, they will float to the top on their own, step by step, and make you profit.
Leveraged Market Cap
The following table demonstrates the outcome of using equal weights with the same strategy in order to compare performances. No other changes were applied.
Using Equal Weights Compared To Market Cap Weights
The same levels of leverage were used as in the previous tests. At all levels, the market cap weights performed better than the equal weight scenario. It generates more money, with a better CAGR, and a lower drawdown. As you increase the leverage, the differences get larger in favor of market cap weights.
The following table gives the differences for each scenario of the above chart:
Differences In Performance: Equal Weights vs Market Cap Weights
A single trading decision, taken even before the program could start, is responsible for the differences in performance. And such a decision might represent billions over a 20-year period as illustrated in the "extended to 20 years" column.
Do you follow QQQ's weights or do you put in equal weights? The differences are more than visible over the long term. A simple administrative decision and it reverberates over all trades. Your choice...
A Not Required Strategy
You have here a strategy that outperforms its peers. And, surprisingly, the strategy is not even required since you could replace it with a single position in QQQ itself where none of your trading skills were relevant, requested, asked for, or even considered.
The simulation was just to show you would win the game even if all those stock prices would fluctuate wildly, almost random-like, over the entire investment period. No forecast was required, no guessing either. You just went along for the ride. The strategy doing over 60,000 trades, none of which you could have predicted beforehand. You did not know on which day it would happen or how many shares would be bought or sold. The whole thing behaving as if random-like generated. And yet, you could reach hit rates exceeding 70% as a side effect of the trade mechanics adopted.
I have seen so many trading strategies claiming that they performed better with equal weights and here, a simple demonstration, and it performed worse. The reasons are simple, just as stated above: equal weights reduced the bet size on performers while increasing it for those below average.
You give away the potential profits to gain shares in underperformers (losers). That is not an improvement in a compounding stock trading game.
With this pure rebalancing play, we can see the advantage of using weights scaled by some kind of merit system. Setting the strategy with equal weights is simple, you set all 100 weights to 0.01. Doing so will effectively show how a strategy will handle equal weights.
We should consider that equal weighing might effectively cost you, and based on the last line in the above table, it is an administrative decision that might cost your portfolio a lot! Over 600 times initial capital for not making the added 6.7% CAGR points that were there for the taking. Notice that overall, the differences in CAGR are not that great, only a few points, and yet, over time, they do make quite a difference. The power of peanuts...
It Is Only Rebalancing
With this trading strategy, we cannot use excuses like it was the trading signal that behaved differently, there were no signals used, of any kind. Or, it was the change in trend declaration that was off, optimized in some way, or either too early, too late, or somehow out of sync. Sorry, but no trend definitions were used, except for this vague and general bet on America. Buying QQQ either outright or through its proxy like trading all its constituent stocks was just that: a positive bet on America. We cannot say either that it was due to our stock selection even if it was. The whole process was outsourced, and over which we had absolutely no control.
We cannot talk either about survivorship bias. We knew at all times QQQ's composition and its purpose, right from the start. We opted to blindly follow in its tracks just as anybody else could using the same information. After the initial buy at t0, we most certainly hoped for all the stocks in the group to survive even if with time some would not. It should not have been much of a concern since the portfolio was designed to mimic QQQ's holdings playing the same highest valued stocks.
Regardless of any timing consideration or any trade triggering mechanics, the exact same stocks were trading at the same scheduled time at the same prices in all the tests.
Increasing Capital And Leveraging
The following table makes it clear that equal weights underperformed the strategy's market-cap tracking weights.
Based on the first chart above, using market-cap weighing and leverage over-expose best performers while reducing market exposure of underperformers. You are in it for the money, so why carry much dead wood around or be over-exposed to it?
Using Equal Weights Compared To Market Cap Weights With Increasing Capital
The above chart is another example of the same trading strategy but this time using both leverage and increasing capital. The differences in performance are even more remarkable. Look at the bottom panel where the differences are estimated over a 20-year period. These four decisions: increasing capital, using equal weights, using market cap weights, and using leverage are all initial administrative decisions that can have a tremendous impact on overall performance as can be seen in the above tables.
All the tests were based on QQQ's raw data. Scheduled to trade at the same time, at the same price, every week. Nothing has been done to improve on the strategy's design. Doing so has the potential to greatly increase overall performance. You have a game plan here, study it, do the same tests, show to yourself what matters for you, and then adapt it to your way of thinking, add some protection and/or enhancements. Take advantage of what it represents, your future.
I consider this trading strategy as the bare minimum one could do. It certainly requires very little effort. You either buy QQQ outright and sit on it or you opt to trade its 100 stocks with its simple rebalancing routine. If so inclined, you could also improve on its trading procedures for even better results. If your trading strategy is doing less than this one, switch. And when you will find a better one, switch again, or operate both. The thing is: you are in charge, therefore, prove to yourself what matters to you.
Pass it along to your friends, it could help them.
As always, it is all about your choices. May you make the best ones for you.
Guy Fleury
I consider Vladimir's program version above as the bare minimum one could do in building a long-term retirement fund.
My latest article expanded on this a lot more providing a better understanding of what is at stake and what are the limitations. I think it is worth reading in your own search for profitable trading systems.
We are able to analyze this trading strategy with the added notion of all other things being equal. Meaning practically no significant change to the code itself over the entire trading interval. All trades occurred on the same set of stocks, at these weekly prescheduled rebalancings, on the same days, at the same time, at the then-current market prices. No other means were provided or considered to make the trading script even better following your input in the process. No trading skills were required or even needed.
It goes further than that. No need for any advice or opinion based on whatever from anyone. No theories needed but plain observation of what is happening. Trades are done automatically by a machine with no sentiment, no running on some sentiment analysis either. No deep learning or gradient descent required since none of it was even considered in the trading process. No technical indicators, no mumbo jumbo, no moon phase, no secret sauce. Absolutely no financial expertise required of any kind. No need to forecast anything, except maybe, making this simple assumption: going for Mr. Buffett's bet on America that the future will be more of the same of what we have had.
The only person that counts in this process is you, nobody else. It is not some theory you advance, but the practical side of things. Things you can do by yourself for yourself with almost the assurance that you will not lose under the simple condition that you do it for a long time. It is always your choice, but this is the easiest index fund you could implement, not only with little risk but also with a lot of potential depending on your initial trading decisions which could always be altered as you go along.
LINK to article.
May it help some.
Guy Fleury
I consider Vladimir's QQQ weekly rebalancing strategy above as a minimum one could do. It is very easy to apply, it could even be done without trading. Simply buy QQQ and hold on. In a way, the strategy validates that approach quite well. One should enhance it nonetheless and add some protection.
By its very structure, in its present state, the strategy should outperform the majority of index funds out there. It ends up with the highest valued stocks having the heaviest weights. And this in itself is sufficient to raise its average CAGR over market averages.
I continue to investigate what to do with such a strategy? What more could I learn about its overall behavior?
There are two interesting charts in my latest article. One is the gain factor chart which shows how much CAGR would be needed to reach a specific goal based on the initial capital put to work. It should be self-explanatory.
The other chart, about doubling times, is something related you might also have done when exploring performance levels. Here it is too:
The article is rather long. For those that might be interested, follow the LINK.
Hope it helps some. Happy holidays.
Guy Fleury
There were still a few more things to share on this strategy. All of it, just common sense while exploring using QQQ as the backbone of a long-term retirement plan.
The article is rather long, nonetheless, it might interest some.
Follow the LINK.
Happy New Year to all.
Guy Fleury
I wrote a few articles concerning @Vladimir's strategy as given above.
My latest takes a long-term view of the strategy and makes some justifiable extrapolations since the strategy has a predictable behavior due to its scheduled weekly rebalancing of QQQ's 100 stocks.
Every week the strategy will make about 100 trades. Depending on its initial capital. Not enough capital and it will trade less. With sufficient capital, it has a “limited” capacity for 100 trades per week.
Over some 20 years, it is expected to do about 104,000 trades, ±0.5%. This says you could plan for this trading strategy, some 20 years in advance, and get pretty close to the actual number of executed trades. And the main concern would become what would be the overall average profit per trade.
The strategy is making its money on the weekly variance of stock prices, meaning practically on market noise. And average weekly variance almost tends to a constant over the long term. It does not mean that stock prices will not fluctuate, they will, but over time the variance tends to its average. And therefore, you can forecast, even 20 years in advance, some pretty good estimates of the final outcome.
Note that this strategy can maintain a 70%+ hit rate by simply feeding on market noise.
Follow the link below to view and appraise the article. Some interesting observations are being made. Why not look at the previous article too, it is also related to @Vladimir's strategy.
Your Stock Trading Game
Guy Fleury
In my upcoming book, scheduled for an early March release, I cover this trading strategy extensively and more.
Here is an equation from my book that should guide anyone in building their retirement fund:
We have a future value formula with five 20-year periods at varying growth rates and independent withdrawal rates for each period after the first 20 years. As long as the growth rate is superior to the withdrawal rate, the fund will continue to increase over time, even after 100 years.
The equation is an extension of this strategy, which is rather boring but can be the start of a consequential long-term portfolio. In other words, it could last for generations. There will always be a list of the 100 best-performing stocks. The composition of that list will change over the years. We do not know which companies will be on it in 20 or 30 years, but we can find and sort by value the top 100 most valuable stocks any day of the week.
A trading strategy, to be worthwhile, needs to survive and not break down going forward for whatever reason. If you are building some retirement fund or any other type of long-term fund, the most critical factor should be the answer to this question: will it be there in 30, 60 years, and more?
What is your strategy worth if you cannot show it can survive what will be thrown at it?
Should you accept to see it slowly wither away to zero due to a faulty structural design?
Or, should you ensure your strategy is built to last and last for generations if need be?
My new book will provide answers to those questions.
Guy Fleury
My latest short paper might interest some wishing to design better trading programs with a long-term objective. The trading programs you make will have to last a long time. If they break down after a few years, they will have very little value. It is why you do all those backtests.
I called it: The Big Open Project because it is BIG. It is so big that it could change the world's wealth distribution as we know it over the next half-century. And it is a wide-open invitation to anyone who can carry it out.
It will require entrepreneurs and their organizations to design stock trading software of significance. We have models like the Medallion Fund of Renaissance Tech, which has generated outstanding results for years and years.
The objective is to build some of the largest fund management organizations of modern times, all within 30 years or less.
It is an ambitious project, and it can be duplicated by many. I will provide the background, the methods, and the equations to guide you on your way. You be the entrepreneur you can be.
Read the whole PDF file: https://alphapowertrading.com/QC/BigProjectGen.pdf
Vladimir
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!