+
回溯測試一個簡單的股票交易策略 (本文首次發表於現代模具製造,慈祥促成了R-博客) 注:這篇文章是不是金融諮詢! 這僅僅是一個有趣的方式來探索一些R的導入和處理數據的能力。 最近,我讀ETF先知一個職位,探索在Excel中一個有趣的股票交易策略。 該戰略很簡單:找高點的股票在過去的200天,和計數,因為高後經過的天數。 如果它被越來越不到100天,持有該股。 如果它已經100多天,不擁有它。 這個策略很簡單,但它產生了一些令人印象深刻的結果。 (注意,然而,這個例子是使用數據尚未調整從裂口或股息和可能含有其他錯誤。此外,被忽略的交易成本和執行延遲,兩者都影響戰略性能。) 實施這一戰略中R為簡單,和過的excel,初級其中是拉動股票市場數據轉換成R是容易提供許多優點,並且我們可以在廣泛範圍的索引相對小的努力測試這種策略。 首先,我們使用quantmod下載數據,全球植物保護戰略。 (GSPC代表的SP 500指數)。 接下來,我們構造了一個函數來計算的天數,因為正日高在時間序列和功能來實現我們的交易策略。 後者的功能有兩個參數:你希望使用的正天高,天過去那種高你持有的股票的數量。 這個例子是200和100,但你可以很容易地這個更改為500日高點,看看會發生什麼,如果你想逃出去之前持有的股票300天過去那種。 由於該功能參數,我們可以很容易地測試許多其他版本的我們的戰略。 我們墊我們的策略用零的開頭因此這將是相同長度的我們的輸入數據。 (如果您想為daysSinceHigh功能的更詳細的解釋,請參閱交叉驗證的討論)。 我們增加我們的位置(0,1)矢量從指數的回報,讓我們的strategys回報。 現在,我們構造了一個函數返回有關交易策略的一些統計數據,以及我們的策略比較基準。 有些武斷,我已經決定看看累計收益,平均年收益率,夏普比率,勝率%,年平均波動率,最大降深和最大長度縮編。 其他屬性很容易實現。