| Index | Recent Threads | Who's Online | User List | Search |
|
|
![]() |
Portfolio123 » List all forums » Forum: Screener » Thread: Screener calculation question |
|
Total posts in this thread: 8 |
[Request a Feature]
[Post new Thread] [Add To My Favorites] [Watch this Thread] |
| Author |
|
|
charles123
Advanced Member
|
In an effort to apply a growth rate to a current factor like EPS or CF I came up with the below formula. EPSPExclXorTTM*(1+(( NextFYEPSMean-EPSPExclXorTTM)/abs(EPSPExclXorTTM))) To test it I used current EPS and NYEPSEST. When I put the below forumla into the screener it returned over 1200 results. I realize this will not work for anything with a negative value but in many cases both current EPS and NYEPSEST are positive. This should not be the case since by pure math EPSPExclXorTTM*(1+(( NextFYEPSMean-EPSPExclXorTTM)/abs(EPSPExclXorTTM))) SHOULD ALWAYS EQUAL NextFYEPSMean Here is what I put in the screener. EPSPExclXorTTM*(1+(( NextFYEPSMean-EPSPExclXorTTM)/abs(EPSPExclXorTTM)))!= NextFYEPSMean Any ideas? |
||
|
|
KAR
Advanced Member
|
Hi Charles, I suspect part of the reason may be that there may not be a value being returned for both EPSPExclXorTTM and for NextFYEPSMean for all stocks. For instance, applying the liquidity rule: AvgDailyTot(60) > 100000 & Close(0) > 1 & universe(otc)=0 leaves 4543 stocks. Then applying the rule: EPSPExclXorTTM>0 or EPSPExclXorTTM=0 or EPSPExclXorTTM<0 leaves 4467 stocks. However if instead, after the liquidity rule, one applies the rule: NextFYEPSMean>0 or NextFYEPSMean=0 or NextFYEPSMean<0 one gets 3899 stocks. This is a difference of 4467-3899= 568 stocks. So that may be part of the underlying reason your identity isn't holding. In addition, although I didn't investigate, I can imagine some stocks have values for NextFYEPSMean and others for EPSPExclXorTTM but maybe not for both, and that may contribute to the identity not working. In addition, but unrelated to your mathematical idenity not working, just as a comment, the fiscal year can differ from the calendar year on a company by company basis, so I think that depending upon when in the year you apply your formula, the times being used for computing difference between TTM and FY eps will shift around. Also, When I put your formula EPSPExclXorTTM*(1+(( NextFYEPSMean-EPSPExclXorTTM)/abs(EPSPExclXorTTM)))!= NextFYEPSMean into the screener without any liquidity rules, I got 1844 hits, not 1500, so I am imagining you are also using some kind of liquidity or other rule prior to this rule. Kurt ---------------------------------------- [Edit 1 times, last edit by KAR at Mar 30, 2008 3:34:12 PM] |
||
|
|
charles123
Advanced Member
|
I think I may have had a liquidity filter. I wasn't really concerned wit the number of stocks that it returned, rather that any were returned. My point was when I set the output to screener values I can see that many of the stocks returned do have postive values for both EPSPExclXorTTM and NextFYEPSMean. This being the case, how can this equation: EPSPExclXorTTM*(1+(( NextFYEPSMean-EPSPExclXorTTM)/abs(EPSPExclXorTTM)))!= NextFYEPSMean yield ANY results. It's the same thing as screening for NextFYEPSMean!=NextFYEPSMean and getting results. Doesn't make any sense. |
||
|
|
marco
|
Or A * (1 + (B - A) / Abs(A) ) = B However if B = 0 and A=-1 the left part is -2 ---------------------------------------- Portfolio123 Staff ---------------------------------------- [Edit 1 times, last edit by marco at Mar 31, 2008 1:09:57 PM] |
|||
|
|
charles123
Advanced Member
|
Here is an exmaple in excel. I downloaded the results after running the screen for EPSPExclXorTTM*(1+(( NextFYEPSMean-EPSPExclXorTTM)/abs(EPSPExclXorTTM)))!= NextFYEPSMean ---------------------------------------- |
||
|
|
marco
|
ok thanks i'll investigate ---------------------------------------- Portfolio123 Staff |
||
|
|
marco
|
Charles in the example you provided I get the following when I step through the code: 1.57000017 != 1.57000005 (TRUE) Looks like rounding errors. Not much we can do here. We need a special function to deal with this, like round(x) or trunc(x) ---------------------------------------- Portfolio123 Staff |
||
|
|
charles123
Advanced Member
|
Ok. Thanks for looking into this. |
||
|
| [Show Thread Printable Version] [Post new Thread] |