Index  Recent Threads  Who's Online  Search 


dkalmuk

It seems the PIT method may not be feeding through for rolling tests  just noticed that if I run a sim through a rolling test with / without prelims it's still showing exactly the same results (even though manual runs of the sim show differences). Good catch. We'll get that fixed. Any eta on when it will be fixed? Hoping to reverify systems that have real money in them that seem to behave better without prelims (but the rolling tests seem to always default to use prelims). Following up on this one again  I see through the trello board that the issue is now marked "done" but when I try a rolling test with use vs. exclude prelims the results still always match the "use prelims" setting. 


muhammad

Hi, sorry for the inconvenience. The issue was marked done but it didn't get deployed; it should be available later today with a new build. Hadir Portfolio123 Staff 


philjoe

Does FactSet offer historical data with daily updates? Ie. what is preventing us from backtesting with daily data as opposed to the weekly we have now? 


judgetrade

Hi, been reading through the https://docs.google.com/document/d/17Q0cVnGdG...itKdqUC_KGN2UHcMTdYg/edit document again and wonder if I have to adapt my ranking system, I especially wonder about the earnings factors: Abs(CurFYEPSMean) / Abs (CurFYEPS4WkAgo) Abs (NextFYEPSMean) / Abs(CurFYEPS4WkAgo) Also, are those factors o.k. using? GMgn%TTM GMgn%Q ROE%TTM ROE%TTM/ROE%5YAvg GMgn%Q/GMgn%TTM (mktcap + DbtTotQ  (CashPSQ * ShsOutMR)) / Eval(FCFQ>0,FCFQ,NA) I am not asking to give advise in terms of if I should use those factors in general, only in the context of factors that have been added, changed with the new data provider (and might not work or have vastly different effects now). Also It would be great if the community could give some feedback if and how you used the following factors, examples are very welcome. ConsEstMean(item[, period, weekAgo]) ConsEstHi(item[, period, weekAgo]) ConsEstLow(item[, period, weekAgo]) ConsEstCnt(item[, period, weekAgo]) ConsEstMedian(item[, period, weekAgo]) ConsEstStdDev(item[, period, weekAgo]) ConsEstUp(item[, period, weekAgo]) ConsEstDn(item[, period, weekAgo]) item: #EPSY, #EPSQ, #EPSNTM, #SALEY, #SALEQ, #EBITDAY, #CAPXY, #FCFY, #LTG, #PT period: 04 (0 is current, 1 is next, etc.) Thank you very much!!! Best Regards Andreas 

Edit 1 times,
last edit by
judgetrade
at Jul 11, 2020 3:41:27 AM

danparquette

Hi Andreas. I have a comment regarding the Abs(CurFYEPSMean) / Abs (CurFYEPS4WkAgo) formula you show above. It is just a general comment and unrelated to the FactSet migration. Calculating growth is complicated whenever both the numerator and denominator can be either positive or negative and I dont think using Abs for both will give the desired results in all cases. For example 100/10 would be 100/10=10 which would get a high rank even though it is a very bad stock. I usually use (CurFYEPSMean  CurFYEPS4WkAgo) /abs(CurFYEPS4WkAgo) but that doesn't work in all cases either. There is a general growth function available and it gives good results for this example. Try Gr%(CurFYEPSMean , CurFYEPS4WkAgo). But I dont know what the code looks like and if it handles all the possible cases of positive and negative numbers in the numerator and denominator. Another option would be to create a complicated nested Eval statement to handle the various cases, but I dont know if that would fit in the allowed character length for a formula. I would be very interested to hear from other members on how they calculate growth in cases like this. Dan 


yuvaltaylor

