如何生成用於回測的合成外匯數據?
我想生成合成外匯數據來回測我的交易算法。關於如何做到這一點,我有一些粗略的想法:
從代表趨勢的曲線開始,然後根據高斯或其他分佈在曲線周圍隨機生成點。然後獲取生成的點並以某種方式在這些點周圍生成柱數據(開盤價、最高價、最低價、收盤價);或者,添加一個時間因子,然後隨機確定何時發生刻度,然後將數據收集到條形圖中。
我的問題是:這與已建立的合成數據生成方法相去甚遠嗎?我想這引發了一個更基本的問題:是否有任何既定的合成數據生成方法?我似乎找不到任何關於這個主題的文章,無論是部落格文章還是研究論文。
因此,除了在合成數據生成方面對外部資源的請求之外,我想知道哪種分佈最能模擬開盤、高點、低點、收盤之間的關係,或者如何生成滴答之間的適當間隔,詢價和出價等
對於初學者,我什至不確定您為什麼需要問這個問題。從字面上看,外匯提供了多年的免費報價數據,只需查看 quant.SE 的數據維基。
話雖如此,高斯非常不適合高頻數據,尤其是 FX。您模擬數據的策略取決於模擬背後的想法。如果您希望實際估計此數據上的任何參數或測試方法,並且您將根據模擬結果接受或拒絕想法,我敦促您停下來重新考慮。
相反,如果您希望對流程的波動性進行建模並測試您的系統處理數據生成流程參數變化的能力,您應該查閱《高頻金融概論》的第 5 章,尤其是第 122 頁。他們寫:
隨著數據頻率的增加(更小的區間大小),回報的分佈越來越肥尾,因此明顯不穩定……
縮放定律將平均絕對收益和均方收益描述為時間間隔的函式…
有明顯的每日和每週波動集群形式的季節性異變異數性的證據……
一些論文聲稱外匯收益接近帕累托穩定收益,例如(McFarland et al., 1982; Westerfield, 1997);一些不穩定的學生分佈(Rogalski 和 Vinso,1978;Bothe 和 Glassman,1987);一些人拒絕任何單一分佈……大多數研究人員現在同意,對數據生成過程的更好描述是條件異變異數模型的形式,而不是來自無條件分佈。
最後,如果您希望建構 OHLC 數據,最好的辦法是對上面的數據生成過程以及報價頻率過程(也在上述參考資料中討論)進行建模,並從模擬報價數據建構 OHLC 柱。