小編你好
我用還原日頻率回測台股的策略
我在進場條件加入了condition1 = GetField("月營收年增率", "M") > 10;
結果回測會發生 "無指定欄位權限" 的錯誤
請問我該怎麼寫才可以把月營收YOY加入選股策略去回測呢?
謝謝
小編你好
我用還原日頻率回測台股的策略
我在進場條件加入了condition1 = GetField("月營收年增率", "M") > 10;
結果回測會發生 "無指定欄位權限" 的錯誤
請問我該怎麼寫才可以把月營收YOY加入選股策略去回測呢?
謝謝
你可能是使用免費版本,有受到限制。需要訂購模組才可使用。
我有購買盤中量化交易模組
若你的腳本是選股腳本,沒有購買盤後量化選股模組,一樣有權限的問題。
Hi,
我又遇到一個相關的問題
我有一個警示腳本 這一年多我每天都會執行回測 跟盤中雷達的訊號作比對確認
今天執行回測卻有一半的股票出現"不合法的欄位資料" 錯誤
我後來debug發現是GetField("月營收", "M") > 0 這個條件造成的
這一年多就只有今天回測會出錯 是雲端回測那邊出了什麼問題嗎?
小編可以試試看這個簡單的警示腳本
condition1 = GetField("月營收", "M") > 0;
ret = condition1;
回測台股普通股全部 就可以複製出問題了
從今天開始出錯的, 昨天晚上回測都還正常
condition1 = GetField("月營收", "M", Default:=0) > 0;
Hi all,
condition1 = GetField("月營收", "M", Default:=0) > 0;
上面這行似乎沒辦法編譯過 會有以下錯誤
在 ":=" 之前可能少了')'。
函數 GetField:第 3 個參數不能是 Numeric。
">" 左右兩邊的型態不同。
"=" 左右兩邊的型態不同。
另外想請問如何在警示腳本寫出回測當天"最新"月營收YOY > 0% 的判斷式?
既然"月營收年增率"是選股欄位, 那我只好使用資料欄位的"月營收" 去計算
假設回測的股票是9月5號發布8月的月營收, 那我的需求是回測9月1號到9月4號時
使用七月月營收去計算YOY, 而9月5號後 使用最新8月月營收去計算YOY
以下是我的寫法
if GetField("月營收", "M")[12] <> 0 then
condition1 = GetField("月營收", "M") / GetField("月營收", "M")[12] > 1;
不知道是否正確? 我自己之前回測起來 雖然看起來是正確的,
但是我擔心GetField("月營收", "M") 實際上並不是抓到最新的YOY
或是有些情況這個判斷式會有預期外的錯誤
另外如我前面所述, 從昨天開始回測只要用到GetField("月營收", "M") 去回測
就會有一半的股票出現異常
(1)我測試以下的警示腳本,並沒有問題。
condition1 = GetField("月營收", "M", Default:=0) > 0;
ret=condition1;
(2)你不需要特別判斷月營收是否更新。若9/5才更新,GetField("月營收", "M", Default:=0)就會抓到8月份營收。9/1-9/4會抓到7月份營收。若要判斷新的月營收已更新,可以用GetField("月營收", "M", Default:=0)<>GetField("月營收", "M", Default:=0)[1]判斷。
(3)以下比較月營收YOY,是OK的。
condition1 = GetField("月營收", "M") / GetField("月營收", "M")[12] > 1;
我後來把XQ版本更新到最新以後
就可以編譯使用 Default:=0 參數了
回測起來問題也解決了
謝謝許教授的解惑!
Hello Hiyang,
小編補充,您可以使用 GetFieldDate 來判斷資料是否更新。
若尚未更新的話 GetFieldDate 會回傳0。
Default 參數會讓當然為不存在或是尚未更新的時候,回傳所設定的值。
10 評論