GetFieldDate -  (內建函數) 欄位函數
語法:
讀取系統內的欄位的資料日期
欄位資料日期 = GetFieldDate(欄位名稱)
欄位資料日期 = GetFieldDate(欄位名稱, 頻率)
傳入欄位名稱,跟指定的欄位頻率。如果不傳頻率的話,則使用目前執行頻率。回傳欄位的資料日期,格式為YYYYMMDD 8碼數字。
說明:

在腳本內可以使用GetField函數來取得各種不同的欄位資料,而欄位資料的期別則會依照腳本的對位邏輯來決定。

如果使用者希望知道實際的欄位資料日期的話,則可以使用GetFieldDate這個函數。

GetFieldDate函數傳入的參數與GetField是一樣的,需要傳入欄位名稱,以及指定的期別。與GetField不同的是,GetField回傳的是這個欄位的數值,而GetFieldDate回傳的則是這個欄位的資料日期。

由於營收/財報等資料的公佈日期往往落後於目前的日期,所以如果在運算時需要清楚的知道資料的日期的話,則可以使用GetFieldDate這個函數。

在以下的選股腳本內,我們使用GetFieldDate來判斷最新一期月營收的日期,然後利用這個日期來估計最新一季的獲利:

Var: mm(0);

mm = Month(GetFieldDate("月營收","M"));
if mm=1 or mm=4 or mm=7 or mm=10
then value1=GetField("月營收","M") * 3;

if mm=2 or mm=5 or mm=8 or mm=11
then value1=GetField("月營收","M") * 2 + GetField("月營收","M")[1];

if mm=3 or mm=6 or mm=9 or mm=12
then value1=GetField("月營收","M")+GetField("月營收","M")[1]+GetField("月營收","M")[2];

// 預估獲利(單位=百萬) = 季營收 * 毛利率 - 營業費用
//
value2 = value1 * GetField("營業毛利率","Q") - GetField("營業費用","Q");

OutputField1(value1, "預估單季營收(億)");
OutputField2(value2 / 100, "預估單季本業獲利(億)");

ret = 1;

當最新一期的月營收的月份是1月/4月/7月/10月時, 我們估算當季的營收為最新這個月的營收 3,如果最新一期的月營收的月份是2月/5月/8月/11月時,因為當季的營收已經公佈了兩個月了,所以我們用當季的第一次營收 ( GetField("月營收", "M")[1] ) 來加上最新這個月的營收 2來當成這一季的估季營收,如果最新一期的月營收的月份是3月/6月/9月/12月的話,則因為當季所有月份的營收都已經公佈了,所以我們就把近三期的月營收加起來。

計算完當季的估計營收之後,接下來就可以使用最新一期的毛利率等資料來估算獲利了。

在上面範例內估算營收的邏輯只是一個範例,如果知道了月份之後,也可以利用月營收年成長率來等資料來做其他的推算。