If I were to recommend it would be: use Occam’s razor but…..

All,

P123 has a great platform. Including the optimizer, rank performance etc. One needs nothing more, IMHO.

I have been a proponent of AI. I guess I still am. But the main, immutable tenant of machine learning is Occam’s razor. Do I recommend that you develop a complex neural-net to trade with. Short answer: no. Maybe, however, if you can keep it simple.

Besides, if you want to do AI you can do it with P123’s API. And where else are you going to go? Did I mention that P123 has a great platform?

Bottom line. I am not recommending this specialized (and perhaps not so simple) AI. Having finished my disclaimer, I found these articles/sites a little interesting. Again, just a little interesting.

[url=https://www.zerohedge.com/sponsored-article/artificial-intelligence-powers-mineral-rights-investing]https://www.zerohedge.com/sponsored-article/artificial-intelligence-powers-mineral-rights-investing[/url]

https://www.investinbraneinc.com

Jim

Would love to have Dynamic allocation of ETF’s with AI. That would be very interesting.

Mark,

Like you I believe Dynamical allocation works.

I have played with AI for adaptive allocation. Using simple regressions and boosting. Also recurrent neural networks. Let me just start out by saying recurrent neural-nets were a bust. Did not work for me (yet).

So let me get back to regressions and keeping it simple. A regression is machine learning tool by any definition.

One thing I learned with regressions is that volatility (standard deviation) is INVERSELY CORRELATED with future returns. Strongly so. At least with the periods and ETFs I looked at.

So I am still using Portfolio Visualizer but this information about volatility offers some explanation—beyond MPT–as to why dynamic allocation can work.

Minimum variance works, in part I think, because it does not buy the high-flying ETFs that are about to mean-revert. The same for risk parity. Risk parity buys fewer of the more volatile stocks.

I have had mixed results with the tangency portfolios and I think this algorithm will select more volatile stocks. Stocks that have been volatile to the upside with good returns but are poised to mean-revert.

This is in a addition to any reduction in volatility-drag that minimum variance gives.

Honestly, I think you are already using a simple machine learning tool that is working—by any definition of machine learning. Occam’s razor. Keep it simple. I firmly believe that you probably do not need to change a thing to keep an optimal—or near optimal—solution. The information about the inverse correlation of volatility and returns is just one pice of data as to why what you do works.

So to be complete on this, some may not want to call what you already do machine learning. They might say that manual optimization is not machine learning. That you need to use gradient descent to officially make it machine learning. I say fine. Let’s not call it machine learning. I think I will call it Mark’s really cool money-making algorithm instead. And it works because it follows the immutable central tenant of machine learning: use Occam’s razor.

For fun, I think I will keep looking for slightly more complex solutions (but not too complex). For those who use python here is the code for the minimum variance portfolio to start with. THIS CAN BE ADAPTED TO INCLUDE YOUR PREDICTED RETURNS IN A TANGENCY PORTFOLIO:

pip install PyPortfolioOpt
import pandas as pd
df.columns=[‘XLE’,‘XLU’,‘XLK’,‘XLB’,‘XLP’]
from pypfopt.expected_returns import mean_historical_return
from pypfopt.risk_models import CovarianceShrinkage
mu = mean_historical_return(df)
S = CovarianceShrinkage(df).ledoit_wolf()
from pypfopt.efficient_frontier import EfficientFrontier
ef = EfficientFrontier(mu, S)
weights = ef.min_volatility()
ef.portfolio_performance(verbose=True)

Best,

Jim

So thinking about this further….

Updates of PyPortfolioOpt already allow one to use regularization to optimize a portfolio which puts it squarely into the category of machine learning. And would probably fit with Occam’s razor I think. Regularization just helps to avoid overfitting and does make the model more simple.

In addition, one can use the updated PyPortolioOpt for “Hierarchical Risk Parity (HRP)” that de Prado developed. HRP would probably be used for individual stocks, however.

To do this last with individual stocks pricing data would have to be easy to download. For example, if you wanted to look at all of the stocks in the SP 500 one would have to be able to created a DataFrame with 500 columns which cannot realistically be done with Yahoo! downloads.

I think that there are 2 recent posts directly or indirectly related to the subject of downloading pricing data (stocks or ETFs) for use in an MPT strategy:

Feature Request: OHLCV Price Update Earlier

Can this be done at P123?

P123 is second to none for machine learning or whatever one wants to do with the API. More can be done, perhaps. Assuming it fits into P123 business model. For the record, I am happy with my ports the way they are and I do not have a strong feeling about what should be at the top of P123’s to-do list.

Well, no strong feelings other than that P123 should continue to put feature engineering at the top of its list. Something that P123 does superbly already.

Jim

Imagine if you could simulated options strategies??? I really don’t need AI I need a hypothesis that QQQ will dominate now how do I implement an option strategy that meets my risk profile? Thats where I focus my efforts.

Mark,

I do not have any ideas on option-trading to contribute.

I agree with one of your points above: one does not need AI to do well at P123. I do admit to not always seeing a huge difference between endless manual optimizations (e.g. using P123’s rank optimizer) and some of the automated machine learning optimization methods available. In my experience, a good idea will work with many methods. Using pencil and paper—sorting the tickers manually–if that is your preferred method. I do like at least a small amount of automation given my busy day.

Anyway, thank you P123 for providing efficient sorting algorithms (and more) so I can decide which tickers in the Russell 3000 universe to buy before the close of the stock market each day.

I am not really concerned about what people want to call their methods as long as they work.

I wonder if you would share some information about the strategies you are using now? Whatever category you think your methods belong to.

Assuming that you do not think that a few P123 members using some of your general ideas would use up all of the liquidity in QQQ or the other ETFs you invest in.

Jim

Hello Jim,

As stated before I use Logical invest to Dynamically allocate what ETF I should be in each month. If you want the details just go to the URL and all the details are right there. I have used their strategies and added a little juice. I trade a lot of FAANG stocks along with Microsoft. My FAANG strategy is averaging over 60% over the last 3 years and 100% last year. I use option spreads mostly on my trades. I miss out on parabolic moves but I have no negative carry selling that out of the money call and paying for the put protection. There are much better ways but I am still learning. I learned to option trade on Big picture trading. Best option course I have ever taken and I tried a lot. They show you how to trade every day so you get lot’s of examples. I took that option knowledge and applied it to the logical invest strategies. Its really that simple. The options and ETF I trade a highly liquid stocks so there is very little chance of the liquidity drying up. One drawback it is a lot of work but I consider it fun.
Any other questions please feel free to reach out.

Cheers,
Mark V.

Mark,

Thank you. I need to learn how to trade options. I have a friend who I correspond with by email and he has had good success using this with the FAANG stocks also.

Jim