奇狐社區論壇
在這個頁面顯示本主題全部的 5 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [問題]月營收YOY選股排除未公布的公司 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=23547)


由 sharkpops 在 2023-01-04 20:37 發表:

[問題]月營收YOY選股排除未公布的公司

您好,用SEQDATA('',DbTable,'LastYearComp');選YOY大於一定百分比的公司,但目前跑出來的,如果尚未公布最新月份的營收,會直接以前一個月已經公布營收為基準∼如果以營收YOY作為選股條件,並排除當月尚未公布之公司的程式要如何撰寫呢?謝謝。


由 cgjj 在 2023-01-04 21:45 發表:

回覆: [問題]月營收YOY選股排除未公布的公司

引用:
最初由 sharkpops 發表
您好,用SEQDATA('',DbTable,'LastYearComp');選YOY大於一定百分比的公司,但目前跑出來的,如果尚未公布最新月份的營收,會直接以前一個月已經公布營收為基準∼如果以營收YOY作為選股條件,並排除當月尚未公布之公司的程式要如何撰寫呢?謝謝。


您可以利用下面其中一個例子,取得月營收資料日期做判斷應用

SEQDATA('','Monrev','Date');
取得當前股票月營收資料日期(序列)

SEQDATA('','MonRev','Date','Last');
取得當前股票月營收最新資料日期(非序列)


由 sharkpops 在 2023-01-05 09:04 發表:

您好
應該是說,我如何用選股條件去撰寫程式?
目前寫法:
DbTable:='MONREV'; //資料表
單月年增率:=SEQDATA('',DbTable,'LastYearComp');
單月年增率>X
X設為參數,但目前這樣跑會有11月的資料跑出來。
如果我改成
單月年增率:=SEQDATA('',DbTable,'LastYearComp','Date');
單月年增率>X
and
Date=202212
Date為參數,這樣就一筆資料都跑不出來,再請協助指導程式,謝謝。


由 cgjj 在 2023-01-05 09:14 發表:

引用:
最初由 sharkpops 發表
您好
應該是說,我如何用選股條件去撰寫程式?
目前寫法:
DbTable:='MONREV'; //資料表
單月年增率:=SEQDATA('',DbTable,'LastYearComp');
單月年增率>X
X設為參數,但目前這樣跑會有11月的資料跑出來。
如果我改成
單月年增率:=SEQDATA('',DbTable,'LastYearComp','Date');
單月年增率>X
and
Date=202212
Date為參數,這樣就一筆資料都跑不出來,再請協助指導程式,謝謝。



範例如下:

YYYYMM:=202212; //可換用參數取代
DbTable:='MONREV'; //資料表
單月年增率:=SEQDATA('',DbTable,'LastYearComp');
資料年月:=floor(SEQDATA('',DbTable,'Date')/100)+190000;
選中:單月年增率>X and 資料年月=YYYYMM


由 cgjj 在 2023-01-05 09:29 發表:

這樣寫執行速度可以更快(不用算前面的歷史)

YYYYMM:=202212; //可換用參數取代
DbTable:='MONREV'; //資料表
最新單月年增率:=SEQDATA('',DbTable,'LastYearComp','Last');
最新資料年月:=floor(SEQDATA('',DbTable,'Date','Last')/100)+190000;
選中:最新單月年增率>X and 最新資料年月=YYYYMM


全部時間均為台灣時間, 現在時間為21:13
在這個頁面顯示本主題全部的 5 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.