想寫一個過去N年,有N年,大於去年的腳本 但是卡關了 想請教看看是還有哪邊有不足要補充的?

  •   53 
  • 最後發表   love07050618  2022 八月 29
love07050618 發文於   2022/08/22

想寫一個過去N天,有N天,股東權益報酬率大於去年的腳本 但是卡關了 想請教看看是還有哪邊有不足要補充的? 可以的話幫我修正補充完整更好 因為我對這個理解能力很笨拙 謝謝!

input:days(5,"計算天期");

 

input:occurrence(3, "發生次數");

 

value1=GetField("股東權益報酬率","Y");

 

condition1=("股東權益報酬率","Y"[1]-"股東權益報酬率","Y")/"股東權益報酬率","Y"[1]

 

value2=countif(condition1,days);

 

if value2>=occurrence then ret=1;

XQ小幫手 發文於   2022/08/29

Hello love07050618,

 

condition1 需要給布林值,但您 ("股東權益報酬率","Y"[1]-"股東權益報酬率","Y")/"股東權益報酬率","Y"[1] 只是計算變動而已。

如果只是要大於上一期的話,只要這樣寫就可以,不需要計算變動:

condition1 = GetField("股東權益報酬率","Y") > GetField("股東權益報酬率","Y")[1];

如果要過去N年都有大於前一年的話,可以這樣寫:

trueall(GetField("股東權益報酬率","Y") > GetField("股東權益報酬率","Y")[1], N)

這樣就會是過去N年都要符合條件才會是True。

如果要的是N年內有Y年符合條件的話:

countif(GetField("股東權益報酬率","Y") > GetField("股東權益報酬率","Y")[1], N) >= Y

小幫手建議您可以先看看教學區文章,裡面有XS語法的基礎和應用。

發表回覆
Close