Hi Asuka,
Q:但是最近跑的時候發現她的 output 數字對不起來
A:猜想您的選股策略的執行頻率是「日」再用指定頻率去取得週資料的投信買賣超資訊,
若是的話,請使用以下範例語法或範例選股策略匯出檔案取前期值,這樣數值就會符合您的期望。
ret = 1;
OutputField(1, GetField("投信買賣超","W"), 2, "投信B");
OutputField(2, GetField("投信買賣超","W")[1], 2, "投信投信Bwk-1");
OutputField(3, GetField("投信買賣超","W")[2], 2, "投信Bwk-2");
OutputField(4, GetField("投信買賣超","W")[3], 2, "投信Bwk-3");
在跨頻率時,也就是執行頻率日,指定週取前期值,
若用變數的方式去存取,並且運用變數的時間序列數值,欲取得前期值,
這樣子的表述方式實際上只是在日資料推移 value[0] 這個數值而已,
所以執行頻率為日,指定取得前N週的週資料,需要使用上述範例語法,或者範例選股策略匯出檔案來取得,
當然,如果仍想要在執行頻率為日,使用變數來存取週資料的數值,
就必須使用 xf_GetValue 的函數語法來做到,例如以下範例語法或者範例選股策略匯出檔案,以上說明,謝謝。
Value1 = GetField("投信買賣超","W");
value2 = xf_GetValue("W",Value1,1);
value3 = xf_GetValue("W",Value1,2);
value4 = xf_GetValue("W",Value1,3);
ret = 1;
OutputField(1, Value1, 2, "投信B");
OutputField(2, value2, 2, "投信投信Bwk-1");
OutputField(3, value3, 2, "投信Bwk-2");
OutputField(4, value4, 2, "投信Bwk-3");
1 評論