Algo Trading (Part 2: Backtest Candlestick Patterns)

 




呢篇文延續返上次點樣啱啱入手嘅朋友去玩algo trade,呢度會用Googlesheet/excel做例子,之後嘅文會慢慢加Python元素入去。上篇文提到Trading Ideas可以用Candlestick Pattern,所以呢度會用呢啲pattern做下demo,講吓點樣入手砌一啲策略出嚟。

Background Info

呢度加少少背景,本身Candlestick Pattern係源自日本,每條candlestick係由Open, High, Low, Close組成,根據唔同嘅timeframe去resample,用一支bar組合果個timeframe入面發生過嘅成交數據。綠色係升 (close > open),紅色係跌 (close < open)。呢啲pattern背後嘅原理係每支bar或者組合反映緊市場交易嘅心理,但係係咪金科玉律,就要試過先知。所以如果有人話因為出咗某個Pattern樂觀或者悲觀,不妨問一問佢以前嘅數據係點樣,如果唔係只係講故仔。

我呢度揀咗4個candlestick patterns,純粹揀嚟做一個demo。

Bullish/Bearish Harami




呢個Pattern基本上就係講緊reversal,第二支bar反方向同埋冇咁有力延續升勢或者跌晒,如果係Bullish Harami就係

  • bar1 = red; 

  • bar2 = green;

  • bar1_open >= bar2_close;

  • bar1_close <= bar2_open;

Bearish Harami反之亦然



Bullish/Bearish Engulfing



呢個同上面同一樣原理,不過通常會俾人覺得更加強嘅Reversal pattern,,如果係Bullish Engulfing就係

  • bar1 = red; 

  • bar2 = green;

  • bar1_open < bar2_close;

  • bar1_close > bar2_open;

Bearish Engulfing反之亦然



Backtest流程:

  • 呢度用咗Binance由2021/1/1到2025/1/19嘅永續合約KLine數據做demo, 用咗BTCUSDT同ETHUSDT daily

  • 計收市價percentage change,然後假設每次手續費為0.06%同close entry(呢部份可以再嚴謹啲),如果符合Pattern條件嘅話,就會Long/Short

  • Holding Period最簡單假設1 day,每次放固定金額

  • PnL就係等於percentage change減去任何手續費,之後再去計算cumulative PnL

Backtest Results:

  • BTC



 









  • ETH







下一篇可以睇吓拍唔拍片講多啲用Python點樣做同類型嘅回測,同埋講多少少點樣去evaluate一條策略可唔可以用。有興趣嘅朋友可以試埋其他Pattern,不過要留意嘅係由於crypto係24/7,所以有好多極端嘅Pattern都好難出現。

Google Sheet: https://docs.google.com/spreadsheets/d/1OiyOlJNrMmN2ZUUue969B2zUsGNFEl0E/edit?usp=sharing&ouid=107553426758594863213&rtpof=true&sd=true


Backtest (Candlestick Patterns).xlsx

Comments