Supertrend的QQQ擇時、避開訊號與個股版,這次都沒有通過完整驗證。本文以反面教材為主。中心設定的QQQ擇時年化11.3%、日夏普0.88;同期含息持有為20.1%、0.92。方向在圖上看得清楚,仍要付出空手與進出成本。
個股版年化-6.4%,九格中0格贏基準,沒有把指標解讀轉成穩定的選股優勢。第一張圖把三種中心設計與含息持有放在同一起點;點圖可查看原尺寸,完整數值在下方下載區。
本文提供研究結果,沒有推薦這些買賣規則。想自行重跑,可先 設定 FinLab 環境,再 下載研究程式(.py);其他檔案見 研究下載區。
Supertrend指標怎麼算
Supertrend從當日最高、最低價的中點出發,加減若干倍ATR,形成基本上下帶。ATR是平均真實區間,用來衡量價格波動的幅度;它會納入和前一天收盤之間的跳空,但本身不判斷方向。方向來自收盤和最終帶的位置,以及前一天留下的狀態。
| 部分 | 本次寫法 | 對訊號的影響 |
|---|---|---|
| 價格中點 | 當日最高加最低再除二 | 讓上下帶跟著價格中心移動 |
| 真實區間 | 當日全距、最高距前收、最低距前收三者最大 | 把跳空也算入波動 |
| ATR | 算術平均起始,再用Wilder遞迴平滑 | 不改成另一種平均方式 |
| 最終上下帶 | 依前一帶與前收盤條件保留或更新 | 訊號具有歷史狀態 |
| 翻向 | 收盤穿越目前有效帶 | 日K完成後才能知道 |
如果每天只重新畫「中點加減ATR」,卻沒有保留前一條帶,就少了Supertrend的記憶機制。本次在ATR可算以前維持空手,之後上升狀態遇到收盤跌破最終下帶才轉弱,下降狀態遇到收盤突破最終上帶才轉強。沒有再加停利、最長持有天數或其他進場濾網。
Supertrend與ATR移動停損的差別
ATR移動停損通常先有一個多頭部位,再利用波動度決定退出界線。它可以只負責出場,下一次進場另有規則。Supertrend同時保留上帶、下帶與切換方向的條件,既決定持有狀態,也決定何時離開。因此兩者即使都用ATR,進場時點仍可能完全不同。
若一個實驗靠均線進場、ATR停損,另一個靠Supertrend翻多進場,兩者差異同時來自進場與出場。把名稱都寫成ATR策略,會讓讀者以為只調整了停損距離。本篇固定測Supertrend本身,不把先前的單邊移動停損結果混入,也不因兩套規則看起來相近就省略驗證。
倍數較大時,股價可以在帶內波動更久,可能少掉一些盤整換手,但趨勢反轉時也可能晚一點離場;倍數較小時,單次虧損未必較大,卻可能反覆進出。ATR長度則決定波動突然放大以後,帶寬要多久才反應。兩個參數互相影響,所以這次跑完整九格,沒有只展示其中一條特別順的線。
帶寬會適應波動,績效仍要另外驗證
圖上的追蹤線會隨近期波動放寬或縮窄,很容易讓人覺得它貼合市場。但波動幅度和報酬方向是不同問題:界線畫得自然,不代表穿越前後的報酬真的有可利用差異。QQQ版測固定標的的進出時段,個股版則測逐家公司套用規則後,分散持有能不能保留優勢。
避開訊號是把原本空手的日子改成持有QQQ,仍然做多,沒有放空。若正向策略長期不在場,而漲幅剛好集中在那些日子,這條對照路徑可以揭露代價。但避開訊號本身也要通過相同的成本、分段與鄰近參數檢查,不能因為正向失敗就自動稱為有效。
跳空也可能讓價格一次越過整條帶。這次使用完整日K形成訊號,下一交易日收盤才成交,沒有假設可以照帶的位置賣出。若要實作盤中觸價停損,需要另行指定盤中資料、跳空處理與成交規則;日線圖上能畫出的價位,不代表當時一定有那個成交機會。
TradingView的指標文件將Supertrend歸於Olivier Seban,並列出上下帶遞迴與方向切換公式;這次依該公式固定實作。原始出處。
三種持有方式的完整結果
| 中心設計 | 年化報酬 | 日夏普 | 最大跌幅 (最大回撤) |
前/後半段日夏普 | 九格贏QQQ | 在場比例 |
|---|---|---|---|---|---|---|
| QQQ訊號持有 | 11.3% | 0.88 | -19.5% | 1.03 / 0.74 | 3 / 9 | 62.1% |
| QQQ避開訊號 | 7.8% | 0.50 | -32.1% | 0.75 / 0.26 | 0 / 9 | 37.9% |
| 個股等權 | -6.4% | -0.18 | -76.2% | 0.10 / -0.46 | 0 / 9 | 100.0% |
| QQQ 含息持有 | 20.1% | 0.92 | -35.1% | 1.22 / 0.63 | — | 100% |
年化報酬把整段複利換算成每年平均成長,最大回撤是淨值從先前高點到低點的最大跌幅。日夏普以日報酬平均除以標準差,再乘以二百五十二的平方根,不扣無風險利率。這三個指標回答不同問題,夏普較高仍可能賺得較少。
互動報告是中心設定的QQQ擇時,沒有從九格挑最好的一格;另一份下載報告是中心個股版。表格保留整段共同期間,包括第一次交易以前的現金日;報告可能由首筆成交開始,內建夏普也有自己的無風險利率設定,所以本文比較統一採另算的零利率口徑。
九格參數與前後半段
Wilder平滑的ATR長度七、十、十四日,倍數二、三、四倍;中心為十日ATR、三倍帶。全部組合在看結果以前已固定。每個設計至少七格日夏普高於同期QQQ,中心設定在交易日對半切的兩段也必須各自領先;這是歷史穩健性篩選,沒有把後半段稱為從未看過的樣本外。
成本、現金與拿掉最好一年
美股sim()預設手續費與交易稅皆為零,另把每邊百分之○點一加入中心設定,作為執行成本壓力。沒有再假設其他滑價,沒有計算資本利得稅,也沒有估算策略容量。
淨值圖、九格、前後半段與互動報告均採零佣金。表中每邊0.1%成本與零佣金扣BIL是分開列出的比較。
| 中心設計 | 每邊0.1%成本年化 | 扣成本日夏普 | 零佣金扣BIL日夏普 | 拿掉最佳年 | 剩餘日夏普/QQQ |
|---|---|---|---|---|---|
| QQQ訊號持有 | 10.4% | 0.82 | 0.70 | 2020 | 0.81 / 0.87 |
| QQQ避開訊號 | 7.0% | 0.46 | 0.37 | 2023 | 0.39 / 0.78 |
| 個股等權 | -9.6% | -0.33 | -0.28 | 2026 | -0.31 / 0.94 |
QQQ扣除BIL每日含息報酬後的日夏普為0.81。策略空手時現金報酬為零,沒有默默加上美國短債收益;扣BIL只是另一種比較口徑,沒有改變實際持有內容。
同平均曝險對照每天固定維持策略平均在場比重的QQQ,其他現金報酬為零,不扣該對照調倉成本。訊號持有版的這個對照日夏普為0.92,策略為0.88。這能檢查較少在場帶來的較小波動,有沒有被誤認成選時能力。
拿掉最好一年時,先以中心策略各日曆年報酬找出最好的一年,再從策略與基準刪除相同日期,保留其餘日報酬,不在被刪年份兩端插入額外報酬。這是額外壓力測試,前面九格或分段沒有過,不能靠這一項補救。
股票池、成交與研究限制
資料截至2026-11-09,重跑日2026-11-11,使用finlab 2.3.8。美股使用us_price的還原開高低收,QQQ使用us_fund_price;基準以QQQ還原收盤價直接計算含息買進持有,不經sim(),不扣基準交易成本。所有圖表起點都為一,空手日也保留。
個股以FinLab普通股分類限制欄位,還原價高於五美元,六十日平均還原價乘成交量大於五百萬美元,並取每日成交額前一百檔,平均至少要有二十筆觀察。若先前二百五十二日曾有單日絕對漲跌達百分之五十,就從隔日起排除;這能排除先前的極端異動,無法預先避開第一次事件。普通股分類是目前的證券類型篩選,歷史分類變更仍可能造成限制。
個股每天對同時符合資格與指標狀態的公司等權,沒有挑後來漲最多的公司,也沒有用全期間最大漲跌一次刪掉歷史輸家。訊號收盤後形成,下一交易日收盤成交。這次沒有使用財報、分析師快照、現在的指數成分名單或個別投資人的私人策略;產業並未另外中性化,也沒有借款加槓桿。美股普通股分類排除ETF、基金、ADR與特別證券,未另排除金融業等產業;有合格價格欄位的下市股保留,但未逐檔稽核下市報酬完整性。台股特有的KY、全額交割分類未用於美股。
每檔個股目標權重為當時持股數的倒數,沒有再加固定單檔上限,只剩一檔時可能達百分之一百;ETF規則最多全額持有QQQ,否則全額現金。各中心設定的換手估計如下,比例可以超過百分之一百,表示月內反覆換倉。
| 中心配置 | 交易筆數 | 平均月目標周轉 | 最高月 |
|---|---|---|---|
| QQQ訊號持有 | 40 | 33.2% | 100.0% |
| QQQ避開訊號 | 40 | 33.2% | 100.0% |
| 個股等權 | 3632 | 140.1% | 483.0% |
中心個股版平均持有39.6檔。目標權重周轉估計採每天目標權重變化絕對值總和的一半,再按月相加。這個數字沒有把持有期間價格漂移等細節還原成實際成交金額,不能直接當成真實帳戶的金額周轉率。
全段屬於樣本內研究。開跑前固定規則,可以減少本批看完結果才換條件,但題目本身仍是知道市場歷史後選的,切前後半也無法把後段變成真正未見資料。Bailey等人(2017)討論回測過擬合;本次未估計該文的過擬合機率。Moskowitz、Ooi與Pedersen(2012)研究期貨趨勢,不能替這個指標背書。
用AI重跑固定規則
透過上方FinLab設定入口,讓Claude Code、Codex或Gemini CLI載入FinLab skill後,可以用白話要求:「使用這篇下載的研究程式,保留期間、中心參數與九格設定,重跑Supertrend三種持有方式及成本對照。」這段要求的用途是重現既有實驗;若AI另外生成一套進出條件,即使名稱相同,算出的結果也不是本篇的重跑。
將完整研究程式存成工作目錄的research.py,以下片段執行中心個股版,完整網格則使用該程式的命令列選項。程式的執行範例已列出finlab、numba與TA-Lib套件,登入由FinLab引導完成。
顯示程式碼
import finlab
from research import load, signal, backtest
finlab.login()
prices, eligible = load("us")
state = signal(prices, "supertrend", 10, 3)
position = (state & eligible).loc["2017-01-03":"2026-11-09"]
report = backtest(position)
report.to_html("supertrend_stocks_report.html")AI代理使用說明介紹技能安裝與研究流程;程式交易指南整理從規則到回測的步驟,回測方法說明成交、成本與偏差,結果名詞可查量化詞彙表。
Supertrend常見問題
哪一組參數最好? 本次的中心在看結果以前固定,沒有用熱圖最好的格子替換原設定。九格用來觀察鄰近條件是否穩定,不用來挑一個歷史冠軍。
最大跌幅較小,就表示指標有效嗎? 長期空手也會降低波動與跌幅,所以還要比較年化報酬、同平均曝險與分段結果。較少參與市場的代價,不能只用一張平順圖略過。
避開訊號是放空嗎? 這裡只是原本空手的日期持有同一檔ETF,其他時間持有現金,沒有建立負部位,不能推論融券或借券交易的績效。
個股可以只挑幾檔看起來最強的嗎? 那會改變股票池與集中程度,且容易事後挑選成功範例。本篇測的是當時合格公司的固定等權規則,不能保證某一檔公司結果相同。
表格和互動報告的夏普為什麼可能不同? 表格統一採零無風險利率的日夏普與完整共同期間,互動報告依自己的慣例與首筆成交起點計算。比較策略時必須讓兩邊使用同一口徑。
可以改成分鐘K嗎? 需要另一份資料、確認週期與成交假設。日線無法得知盤中高低先後,更無法保證照指標界線成交,這次結果沒有涵蓋該問題。
相關研究可看技術指標台股總覽,以及黃金交叉回測、海龜交易回測與量化交易指南。這些頁面分別測不同機制,沒有把其他規則的優點當成本篇的驗證。研究團隊與產品背景可看關於FinLab。
研究下載
| 檔案 | 內容 |
|---|---|
| 下載研究程式(Python) | 設定FinLab後,交給AI代理重跑 |
| 下載每日績效資料(CSV) | 每日績效與基準,可用試算表開啟 |
| 下載完整測試結果(JSON) | 全部測試結果,供AI或程式讀取 |
| 開啟訊號持有報告(網頁) | 瀏覽器直接開啟,不需安裝 |
| 開啟個股報告(網頁) | 瀏覽器直接開啟,不需安裝 |
投資有風險,過去績效不代表未來表現。本內容僅供教學與研究,不構成投資建議,請依個人風險承受度審慎評估。本文沒有推薦個股,也沒有保證指標界線可以成交或歷史優勢會延續。
最後更新:2026-11|回測區間:2017-01-03至2026-11-09|作者:FinLab量化研究團隊。團隊以FinLab資料維護台股、美股的可重跑研究。
FinLab AI
想建立自己的策略?
用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案
免費開始





