腳本寫法問題 if用法

  •   42 
  • 最後發表   sunbeba  6 天前
sunbeba 發文於   2024/09/29

您好,參考發財橘子分享的用月營收估算EPS與本益比

https://www.xq.com.tw/xstrader/%E9%82%A3%E4%BA%9B%E5%B9%B4%E6%88%91%E5%AD%B8%E5%88%B0%E7%9A%84%E6%8A%95%E8%B3%87%E8%A7%80%E5%BF%B5%E4%B9%8B%E4%B8%80%EF%BC%9A%E5%89%B5%E9%80%A0%E8%B3%87%E8%A8%8A%E5%84%AA%E5%8B%A2/

想直接將營業利益率為負的過濾掉,所以在腳本第二行後加上if  value2 > 0 then

其他的腳本內容不變,但最後腳本執行起來,不僅沒有過濾掉營業利益率為負的,反而還多出幾個原本沒有的個股

想請問是什麼原因? 謝謝

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/09/30

要看看你那個if加在哪裡,才知道問題所在。

sunbeba 發文於   2024/09/30

許教授您好, 補上if加的位置如下

虎科大許教授 發文於   2024/09/30

 

我測試了一下,若加value2>0,總共選出36檔,排除了2905三商這檔股票。該檔股票營業利益率及月營收都是負值,負負得正,在沒有用value2>0控制,會被選出來,所以加value2>0是對的。其他商品則看不出有什麼問題。

  • 按讚來自於
  • uno101157
sunbeba 發文於   2024/10/01

發現是資料讀取筆數的關係,如果用預設的10筆,那結果會和教授測試的一樣; 但如果將資料讀取筆數改為200筆的話,就會出現一開始提的問題,所以還是不確定問題點在哪邊

虎科大許教授 發文於   2024/10/02

以5201凱衛為例:

狀況1:只預設10筆資料,它最近10筆的value2都是-8.09,加value2>0,它當然不會被選出來。不加value2>0,value3為負值,預估的EPS也會是負值,這不符合EPS介於0到6的條件,也不會被選出來。

狀況2:預設讀取200筆資料,不加value2>0,每天都計算value3,最後value3為負值,EPS也是負值,所以不會被選出來。若加value2>0,則在今年3月8日,它的value3是1.540226,到了今年3月14日,它的value2開始變為負值,但由於限制value2>0才會計算value3,因此爾後都不會計算value3,所以value3一直是3月13日遺留下來的1.540226。用這個數值算出來的EPS是5.021177,也符合EPS介於0到6的選股條件,所以會被選出來。

  • 按讚來自於
  • uno101157
發表回覆
Close