XS腳本如何取得累計季稅後淨利率?

  •   306 
  • 最後發表   交易人  2021 一月 25
交易人 發文於   2021/01/25

請教小幫手

XS選股語法如何取得累計季稅後淨利率數據? 如圖所示,我查過help沒有此欄位

我是寫日頻率腳本的選股

如果要自己算出來,必須將當年度每個單季的數據加起來

但因為是日頻率的關係,無法取得每個單季的數據

或是有沒有方法可以日頻率、季頻率各寫一個選股腳本,兩個不同頻率的腳本數據可以互相傳值?

謝謝

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/01/25

交易人 您好

1.目前並沒有提供累計的資料欄位 

這可能需要請您自行計算

2.您只要使用跨頻率語法就可以取得不同季的資料了

像是以台積電為例

GetField("稅後淨利率","Q") 為 Q3

GetField("稅後淨利率","Q")[1]為Q2

XQ小幫手 發文於   2021/01/25

其實如果您想算累計的稅後淨利的話,可以用時間去做判斷看看

像是正常財報都是3 6 9 12月公布 

去抓前4期的資料 如果都是當年度的話 那就把它合併計算

可以使用到 getfielddate 語法

https://xshelp.xq.com.tw/XSHelp/?HelpName=GetFieldDate&group=FIELDFUNC

 

交易人 發文於   2021/01/25

謝謝,我的腳本頻率是日,所以這方法沒用

交易人 發文於   2021/01/25

謝謝,我的腳本頻率是日,我剛測試看看你說的寫法

但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");

交易人 發文於   2021/01/25

我比較建議XQ能有累計季的財報相關欄位可用

自己寫真的很不好寫

XQ小幫手 發文於   2021/01/25

交易人 您好

如果您的getfield 有指定頻率的話

那是可以取得值的,不論您原本的腳本是什麼頻率

我上面的意思是像是以下範例

ret=1;

value1=year(GetFieldDate("本期稅後淨利","Q"));
if value1=2020 then 
value99= GetField("本期稅後淨利","Q");
outputfield1(value1);
outputfield2(value99);

我用year 去判斷該稅後淨利是否為我要的年度的值

ex 目前2021未有數據,最新的就2020的話

那我們可以讓程式自行判斷取得的稅後淨利是否為該年度的

 

發表回覆
Close