請教小幫手
XS選股語法如何取得累計季稅後淨利率數據? 如圖所示,我查過help沒有此欄位
我是寫日頻率腳本的選股
如果要自己算出來,必須將當年度每個單季的數據加起來
但因為是日頻率的關係,無法取得每個單季的數據
或是有沒有方法可以日頻率、季頻率各寫一個選股腳本,兩個不同頻率的腳本數據可以互相傳值?
謝謝

請教小幫手
XS選股語法如何取得累計季稅後淨利率數據? 如圖所示,我查過help沒有此欄位
我是寫日頻率腳本的選股
如果要自己算出來,必須將當年度每個單季的數據加起來
但因為是日頻率的關係,無法取得每個單季的數據
或是有沒有方法可以日頻率、季頻率各寫一個選股腳本,兩個不同頻率的腳本數據可以互相傳值?
謝謝

交易人 您好
1.目前並沒有提供累計的資料欄位
這可能需要請您自行計算
2.您只要使用跨頻率語法就可以取得不同季的資料了
像是以台積電為例
GetField("稅後淨利率","Q") 為 Q3
GetField("稅後淨利率","Q")[1]為Q2

其實如果您想算累計的稅後淨利的話,可以用時間去做判斷看看
像是正常財報都是3 6 9 12月公布
去抓前4期的資料 如果都是當年度的話 那就把它合併計算
可以使用到 getfielddate 語法
https://xshelp.xq.com.tw/XSHelp/?HelpName=GetFieldDate&group=FIELDFUNC
謝謝,我的腳本頻率是日,所以這方法沒用
謝謝,我的腳本頻率是日,我剛測試看看你說的寫法
但print出來都是0,取不到數據,以下是我的測試寫法:
因為稅後淨利率的公式是:(稅後淨利/營收)*100
所以我必須先取得當年度每季的稅後淨利,與當年度每季的季營收,分別算出單季數據去計算
請問在日頻率下,該怎麼寫才能正確取到值? 謝謝
mm=month(getfielddate("本期稅後淨利","Q"));
if mm=3 then value31=getfield("本期稅後淨利","Q");
if mm=6 then value32=getfield("本期稅後淨利","Q");
if mm=9 then value33=getfield("本期稅後淨利","Q");
我比較建議XQ能有累計季的財報相關欄位可用
自己寫真的很不好寫
交易人 您好
如果您的getfield 有指定頻率的話
那是可以取得值的,不論您原本的腳本是什麼頻率
我上面的意思是像是以下範例
ret=1;
value1=year(GetFieldDate("本期稅後淨利","Q"));
if value1=2020 then
value99= GetField("本期稅後淨利","Q");
outputfield1(value1);
outputfield2(value99);
我用year 去判斷該稅後淨利是否為我要的年度的值
ex 目前2021未有數據,最新的就2020的話
那我們可以讓程式自行判斷取得的稅後淨利是否為該年度的

6 評論