Author: borisnand |
Subject: Re: Idea for a screen |
Date: 4/16/2022 |
Recommendations: 18 |
To keep track of useful gtr1 field definitions, I use a spreadsheet with 3 columns. My current list of fields is: type group code field BBYld BuybackYield: linear(1,1,-1,ratio(SharesQ1,SharesQ5)) field BBYld ShareholderYield: linear(1,Yield,1,BuybackYield) field BBYld SharesQ1: pref(shraq1.s,cshoq1d.c) field BBYld SharesQ5: pref(shraq5.s,cshoq5d.c) field BBYld Yield: max(0,pref(ratio(dpsind.s,sprc),ratio(cdv.a,aprc))) step BBYld SharesQ1 > 0 step BBYld SharesQ5 > 0 field Beta BETA: if(dspo>800,beta(1,159,5),1) field Beta BETA: if(dspo>800,beta(1,38,21),1) field Cash Cash: pref(plus(max(0,cashq1.s),max(0,stinvq1.s)),max(0,cheq1.c)) field Cash CashLessDebt: minus(Cash,Debt) field Cash CurrentBalance: minus(pref(caq1.s,actq1.c),pref(clq1.s,lctq1.c)) field Cash Debt: pref(plus(max(0,ltdebtq1.s),max(0,stdebtq1.s)),plus(max(0,dlttq1.c),max(0,dlcq1.c))) field Cash NetDebt: linear(1,max(0,ltdebtq1.s),1,max(0,stdebtq1.s),-1,max(0,cashq1.s),-1,max(0,stinvq1.s)) option command list:*.* option command list:gto* list:indr.k list:rank.z list:ril.w list:tco12mq1d.s list:tcoq1.s list:sprc list:csoq1d.s field Debt NetDebt: pref(NetDebts,NetDebtc) field Debt NetDebtc: linear(1,max(0,dlttq1.c),1,max(0,dlcq1.c),-1,max(0,cheq1.c)) field Debt NetDebts: linear(1,max(0,ltdebtq1.s),1,max(0,stdebtq1.s),-1,max(0,cashq1.s),-1,max(0,stinvq1.s)) field EBIT EBIT: pref(linear(1,gopinc12m.s,1,if(int12m.s=null,0,int12m.s),1,if(uninc12m.s=null,0,uninc12m.s)),EBITold) field EBIT EBITold: linear(1,gopinc12m.s,1,if(int12m.s=null,0,int12m.s)) field EBIT EBITtoEV: ratio(EBIT,EV) field EBITDA EBITDA: pref(linear(1,gopinc12m.s,1,if(int12m.s=null,0,int12m.s),1,if(uninc12m.s=null,0,uninc12m.s),1,if(dep12m.s=null,0,dep12m.s)),EBITDAold) field EBITDA EBITDAold: linear(1,gopinc12m.s,1,if(int12m.s=null,0,int12m.s)) field EBITDA EBITDAtoEV: ratio(EBITDA,EV) field Fin CO: pref(tco12mq1d.s,tco12mq1d.c) field Fin ERN: pref(epsdc12mq1d.s,epscon12mq1d.s,epsfx12mq1d.c) field Fin EV: linear(1,product(sprc,csoq1d.s),1,max(0,prefq1.s),1,max(0,ltdebtq1.s),1,max(0,stdebtq1.s),-1,max(0,cashq1.s),-1,max(0,stinvq1.s)) field Fin FCF: pref(product(fcfps12mq1d.s,shraq1.s),product(fcfps12mq1d.c,cshprq1d.c)) field Fin FCFPS: pref(fcfps12mq1d.s,fcfps12mq1d.c) field Fin LTD: pref(ltdebtq1.s,dlttq1.c) field Growth COG: pref(ratio(tco12mq1d.s,tco12mq21d.s),ratio(tco12mq1d.c,tco12mq21d.c)) field Growth EG: linear(100,EGm,-1,100) field Growth EG5ls: linear(100,Yield,1,pref(epsdcg5ls.s,epscg5f.s,EG)) field Growth EGm: pref(ratio(epsdc12mq1d.s,epsdc12mq21d.s),ratio(epscon12mq1d.s,epscon12mq21d.s),ratio(epsfx12mq1d.c,epsfx12mq21d.c)) field Growth SG: pref(ratio(sales12mq1d.s,sales12mq21d.s),ratio(sale12mq1d.c,sale12mq21d.c)) field Growth SG: pref(ratio(salesq1.s,salesq5.s),ratio(sale3mq1d.c,sale3mq5d.c)) field import lf-1lp-1h1 EY: importf(0,EY,-1) field Ind IndGroup: pref(trbc7.s,incd.s,fincd49.a) field Ind Sector: pref(trbc2.s,sector.s,fincd12.a) field Ind Software: pref(if(trbc7.s=5720101!5720102!5720103,1,0),if(incd.s=1018!1036,1,0),if(fincd49.a=36,1,0)) field Liq MktCap: linear(0.000001,product(aprc,sho.a)) step Liq adv(1,63) top 50% step Liq dspo(1) >= 252 step Liq pref(if(country.s=1,1,0),if(styp.a=12!30!31!42!72,0,1)) = 1 step Liq styp.a = 10!11!12!18!30!31!48 universe MIbase https://gtr1.net/2013/?~MIpostsBase:h21f0.4::styp.a:et10!11!... field Mo Toast: plus(trp(1,63),trp(1,126),trp(1,252)) step Mo PH52c: ratio(gprc(1),hgprc(1,252)) step Mo PH52cLagged: ratio(gprc(3),hgprc(3,252)) step Mo PH52i: ratio(gprc(1),ghigh(1,252)) field Mult PB: pref(ratio(product(sprc,shraq1.s),equityq1.s),ratio(product(cshprq1d.c,cprc),ceqq1.c)) field Mult PCF: pref(ratio(sprc,cfps12mq1d.s),ratio(cprc,cfps12mq1d.c)) field Mult PE: pref(ratio(sprc,epsdc12mq1d.s),ratio(sprc,epscon12mq1d.s),ratio(cprc,epsfx12mq1d.c)) field Mult PFCF: pref(ratio(sprc,fcfps12mq1d.s),ratio(cprc,fcfps12mq1d.c)) field Mult PS: pref(ratio(product(sprc,shraq1.s),sales12m.s),ratio(product(cprc,cshoq1d.c),sale12mq1d.c)) step Mult PE3y: pref(peaeps3y.s,ratio(cprc,linear(0.34,epsfx12mq1d.c,0.33,epsfx12mq5d.c,0.33,epsfx12mq9d.c))) field Oper RD: pref(rd12m.s,linear(1,xrdq1.c,1,xrdq2.c,1,xrdq3.c,1,xrdq4.c)) DOES NOT WORK field Owner PIH: pref(shrinst.s,adv(1,63)) field payout EPS: pref(epsdc12mq1d.s,epscon12mq1d.s,epsfx12mq1d.c) field payout Payout: pref(ratio(dps12mq1d.s,epsdc12mq1d.s),ratio(dps12mq1d.s,epscon12mq1d.s),ratio(dvpsp12mq1d.c,epsfx12mq1d.c)) step payout EPS > 0 field Pct pctMktCap: pcntla(MktCap,1,step6) field Pct pctMktCap: rank(MktCap,IndGroup,step6) field Pct ToastInd: tpcut(Toast,IndGroup,step5,50) field Ratio Assets: pref(assetsq1.s,atq1.c) field Ratio AssetTO: pref(ratio(sales12mq1d.s,assetsq1.s),ratio(sale12mq1d.c,atq1.c)) field Ratio OperMargin: pref(ratio(gopinc12m.s,sales12m.s),ratio(product(cshprq1d.c,oeps12q1.c),sale12mq1d.c)) field Ratio ROA: pref(ratio(netinc12mq1d.s,assetsq1.s),ratio(ni12mq1d.c,atq1.c)) field rgeary Q1End: pref(if(salesq1.s=null,0,perendq1.s),if(saleq1.c=null,0,ordq1.c)) step rgeary linear(1,Q1End,-252,1,1,dsio(1),-1,ord(1)) >= 0 step rgeary minus(ord(1),Q1End) <= 252 step rgeary Q1End > 0 step rgeary styp.a != 14!15!16!17!23!44!45!73!74!75 field ROE Equity: pref(equityq1.s,ceqq1.c) field ROE NetInc: pref(netinc12mq1d.s,ni12mq1d.c) field ROE ROE: if(Equity>0,ratio(NetInc,Equity),NetInc) step ROE Equity > 0 field SGPS SalesGrowth1: ratio(SalesY1,SalesY2) field SGPS SalesGrowth5: ratio(SalesY1,SalesY6) field SGPS SalesPerShareGrowth1: ratio(SalesGrowth1,SharesGrowth1) field SGPS SalesPerShareGrowth5: ratio(SalesGrowth5,SharesGrowth5) field SGPS SalesY1: pref(salesy1.s,sale12mq1d.c) field SGPS SalesY2: pref(salesy2.s,sale12mq5d.c) field SGPS SalesY6: pref(salesy6.s,sale12mq21d.c) field SGPS SharesGrowth1: ratio(SharesY1,SharesY2) field SGPS SharesGrowth5: ratio(SharesY1,SharesY6) field SGPS SharesY1: pref(shray1.s,cshoq1d.c) field SGPS SharesY2: pref(shray2.s,cshoq5d.c) field SGPS SharesY6: pref(shray6.s,cshoq21d.c) step SGPS SalesPerShareGrowth1 > 1.05 step SGPS SalesPerShareGrowth5 > 1.25 step SGPS SalesY1 > 0 step SGPS SalesY2 > 0 step SGPS SalesY6 > 0 step SGPS SharesY1 > 0 step SGPS SharesY2 > 0 step SGPS SharesY6 > 0 universe VL http://gtr1.net/2013/?~VL:f0.4::styp.a:et0!10!11!12!18!30!31... field volume VolRat: ratio(agv(1,10),agv(1,63)) field volume VolRat: ratio(agv(1,10),agv(1,63)) field volume Voom: product(VolRat,trp(1,126)) field volume Voomd: ratio(Voom,adv(1,63)) field volume Voomp: ratio(Voom,aprc)) field volume Vorp: ratio(VolRat,aprc) field volume Vvvvv: product(VolRat,trp(1,20)) field Yield BP: pref(ratio(equityq1.s,product(sprc,shraq1.s)),ratio(ceqq1.c,product(cshprq1d.c,cprc))) field Yield CFP: pref(ratio(cfps12mq1d.s,sprc),ratio(cfps12mq1d.c,cprc)) field Yield COP: pref(ratio(tco12mq1d.s,product(sprc,csoq1d.s)),ratio(tco12mq1d.c,product(cprc,cshoq1d.c))) field Yield Div: pref(dpsind.s,cdv.a) field Yield EY: pref(ratio(epsdc12mq1d.s,sprc),ratio(epscon12mq1d.s,sprc),ratio(epsfx12mq1d.c,cprc)) field Yield EY2: pref(ratio(epsdc12mq5d.s,sprc),ratio(epscon12mq5d.s,sprc),ratio(epsfx12mq5d.c,cprc)) field Yield EY3: pref(ratio(epsdc12mq9d.s,sprc),ratio(epscon12mq9d.s,sprc),ratio(epsfx12mq9d.c,cprc)) field Yield EY3y: linear(0.34,EY,0.33,EY2,0.33,EY3) field Yield EYEG: if(EG>0,product(EY,EG5ls),-999999) field Yield FCFP: pref(ratio(fcfps12mq1d.s,sprc),ratio(fcfps12mq1d.c,cprc)) field Yield OperYield: pref(ratio(gopinc12m.s,product(sprc,csoq1d.s)),ratio(oeps12q1.c,cprc)) field Yield SP: pref(ratio(sales12mq1d.s,product(shraq1.s,sprc)),ratio(sale12mq1d.c,product(cshprq1d.c,cprc))) field Yield TotalDiv: pref(product(dpsind.s,csoq1d.s),product(cdv.a,cso.a)) field Yield Yield: max(0,pref(ratio(dpsind.s,sprc),ratio(cdv.a,aprc))) step Yield CurrentEY: pref(ratio(cepsd.s,sprc),ratio(epsfx12mq1d.c,cprc)) |