跨品種套利測試關于數據的問題
作者:開拓者 TB 來源:cxh99.com 發布時間:2013年10月15日
- 咨詢內容:
如做豆粕豆油指數套利測試,豆油2000年就有數據,豆粕2006年才有數據,其他品種類似,我想找一個方法能夠發現必須2個(或多個)品種均有數據,才開始計算價差,然后發信號。而不是每次都是手工設置起始時間,手動去改,太不智能了。如果不改,TB會把之前沒數據的那段單邊也會產生信號進行測試,結果又不對。
翻遍F1里關于Date的函數,嘗試了用Data0.Close[1]!=InvalidNumeric,用data0.HistoryDataExist()這兩個方法,但嘗試均均無效,超級圖表左上角明確顯示豆油沒數據,但是用這兩個函數均是ture,無數據的時候open居然都能取到,就是有數據第一天的open。又嘗試用data0.Date!=data1.Date,發現又無效,雖然無數據的品種open是有數據第一天的open,但是date又是無數據當天的date,凌亂了。不明白TB套利這塊是如何設計的,是否留有一個方法能夠通過代碼自動判斷數據的日期是否對上。
If(Data0.Close[1]!=InvalidNumeric&&Data1.Close[1]!=InvalidNumeric)
{
Spread=Data0.Open*lots0/(Data1.Open*lots1)*100; // 定義價差
}
else
{
return;
}
- TB技術人員:
關注一下。