做精細(xì)化歷史測評時發(fā)現(xiàn)的幾個問題 [金字塔]
-
咨詢內(nèi)容:
我的精細(xì)化歷史測評的幾個參數(shù)設(shè)定:
前高位置:=peakbars(1,8,1);
前高價:=ref(close,前高位置);
QianGaoDate:=ref(date+19000000,前高位置);
精細(xì)化歷史測評時間段:2020年4月15日-10月15日,測試品種247只股,按固定間隔60秒回測
測評結(jié)果看日志發(fā)現(xiàn)有如下幾個問題,前三個和 peakbars相關(guān),第4個是關(guān)于回測時的買入邏輯 : 1、剛開始產(chǎn)生符合判斷條件的交易的第一天內(nèi)發(fā)生peakbars取到的peakbars有問題, 案例:柏楚電子,6月30日判斷突破前高,但前高價 的賦值是 -1.#QO -1.#R%, QianGaoDate的值是-1,不知道系統(tǒng)是取到哪天的值作為前高了,截圖如下:
此主題相關(guān)圖片如下:wx20201024-233032@2x.png
2、取到了前高的值,但基于前高日期查到的前高價和實(shí)際當(dāng)日的收盤價不一致。案例:天邑股份,6月30日突破5月21日的前高,前高價為27.067。但5月21日實(shí)際的收盤價是27.28。截圖如下:
此主題相關(guān)圖片如下:wx20201024-233402@2x.png
3、如果將 QianGaoDate命名為中文“前高日期”, 前高日期 :=ref(date+19000000,前高位置); msgout(1,numtostr( 前高日期,0) 會導(dǎo)致無法輸出,經(jīng)過幾次驗(yàn)證發(fā)現(xiàn),如果將中文的“ 前高日期 ”改為字母類型的名稱,比如 QianGaoDate,就不會出問題
4、做精細(xì)化歷史測評前我已經(jīng)補(bǔ)充了日線、1分鐘線、5分鐘線等主要數(shù)據(jù),買入條件是一旦突破前高,則以前高價、5日均線價格掛單買入。根據(jù)回測明細(xì)發(fā)現(xiàn),以 天邑股份為例,6月30日 當(dāng)股價突破前高價時,當(dāng)前價格已經(jīng)高于5日均線26.482且之后也一直沒有回踩5日均線位置,但由于當(dāng)日開盤時曾經(jīng)跌破過5日均線,所以回測結(jié)果顯示5日均線價26.482的掛單也成交了。這在現(xiàn)實(shí)情況下是不可能發(fā)生的。按說我已經(jīng)補(bǔ)充了1分鐘和5分鐘的數(shù)據(jù),即便不依靠分筆數(shù)據(jù),系統(tǒng)也應(yīng)該可以判斷出不可能在5日均線價成交才對。天邑股份6月30日的分時圖截圖如下:
此主題相關(guān)圖片如下:圖片15a.png
?
?來源: www.kzuj.com.cn
-
金字塔客服:
完全的文字描述我們是無法幫助到你的,請將可以呈現(xiàn)問題的公式代碼一并貼出,并最好詳細(xì)闡述使用過程。部分的價格不同,建議看一下是否是復(fù)權(quán)問題產(chǎn)生的
?
-
用戶回復(fù):
經(jīng)過我排查發(fā)現(xiàn)出現(xiàn)前高價
的賦值=
-1.#QO -1.#R%這種詭異情況的原因是由于在我設(shè)定的回測時間段內(nèi)的當(dāng)前時間往前到回測起始時間peakbars(1,8,1)沒有找到符合條件的峰值。
例如以
柏楚電子為例
,我設(shè)定的精細(xì)化歷史評測時間段是2020年4月15日至2020年10月25日,當(dāng)前時間在2020年6月30日
在6月30日檢查peakbars(1,8,1), 由于在4月15日至6月30日這段時間內(nèi)沒有找到符合8%條件的峰值,導(dǎo)致peakbars(1,8,1)輸出了
-1.#QO -1.#R%,繼而導(dǎo)致我引用
ref(close,
peakbars(1,8,1)
)輸出了
-1.#QO -1.#R%
程序的這種邏輯我認(rèn)為是有漏洞的,雖然我指定了回測時間段是2020年4月30日開始,但是在計算peakbars指標(biāo)時, 只要我本地下載的歷史數(shù)據(jù)足夠, 應(yīng)該以當(dāng)前時間往前找出符合條件的峰值位置,哪怕這個峰值位置是在4月30日之前。否則就會導(dǎo)致發(fā)生這樣的錯誤 [此貼子已經(jīng)被作者于2020/10/29 12:11:38編輯過]?
-
網(wǎng)友回復(fù):
回測是按時間段去判斷的,在這個時間段之前就算有數(shù)據(jù)也不會去參與計算,所以?peakbars 返回的就是一個空值
?
- 網(wǎng)友回復(fù): 這樣的規(guī)則設(shè)定不符合實(shí)際情況啊,我設(shè)置從4月15號開始回測,意味著從4月15號開始就需要開始尋找買點(diǎn)。而判斷是否4月15號有沒有買點(diǎn),是要基于4月15號之前若干天的歷史數(shù)據(jù)做判斷的。如果僅因?yàn)樵O(shè)置了從4月15號開始回測,就把4月15號之前的指標(biāo)輸出置空,那等于我實(shí)際的有效回測時間就不是從4月15號開始了
有思路,想編寫各種指標(biāo)公式,交易模型,選股公式,還原公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 或微信號:cxh99cxh99 進(jìn)行 有償收費(fèi) 編寫!
(怎么收費(fèi),代編流程等詳情請點(diǎn)擊閱讀!)
(注:由于人數(shù)限制,QQ或微信請選擇方便的一個聯(lián)系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容