XS進階應用-財報公布日期的取用說明

By | 2023-08-21

如果我們想取得財報資料在XQ裡更新的日期(財報公告日),並將這個資訊運用於衍生交易策略。,譬如:
讓系統自動抓取最新財報公告日期,自動判斷是否有驚人財報、自動判斷盤中是否有量能與漲勢,並進場交易。
這時候就可以取用XQ財報更新日期來運用,並且採用CurrentDate的語法進行進階應用。

過去,當語法中使用CurrentDate時,它代表的是電腦當日的日期。然而,在XQ支援回測功能的情況下,CurrentDate的意義已經改變。讓我們一同看看具體說明:https://reurl.cc/b9QNnl

語法:
回傳腳本的執行日期(歷史區間為當時;即時區間為當日)
回傳日期 = CurrentDate
日期格式是一個8碼的數字, 例如如果是2015年6月1日, 則回傳20150601
說明:
歷史區間為當時的意思是,例如回溯、回測與策略部位計算功能,都是腳本執行在歷史的時間範圍中,這時的CurrentDate就會是歷史當天,而非今天。

即時區間為當日的意思是,腳本執行在當下,因此CurrentDate就會是今天。

回傳的日期格式是一個8碼的數字 YYYYMMDD:

YYYY: 執行的年度,例如2015,4碼,
MM: 執行的月份,數值範圍從01到12,2碼,
DD: 執行的日期,數值範圍從01到31,2碼
舉例而言,如果執行日期是2015年6月1日,則CurrentDate回傳 20150601。

小編在這邊分享一個應用範例,如下:

SetBarFreq("d"); //僅限日頻率
input:days(1,"幾日內更新");
var:i(0);
settotalBar(days+1);

value1 = GetFieldDate("營業毛利率","q");
if value1 = 0 then return; //過濾沒資料或資料尚未轉檔完畢

for i = days downTo 1
begin
if value1<>value1[i] then begin
ret = 1;
value2 = i-1;
value3 = GetField("Date","D")[i-1];
end;
end;

outputField1(value2,"幾日前更新");
outputField2(value3,"毛利率更新日");
outputField3(month(value1),"毛利率期別");

選股結果就可以看到,欄位中財報更新日的呈現。

 

以上分享希望對各位有幫助。

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【量化積木+台股進階】(總價值$800) ➤https://utm.to/528tz9

● 首次訂閱享7天鑑賞期,首次購買輸入官方優惠碼「@XQ8899」,首月可折抵模組費用$100!