ptt有時候會有一些乍看無用的文章,但卻會是找問題的好題目,比如說這篇:https://www.ptt.cc/bbs/Trading/M.1743730812.A.0EE.html
這篇提到的觀念為這篇(2016)提到的循環比
https://nickyya.pixnet.net/blog/post/44347672
循環比的概念如果用人話來講,其實就是程式交易的回復因子,即你的虧損單能在幾筆交易內賺回來。故會有:
- 賺賠比:平均每筆獲利/平均每筆損失
- 恢復次數:虧損總次數/獲利總次數
- 循環比=賺賠比-恢復次數
如果要達到理想上的循環比為1以上,那麼就會變成:
- 賺賠比至少大於1,例如2
- 恢復次數很低,最好為1
那麼很自然地,你就會想到一種方向,那就是:如果你的停損和停利抓得很小,但停利很容易打到,且理論上賺賠比為2,那麼不就可以達到循環比為1?
那麼我們要驗證這方法是否有效,最簡單的方法就是利用excel的隨機函數來模擬。
首先我們來定義規則:
- 停損=-10
- 停利=20
- 手續費=100*2=200
- 賽局點=RANDBETWEEN(-100,100)
- 損益金額=損益*200-手續費
- 初始資金=100000
- 初期權益=初始資金+損益金額
- 次期權益=IF(初期權益>0,初期權益+損益金額,0)
那麼我們就有一個機率為均勻分布於-100~100的期貨點數賽局,每一格都會骰出-100~100的結果。而損益計算為:
- 損益=IFS(賽局點<=停損,停損,賽局點>=停利,停利,AND(賽局點>停損,賽局點<停利),賽局點)
這就涵蓋了以下三情境:
- 低於停損:視為打到停損平倉。
- 高於停利:視為打到停利平倉。
- 介於中間:回傳賽局點為平倉損益。
來跑個200局,看模擬損益曲線如何:

滿理想的,算出的循環比也有0.9。可以直接用了吧?
我想這也是一些當沖交易者認為的"優勢",即我只要每天賺小額,我有控制損失,賺賠比有2:1以上,就算虧兩次再一次就能打平,根本聖杯。我還可以拿來當課程來賣,就賣你3600。
但事實真的如此嗎?
如果你有在直接交易,那你多半會碰到一個叫做"掃停損"的狀態,也就是價格先打到停損,然後繼續往停利的方向跑,所以雖然收盤價理論上你應該賺的,但實際上你先打到停損而小賠。故停利與停損,是會有隨機的先後順序影響的。
那麼我們再針對這點修改一下,改為"盤中價"與"收盤價"
- 盤中價=RANDBETWEEN(-100,100)
- 收盤價=RANDBETWEEN(-100,100)
也就是說,在同樣的規則下,我們多了一個盤中會先打到停損、或先打到停利的情境。
這時損益就會變成:
- 損益=IFS(OR(盤中價<=停損,收盤價<=停損),停損,OR(盤中價>=停利,收盤價>=停利),停利,AND(盤中價>停損,盤中價<停利,收盤價>停損,收盤價<停利),收盤價)
這樣一樣能涵蓋三大情境:
- 盤中或收盤打到停損=停損虧損平倉
- 盤中或收盤打到停利=停利獲利平倉
- 盤中與收盤皆沒打到停損停利=收盤點數平倉
考量有掃停損的情境後,我們來看同樣的停損停利策略曲線:

答案就會截然不同,聖杯變成靠杯,用了會破產的垃圾東西。
那麼為何會這樣呢?很簡單,如果你有試著做,你可以在賺賠比與所謂的恢復次數找到端倪。由於機率是從-100到100均勻分布的,所以你就算是-10~20,那也是不會永遠的獲利一定能骰到20,而是僅為最大20的1~20的總和,故實際賺賠比會小於2。
另一方面,由於你實際上是判斷兩次,也就是盤中與收盤的兩次損益結算,而盤中停損就不會參與到收盤損益,故實際上你的虧損次數會大於獲利次數,這時循環比就會很難看,到達-1~-1.5會破產的程度。
這只能告訴你一個事實:垃圾進,垃圾出。如果模型並不切合你的實際交易經驗與市場環境,那結果也會造成不切實際的答案。