跳轉到

台積電布林通道逆勢抄底

抄底就是所謂的逆勢策略,能不能用量化的方式實測呢?

布林通道是最廣為人知的逆勢方法,原理是運用均線和標準差,大部分 K 線都涵蓋在 d 日 MA 上下 n 個標準差的範圍之內操作。

  • d 數值越大,價格曲線越平滑,能減少波動雜訊。
  • n 數值越大,能產生越極端的訊號。一般 n 值範圍依據 68-95-99.7 法則(68-95-99.7 rule),設定在 1~3,在常態分布中,距平均值小於一個標準差、二個標準差、三個標準差以內的百分比。

當股價跌破下軌通道,可能出現超賣訊號,會在之後均值回歸,產生反彈到中軌通道附近。

詳細策略文章

布林通道策略

以下策略使用 40 日均線搭配 2.5 倍標準差的布林通道,對台積電(2330)進行逆勢操作:當收盤價跌破下軌時進場,回升至中軌時出場。

from finlab import data
from finlab.backtest import sim

close = data.get('price:收盤價')
upperband, middleband, lowerband = data.indicator(
    'BBANDS', resample='D', nbdevup=float(2.5), nbdevdn=float(2.5), timeperiod=40
)
entries = lowerband > close
exits = close > middleband

position = entries.hold_until(exits)['2330']
report = sim(position, upload=False, mae_mfe_window=40, name='護國神山救難隊')

取得波動分析報告

report.display_mae_mfe_analysis(violinmode='overlay').show()

取得報酬率圖表

report.display()

取得交易紀錄

trade_record = report.trades
trade_record

加入停損停利

搶反彈如搶銀行,不管有沒有搶到都要跑!

極端的暴跌行情下搶反彈,87% 勝率、平均持有 19 個交易日,平均獲利 5%。

持有前 10 日內若多數時間保持獲利狀態,則顯示抄在底部的機率高,反之若多數時間為虧損,則可能抄錯底,再破底風險變高,若跌幅超過 15% 則為發生樣本外的特殊崩盤情況,應停損出場。

平均一年不到 3 次,要把握機會!

漲幅超過 10% 產生停利訊號,跌幅超過 15% 產生停損訊號。

from finlab import data
from finlab.backtest import sim

close = data.get('price:收盤價')
upperband, middleband, lowerband = data.indicator(
    'BBANDS', resample='D', nbdevup=float(2.5), nbdevdn=float(2.5), timeperiod=40
)
entries = lowerband > close
exits = close > middleband

position = entries.hold_until(exits, take_profit=0.1, stop_loss=-0.15)['2330']
report = sim(position, upload=False, mae_mfe_window=40, name='護國神山救難隊')
report.display_mae_mfe_analysis(violinmode='overlay').show()
report.display()