请教:ROE大于去年同期 and ROE>10%买入,
ROE<=去年同期 or roe<-10%卖出 怎么编程测试10年-20年的。主要是要求不能错误地取到未来的财务数据。
M:IF(MONTH>=10,4,IF(MONTH>=7,3,IF(MONTH>=4,2,1)));//因为可能有季报延迟出来的情况,所以需要判断下当前是第几季度。避免混淆。
ROE1:FININDICATOR('' ,'ROE' ,0 ,0);//当前最近一期的季报ROE;如果出现季报延迟情况 这个可能会取到的不是上期数据,而是上上一期的数据了。
ROE2:FININDICATOR('' ,'ROE' ,M-1 ,0);//按照季度判断 所获取的最近一期的季报。
//如果ROE1 等于ROE2 说明季报是正常出的。没有延迟情况。如果有 则直接过滤掉。
ROE3:FININDICATOR('' ,'ROE' ,M-1 ,4);//去年同期的季报ROE
bycd:ROE1=ROE2 and ROE1>=10 AND ROE1>ROE3;//买入条件
sycd:ROE1=ROE2 and ( ROE1<=-10 or ROE1<=ROE3);//卖出条件
上面这些代码是需要你本地下载好财务数据才行的。这个在数据下载里面操作下就行了。
然后就是你这个如果要回测的话,就只能用后台程序化了。后台程序化的精细化回测。否则条件选股功能是不能回测的。你先校验下上面代码逻辑是否符合你需求吧。后面的一步步来。反正这部分已经实现了基本判断逻辑了。