Re: [問題] 新手程式交易回測與交易請益
其實我覺得看起來應該還是回測的方法有問題,因為文長所以打一篇回覆
回測的方法有幾種,分成以下
1. 最粗糙的回測方式:
將過去可得的資料全部拿來開發策略,跑策略最佳化
開發完後直接拿最佳化過的測試數據當成策略績效(自爽),然後就直接上線
比方說,拿2008.01.01 ~ 2018.09.30(Today)的資料去開發策略,然後就直接開始使用
這種開發方式,通常真的上線之後都會賠的很慘
原因是在於這樣開發的測略很容易只有針對「過去」行情做最佳化
但卻不知道「未來」與「過去」的數據之間有何關連性,所以才會沒有用
常說的「過去不代表未來」就是在講這件事
2. 稍微進進階的回測方式(比較沒那麼粗糙,但還是滿粗糙的)
將過去的時間區間分成訓練與測試區間
將你的策略在「訓練區間」的數據上做最佳化(開發)
然後用「測試區間」的策略績效當作績效標準(評估)
舉個實例,假如說用2008.01.01 ~ 2017.12.31的資料去開發策略
然後你把開發完的策略套用在2018.01.01 ~ 2018.09.30(Today)當成策略績效
找到一套「策略開發方式」,讓基於2008.01.01 ~ 2017.12.31資料所開發的策略
能夠在2018.01.01 ~ 2018.09.30(Today)有好的績效表現之後
就用同一套開發策略的邏輯,搭配2008.01.01 ~ 2018.09.30(Today)的數據重新開發一次
然後用新的策略上線,祈禱上線之後的績效會跟之前績效有相似表現
我認為方法(2)比方法(1)稍微來的好一些
但是實際上測試得到的績效可能還是會不具代表性
因為如果選的時間窗格長度稍微不太一樣
或是取的時間區間不同,得到的績效數字可能會很不穩定
3. 比較完整一點的回測方式
也就是所謂的Walking Forward Analysis(WFA)
找到一套策略開發方式是在向前移動的時間窗格情況下平均有最佳表現
也就是說,你能夠找到一套一致的策略開發方式
使其在以下條件下平均來說達到最佳績效
1. 用 2008.01.01 ~ 2013.12.31 的資料開發策略
然後用 2014.01.01 ~ 2014.12.31 的資料來跑測試,當成策略績效
2. 用 2009.01.01 ~ 2014.12.31 的資料開發策略
然後用 2015.01.01 ~ 2015.12.31 的資料來跑測試,當成策略績效
3. 用 2010.01.01 ~ 2015.12.31 的資料開發策略
然後用 2016.01.01 ~ 2016.12.31 的資料來跑測試,當成策略績效
4. (繼續移動窗格...)
5. (繼續移動窗格...)
我是覺得在做到 3 (WFA) 之前最好都不要上線啦...
畢竟只有 WFA 才能把「過去」與「未來」的數據做可靠連結
得到的策略績效也才比較穩定可靠,有實際的參考價值
其實 WFA 根本是早就被講到爛的東西
能做到 WFA 只是代表你的策略開發流程有一定的可靠度
但是即使做完 WFA,距離真的能「穩定」上線賺錢我是覺得還有一大段
至於連WFA都沒做的,那就 ...
※ 引述《willchen (眉毛哥)》之銘言:
: (原文發在option版,如有違反請版主告知,謝謝)
: 各位期權交易的先進前輩好,
: 小弟在2016年十月國慶連假開始自學MC程式交易。
: 當初自己亂搞開發出一支策略之後開始陸續跟朋友請教,
: 加上研讀一些相關資料之後學習開發新策略,
: 刪刪減減之後去蕪存菁出八支策略,
: (CDP或均線價格突破,價差,外資未平倉籌碼策略等等)
: 組合起來之後回測從1999/1/1到2018/09/28,
: 滑價與交易費進出設定為一千。
: 不過非常倒楣的是剛好今年7.8.9月的行情非常糟糕,
: 剛好小弟把全部組合完成的時間差不多就是在這個期間,
: 現在賠到小弟開始懷疑人生.....Orz.....
: 不知道到底是回測只是完全自爽的呢,
: 還是真的是雖小遇到行情就是這麼糟糕?
: 目前只想到只能降低槓桿跑到年底看看....
: 也想不出其他有什麼建議或方法能夠繼續改進。
: 想請問各位先進大大們不吝指教,
: 以上先謝謝各位的時間與意見。
: 全部的回測數據如下
: https://imgur.com/PK1ZMPO
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.90.66
※ 文章網址: https://www.ptt.cc/bbs/Trading/M.1538298154.A.36C.html
※ 編輯: sma1033 (118.160.90.66), 09/30/2018 17:03:17
※ 編輯: sma1033 (118.160.90.66), 09/30/2018 17:03:47
※ 編輯: sma1033 (118.160.90.66), 09/30/2018 17:04:51
推
09/30 17:12,
6年前
, 1F
09/30 17:12, 1F
→
09/30 17:14,
6年前
, 2F
09/30 17:14, 2F
→
09/30 17:14,
6年前
, 3F
09/30 17:14, 3F
推
09/30 17:21,
6年前
, 4F
09/30 17:21, 4F
→
09/30 17:22,
6年前
, 5F
09/30 17:22, 5F
→
09/30 17:23,
6年前
, 6F
09/30 17:23, 6F
→
09/30 17:24,
6年前
, 7F
09/30 17:24, 7F
→
09/30 17:25,
6年前
, 8F
09/30 17:25, 8F
→
09/30 17:25,
6年前
, 9F
09/30 17:25, 9F
推
09/30 17:26,
6年前
, 10F
09/30 17:26, 10F
→
09/30 17:26,
6年前
, 11F
09/30 17:26, 11F
→
09/30 17:27,
6年前
, 12F
09/30 17:27, 12F
→
09/30 17:27,
6年前
, 13F
09/30 17:27, 13F
→
09/30 17:28,
6年前
, 14F
09/30 17:28, 14F
→
09/30 17:30,
6年前
, 15F
09/30 17:30, 15F
→
09/30 17:32,
6年前
, 16F
09/30 17:32, 16F
→
09/30 17:33,
6年前
, 17F
09/30 17:33, 17F
→
09/30 17:34,
6年前
, 18F
09/30 17:34, 18F
→
09/30 17:35,
6年前
, 19F
09/30 17:35, 19F
→
09/30 18:12,
6年前
, 20F
09/30 18:12, 20F
→
09/30 18:12,
6年前
, 21F
09/30 18:12, 21F
→
09/30 18:13,
6年前
, 22F
09/30 18:13, 22F
→
09/30 18:15,
6年前
, 23F
09/30 18:15, 23F
→
09/30 18:15,
6年前
, 24F
09/30 18:15, 24F
→
09/30 18:17,
6年前
, 25F
09/30 18:17, 25F
→
09/30 18:18,
6年前
, 26F
09/30 18:18, 26F
→
09/30 18:19,
6年前
, 27F
09/30 18:19, 27F
→
09/30 18:19,
6年前
, 28F
09/30 18:19, 28F
推
09/30 18:20,
6年前
, 29F
09/30 18:20, 29F
→
09/30 18:20,
6年前
, 30F
09/30 18:20, 30F
→
09/30 18:21,
6年前
, 31F
09/30 18:21, 31F
推
09/30 18:35,
6年前
, 32F
09/30 18:35, 32F
→
09/30 18:51,
6年前
, 33F
09/30 18:51, 33F
→
09/30 19:03,
6年前
, 34F
09/30 19:03, 34F
→
09/30 19:04,
6年前
, 35F
09/30 19:04, 35F
→
09/30 19:06,
6年前
, 36F
09/30 19:06, 36F
→
09/30 19:07,
6年前
, 37F
09/30 19:07, 37F
→
09/30 19:09,
6年前
, 38F
09/30 19:09, 38F
※ 編輯: sma1033 (118.160.90.66), 09/30/2018 21:19:58
→
09/30 23:00,
6年前
, 39F
09/30 23:00, 39F
→
09/30 23:01,
6年前
, 40F
09/30 23:01, 40F
→
09/30 23:10,
6年前
, 41F
09/30 23:10, 41F
→
09/30 23:18,
6年前
, 42F
09/30 23:18, 42F
→
09/30 23:25,
6年前
, 43F
09/30 23:25, 43F
→
09/30 23:42,
6年前
, 44F
09/30 23:42, 44F
→
09/30 23:42,
6年前
, 45F
09/30 23:42, 45F
噓
10/01 01:55,
6年前
, 46F
10/01 01:55, 46F
→
10/01 01:56,
6年前
, 47F
10/01 01:56, 47F
→
10/01 01:56,
6年前
, 48F
10/01 01:56, 48F
→
10/01 01:57,
6年前
, 49F
10/01 01:57, 49F
→
10/01 01:57,
6年前
, 50F
10/01 01:57, 50F
推
10/01 09:22,
6年前
, 51F
10/01 09:22, 51F
推
10/02 16:52,
6年前
, 52F
10/02 16:52, 52F
討論串 (同標題文章)
Trading 近期熱門文章
PTT職涯區 即時熱門文章