Fred Piard SA article featuring P123 screen

Andreas,
What is your P123 membership level?

Georg,
I have designer level. should work, no?

Andreas - if you want to get this solved then you really need to make your custom formula public and post a link to it. It doesn’t matter what you think you copied, the problem can’t be reproduced unless we have everything that you are using. You gave a link to the screen but not the custom formula.

Thanks
Steve

Hi Steve,

thanks a lot for your help. The custom formula is here: https://www.portfolio123.com/user_formula_edit.jsp?formulaid=53497&s=1

here is link to Piard screen… 13.13% return, -23.97 DD, custom formulas,etc. all public

[url=http://]https://www.portfolio123.com/app/screen/summary/166041?st=1&mt=9[/url]

-debbie

Andreas - here is what I see for the formula:

Eval(Close(0,getseries(“#UNEMP”))>Close(3,getseries(“#UNEMP”)),1,0) + Eval(Close(0,#SPEPSCNY)

And when I try to copy it I get the following:

ERROR: Please enter a formula in the ‘Formula’ field

So it looks like there is a problem in your formula. Did you delete the carriage returns before pasting the formula?

Steve

Thanks Debbie - I think the problem lies with Andreas’ screen/custom formula.
Steve

Hi Steve,

that is very strange. I did delete the carriage returns. and when I go in the formula field I do get the full formula: Eval(Close(0,getseries(“#UNEMP”))>Close(3,getseries(“#UNEMP”)),1,0) + Eval(Close(0,#SPEPSCNY)<Close(20,#SPEPSCNY),1,0) + Eval(SMA(50,0,getseries(“$sp500”))<SMA(200,0,getseries(“$sp500”)),1,0) + Eval(sma(13,0,getseries(“SP500ShortIntAvg”))<sma(104,0,getseries(“SP500ShortIntAvg”)),1,0)

The funny thing is also, that when I take other peoples screens and formulas (e.g. Florians) I am not able to run them either. This seems to be a deeper problem somwhere in the algo of P123?

I suggest raising this as a bug with P123 then. (Separate post in the errors forum.)
Steve

I guess thats the only thing that comes to mind now. Thanks a lot for your help and lets see what the P123 team can find out about this!

Thanks for reading my article and sorry for the late answer. I don’t come often on this forum. MTS4 in a screen rule:
showVar(@MTS4,(close(0, #UNEMP)>close(3, #UNEMP))+(close(0,#SPEPSCNY)<close(13,#SPEPSCNY))+(sma(50,0,$sp500)<sma(200,0,$sp500))+(sma(52,0,getseries(“SPSI%Avg”))>sma(104,0,getseries(“SPSI%Avg”))))
With SPSI%Avg defined as a custom series in the S&P 500 Universe with weekly frequency:
UnivAvg(“1”,“SI%float”)
MTS4 components are timing indicators backed by research and common sense. Backtests a are just clues, especially when testing market timing on 2 recessions. Optimizing MTS4 makes little sense. This article was written with an open-source mindset. If you use or improve this concept and write about it, a reference to the original would be appreciated.

Right to the point, Fred!

A pity the data is limited to 1999. It would at least be helpful if P123 could make point in time data available further back in time - at least for the S&P500 stocks.
Cheers,
Florian

Just for the ones interested: The P123 team figured out what was going wrong with my sim - the custom series wasnt long enough. So in case you encounter a similar problem you now know where to look!

Georg - is this “Best7” model public?

John
The Best7 has nothing to do with Fred’s method.
http://imarketsignals.com/2016/trading-the-high-yield-low-volatility-stocks-of-the-sp500-with-the-im-hid-lov-7-system/

Except for hedging.


HiD-LoV-7 hedge.png


Cool, thanks. I love your imarketsignals site; you have some really interesting stuff on there.

Andreas, what do you mean by the custom series wasn’t long enough?

Hi Georg,

if I use the original Fred Piard approach…
Eval(Close(0,getseries(“#UNEMP”))>Close(3,getseries(“#UNEMP”)),1,0) + Eval(Close(0,#SPEPSCNY)<Close(20,#SPEPSCNY),1,0) + Eval(SMA(50,0,$sp500)<SMA(200,0,$sp500),1,0) + Eval(sma(13,0,getseries(“SP500ShortIntAvg”))<sma(104,0,getseries(“SP500ShortIntAvg”)),1,0)
… and your hedge entry and exit rules, I get slightly more hedge periods (see attached).

Did you alter the original formula?


Florian, I use a different formula for the MC-Score.

I’ve been reading through this old thread and liked your idea Georg of using a 3 month hilo index of the sp500 instead of the short interest. To do this I created a custom series with the following line:

univcnt(“hi(0)=highval(60)”)/(univcnt(“hi(0)=highval(60)”)+univcnt(“low(0)=lowval(60)”))*100

Then I used a custom formula to evaluate if the simple moving average (10 per) was above or below 50:

Eval(sma(10,0,getseries(“hiloind”))<50,1,0)

Finally I used the screener along with the other criteria. Is something wrong with my formula? It seems to only be giving me signals to switch for the past year and prior to that it doesn’t seem to see the movement above and below the 50 line.

Thanks in advance for any insight.