選股跨頻率

  •   545 
  • 最後發表   Simons  2016 十月 12
Simons 發文於   2016/10/10

我想要抓過去五年的EPS 以及 過去四季稅後淨利的平均

 

//EPS

array: EPS_array[10](0);

variable: i(0);

 

value4 = GetField("每股稅後淨利(元)","Y");

 

for i = 1 to 5

begin

EPS_array[i] = value4[i-1];

end;

 

//Average Net Profit Margin

variable: NPM(0);

value1 = GetField("稅後淨利率","Q");

NPM = average(value1, 4)/100;

 

可是我print資料出來看,過去四季平均是對的

但是EPS_array[1]~[4]過去四年的值都是去年的,EPS_array[5]是前年的。

要怎樣設定才對呢?

我對XS處理跨頻率的邏輯很困惑

在選股的時候我可能要抓年、季、月、日的資料,但是可能不只抓一筆,要抓取很多筆歷史資料

但是交叉頻率讀取資料好像會怪怪的,

我沒有要做複雜的分析,只是要針對不同時間頻率抓取歷史資料

在XS上使用上要注意什麼才不會出錯呢?

XQ小幫手 發文於   2016/10/12

Hi Simons:

您試試看以下程式碼範例,跑出來的選股清單欄位數值是不是您要的

抓過去五年的EPS 以及 過去四季稅後淨利的平均

ret = 1;

outputfield1(GetField("每股稅後淨利(元)","Y")[1],"前1年的EPS");
outputfield2(GetField("每股稅後淨利(元)","Y")[2],"前2年的EPS");
outputfield3(GetField("每股稅後淨利(元)","Y")[3],"前3年的EPS");
outputfield4(GetField("每股稅後淨利(元)","Y")[4],"前4年的EPS");
outputfield5(GetField("每股稅後淨利(元)","Y")[5],"前5年的EPS");

outputfield6(GetField("稅後淨利率","Q")[1],"前1季的稅後淨利率");
outputfield7(GetField("稅後淨利率","Q")[2],"前2季的稅後淨利率");
outputfield8(GetField("稅後淨利率","Q")[3],"前3季的稅後淨利率");
outputfield9(GetField("稅後淨利率","Q")[4],"前4季的稅後淨利率");

 

以上報告,謝謝。

 

 

發表回覆
Close