連8季營益率大於0竟然沒有台積電 ?

  •   58 
  • 最後發表   risk  2 週前
risk 發文於   2025/11/18

XS小編你好~

小弟用XS篩選財務面符合條件的公司,發現2330應該符合但卻跑不出來,遂另外寫一個簡單的篩選條件(連8季營益率大於0)結果一樣沒有2330,請協助查看是哪個環節有問題 ? 謝謝

input:m(8,"近幾季");
if trueAll(getField("營業利益率", "Q") > 0,m)
then ret=1;

outputField1(getField("營業利益率", "Q"),2,"0期");
outputField2(getField("營業利益率", "Q")[1],2,"1期");
outputField3(getField("營業利益率", "Q")[2],2,"2期");
outputField4(getField("營業利益率", "Q")[3],2,"3期");
outputField5(getField("營業利益率", "Q")[4],2,"4期");
outputField6(getField("營業利益率", "Q")[5],2,"5期");
outputField7(getField("營業利益率", "Q")[6],2,"6期");
outputField8(getField("營業利益率", "Q")[7],2,"7期");
outputField11(average(getField("營業利益率", "Q"),m),2,"平均營益率");
outputField12(highest(getField("營業利益率", "Q"),m),2,"最高營益率");
outputField13(lowest(getField("營業利益率", "Q"),m),2,"最低營益率");
outputField17(getFieldPublishDate("營業利益率", "Q"),0,"最新季度");

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/11/18

當季的財報資料getField("營業利益率", "Q")未知,所以系統傳回0。請改成:

input:m(8,"近幾季");
if trueAll(getField("營業利益率", "Q")[1] > 0,m)
then ret=1;

risk 發文於   2025/11/19

謝謝許教授~

                    所以是XS尚未更新2330的最新數據造成 ?

虎科大許教授 發文於   2025/11/19

這個應該與資料對位有關。當季的財報要到下季才公佈,所以最新資料要對位到上一季,選股腳本則對位到財報公佈日。你再測試你的程式,不加[1],目前應該能選出台積電。

XS小編 發文於   2025/11/21

Hello risk,

 

經相關人員確認,此問題應該為伺服器運作異常,目前已經可以正常運作。

選股欄位的對位方式和資料欄位不太相同,如果當期資料尚未公佈的話,getField("營業利益率", "Q")[0] 會取得上期的財報。

因為財報相關欄位各家公司公布的時間不一定相同。

另外,highest / lowest 函數在跨頻率運作時可能會出錯,所以除非您使用季頻率,不然小編會建議您改為 simplehighest / simplelowest。

risk 發文於   2025/11/23

謝謝XS小編的解惑與函數使用的建議

發表回覆
Close