Gr% does something differentI'm not 100% sure what. Take DHX. CurFYEPSMean is 0.02, CurFYEPS4WkAgo was 0.01. Growth should therefore be 300% but Gr% gives 267%. At any rate, the correct formula is indeed (CurFYEPSMean  CurFYEPS4WkAgo) /abs(CurFYEPS4WkAgo). I usually add Max to the denominator: (CurFYEPSMean  CurFYEPS4WkAgo) /Max(0.02, Abs(CurFYEPS4WkAgo)). This and other factors should work fine on FactSet. But do your due diligence. Run each as a ranking system on your universe and look at the decile behavior. As for the consensus estimate functions, the NTM ones (next twelve months) are great. We've always had to use CurFY and NextFY no matter where in the fiscal year we were. Now we can use NTM for forward PE, forward price to sales, forward FCF to EV, etc. You can use it for growth ratios too(ConsEstMean(#EPSNTM)  EPSExclXorTTM)/Max(0.05,Abs(EPSExclXorTTM)). Yuval Taylor Product Manager, Portfolio123 invest(igations) Any opinions or recommendations in this message are not opinions or recommendations of Portfolio123 Securities LLC. 

Edit 1 times,
last edit by
yuvaltaylor
at Jul 11, 2020 4:00:10 PM

InspectorSector

the correct formula is indeed (CurFYEPSMean  CurFYEPS4WkAgo) /abs(CurFYEPS4WkAgo) There is nothing "correct" about it. It isn't a growth formula unless the parameters are significantly positive. The formula as is highly ranks stocks operating about CurFYEPS4WkAgo=0. THat can be useful but doesn't represent growth by any means. 


Jrinne

Yuval, Thank you for your comments. I use (CurFYEPSMean  CurFYEPS4WkAgo) /abs(CurFYEPS4WkAgo) too. I have also used something similar to CurFYEPSMean  CurFYEPS4WkAgo) /Max(0.02, Abs(CurFYEPS4WkAgo)). I think it is a good idea. I have found it does not seem to make much difference in sims so I do not use the Max in the denominator out of pure laziness. I just have a questions about programing with FactSet. Mainly about the defaults, I guess. Do period and weekAgo both need to be specified? If not, which gets defaulted for sure. Or on a practical level, I just want to be sure that the analogous equation to the above using NTM would be: (ConsEstMean(#EPSNTM,0)ConsEstMean(#EPSNTM,0,4))/abs(ConsEstMean(#EPSNTM,0,4). Basically, I want to be sure that this last equation is doing what I think it should and that I am not missing something. Any error correction appreciated. I guess I am unsure because the equation works but does not seem to be quite as good as using some combination of (CurFYEPSMean  CurFYEPS4WkAgo) /abs(CurFYEPS4WkAgo) and (CurNextFYEPSMean  CurNextFYEPS4WkAgo) /abs(CurNesxtFYEPS4WkAgo) in a node. Intuitively I would have thought (ConsEstMean(#EPSNTM,0)ConsEstMean(#EPSNTM,0,4))/abs(ConsEstMean(#EPSNTM,0,4) would have worked better than the combination in the previous paragraph. Maybe I am doing something wrong. And if you know, how is #EPSNTM calculated? I assume it is a function of FY and nextFY as analyst do not generally make a prediction of the next 12 months that I have ever seen. It would be easy to weight FY and NextFY based on the number of months left in the fiscal year, however. Is it just a weighted combination of the two? Thank you. Jim From time to time you will encounter Luddites, who are beyond redemption. de Prado, Marcos López on the topic of machine learning for financial applications 

Edit 2 times,
last edit by
Jrinne
at Jul 12, 2020 7:34:19 AM

InspectorSector

I use (CurFYEPSMean  CurFYEPS4WkAgo) /abs(CurFYEPS4WkAgo) too. There is nothing wrong with using the formula. It just doesn't represent growth in the majority of applications. You are most likely flagging companies operating around the knee of the sales/earnings curve, which is not a bad thing if you are looking for companies with growing sales that are likely turning the corner on profitability. If you ignore the logic behind it (i.e. earnings growth) and "go with what works" then you might have some success with it. Steve 


