跳至主要內容
美股研究 約 8 分鐘閱讀

Darvas箱型回測:QQQ與個股版皆未通過驗證

Darvas箱型怎麼看、怎麼用?我們把指標定義寫成固定進出規則,分別測QQQ擇時、避開訊號與個股等權,檢查九組鄰近參數、前後兩段與交易成本。本次設定都未通過,圖上方向清楚仍不足以證明交易有效。附計算方法、參數熱圖、逐日淨值與可重跑研究程式,說明資料可得日、成交延遲、空手代價及不能從回測推出的事。

這組規則未通過驗證

不用操作程式,直接看報酬、最大跌幅與比較結果。

看比較結果
未通過本次驗證

Darvas箱型 訊號持有、避開訊號、個股與含息基準的淨值比較

Darvas箱型的QQQ擇時、避開訊號與個股版,這次都沒有通過完整驗證。本文以反面教材為主。中心設定的QQQ擇時年化6.0%、日夏普0.63;同期含息持有為20.1%、0.92。方向在圖上看得清楚,仍要付出空手與進出成本。

個股版年化1.8%,九格中0格贏基準,沒有把指標解讀轉成穩定的選股優勢。第一張圖把三種中心設計與含息持有放在同一起點;點圖可查看原尺寸,完整數值在下方下載區。

本文提供研究結果,沒有推薦這些買賣規則。想自行重跑,可先 設定 FinLab 環境,再 下載研究程式(.py);其他檔案見 研究下載區。

Darvas箱型怎麼形成

Darvas箱型把整理區間的上界當成突破參考,下界當成出場參考。回頭看一張上漲股票圖,很容易畫出一層又一層的箱子;實際交易要多回答一件事:在哪一天,箱頂與箱底才真的確認?如果把後來才完整的箱子畫回較早日期,回測就會提前知道答案。

本次先找出相對前一段觀察窗的新高,當作候選箱頂,再等指定天數沒有更高高點才確認。箱底取候選日至確認日的最低價。只有確認以後,箱子才可以決定進出;相同高價不重設等待時間,真正創出更高的區間新高才重新建立候選。這些細節都在開跑以前固定。

事件 程式怎麼做 當時還不能做什麼
出現區間新高 建立候選頂與低價範圍 立刻使用尚未完整的箱底
等待確認 更新候選日至今最低價 預先知道後面幾天最低價
確認完成 凍結可用箱頂、箱底 把可交易日期倒填回候選日
收盤突破已確認箱頂 進入或維持持有狀態 假設能回到較早突破價成交
收盤跌破已確認箱底 離開多頭部位 保證跳空仍能照箱底賣掉

較新的箱子確認後可以替換舊邊界;還在等待的新候選,不會提早取代目前可用的箱子。股價只是在箱內移動時,原本的持有狀態繼續保留。本次沒有另外加成交量、盈餘成長或大盤多頭濾網,也沒有因為某一筆交易虧損就換一種箱底定義。

Darvas與唐奇安通道有什麼不同

海龜與唐奇安突破常以最近一段時間最高價當作進場門檻,視窗往前走,通道也跟著改變。這次的Darvas需要候選高點經過確認,再保存一個具體箱子。因此確認延遲、箱底位置與何時換新箱,都是策略的一部分,不能只因為兩者都談突破,就當作同一個規則。

確認要等,強勢股可能已經先漲出去;箱底若長時間沒有更新,回檔到出場界線的距離也可能很大。等待較短時,可以較早形成箱子,卻可能把還沒整理好的價格區間當成完成;觀察窗較長時,新高較有代表性,也可能讓進場機會減少。九格參數就是同時檢查這兩種取捨。

本次沒有挑選書中或網路上最漂亮的個股圖重播。個股版每天從當時符合流動性條件的公司套用同一公式,進出後等權持有,並保留不成功的交易。這樣回答的是固定規則的組合表現,和事後說明某檔知名強勢股為何成功,是不同的研究問題。

箱型突破的交易成本與空手代價

個股的合格集合、箱型狀態每天都會變,換手可能比單一QQQ進出多得多。分散持股不會消除共同市場下跌,也不會讓箱型突破後的假突破變成免費。美股雖然採零佣金預設,仍另外加入買賣各百分之○點一,觀察價差與執行成本對結果的影響。

避開訊號的QQQ對照則量出等待箱型時放棄的市場參與。它在原策略空手的日子持有,其他日子空手,沒有放空。若正向規則只抓到少數上漲片段,這條路徑可以看到剩下時段的報酬;但反向也要獨立通過相同檢查,不能只挑其中一段表現較好的年份。

突破當天的最高、最低與收盤價都要等收盤才完整。實驗因此在下一交易日收盤成交,不假設看到箱頂被突破的同一瞬間就能買到該價位。若隔夜直接跳高,成本會反映在下一次實際價格裡;若跳空跌破箱底,也可能在更低的位置才離場。

Darvas(1960)的《How I Made $2,000,000 in the Stock Market》是箱型方法出處。本次將新高與確認天數數值化,不把這組程式參數說成原著唯一寫法。原始出處。

三種持有方式的完整結果

中心設計 年化報酬 日夏普 最大跌幅
(最大回撤)
前/後半段日夏普 九格贏QQQ 在場比例
QQQ訊號持有 6.0% 0.63 -15.5% 0.61 / 0.66 0 / 9 40.3%
QQQ避開訊號 13.3% 0.71 -35.1% 1.05 / 0.41 0 / 9 59.7%
個股等權 1.8% 0.20 -68.7% 0.39 / -0.01 0 / 9 99.9%
QQQ 含息持有 20.1% 0.92 -35.1% 1.22 / 0.63 — 100%

年化報酬把整段複利換算成每年平均成長,最大回撤是淨值從先前高點到低點的最大跌幅。日夏普以日報酬平均除以標準差,再乘以二百五十二的平方根,不扣無風險利率。這三個指標回答不同問題,夏普較高仍可能賺得較少。

互動報告是中心設定的QQQ擇時,沒有從九格挑最好的一格;另一份下載報告是中心個股版。表格保留整段共同期間,包括第一次交易以前的現金日;報告可能由首筆成交開始,內建夏普也有自己的無風險利率設定,所以本文比較統一採另算的零利率口徑。

九格參數與前後半段

新高觀察窗四十、六十、八十日,等待二、三、五個後續交易日未創更高價才確認;中心六十/三日。箱底取候選高點日至確認日之間最低價。全部組合在看結果以前已固定。每個設計至少七格日夏普高於同期QQQ,中心設定在交易日對半切的兩段也必須各自領先;這是歷史穩健性篩選,沒有把後半段稱為從未看過的樣本外。

Darvas箱型 三種持有方式的九格鄰近參數,數字為日夏普與基準的差

Darvas箱型 前後半段各中心規則與基準日夏普

成本、現金與拿掉最好一年

美股sim()預設手續費與交易稅皆為零,另把每邊百分之○點一加入中心設定,作為執行成本壓力。沒有再假設其他滑價,沒有計算資本利得稅,也沒有估算策略容量。

淨值圖、九格、前後半段與互動報告均採零佣金。表中每邊0.1%成本與零佣金扣BIL是分開列出的比較。

中心設計 每邊0.1%成本年化 扣成本日夏普 零佣金扣BIL日夏普 拿掉最佳年 剩餘日夏普/QQQ
QQQ訊號持有 5.1% 0.55 0.39 2023 0.51 / 0.78
QQQ避開訊號 12.4% 0.67 0.60 2024 0.60 / 0.88
個股等權 -3.5% 0.01 0.12 2023 0.06 / 0.78

QQQ扣除BIL每日含息報酬後的日夏普為0.81。策略空手時現金報酬為零,沒有默默加上美國短債收益;扣BIL只是另一種比較口徑,沒有改變實際持有內容。

同平均曝險對照每天固定維持策略平均在場比重的QQQ,其他現金報酬為零,不扣該對照調倉成本。訊號持有版的這個對照日夏普為0.92,策略為0.63。這能檢查較少在場帶來的較小波動,有沒有被誤認成選時能力。

拿掉最好一年時,先以中心策略各日曆年報酬找出最好的一年,再從策略與基準刪除相同日期,保留其餘日報酬,不在被刪年份兩端插入額外報酬。這是額外壓力測試,前面九格或分段沒有過,不能靠這一項補救。

Darvas箱型 以實際組合淨值計算的回撤比較

股票池、成交與研究限制

資料截至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% 150.0%
QQQ避開訊號 40 33.2% 150.0%
個股等權 2152 220.3% 442.7%

中心個股版平均持有14.3檔。目標權重周轉估計採每天目標權重變化絕對值總和的一半,再按月相加。這個數字沒有把持有期間價格漂移等細節還原成實際成交金額,不能直接當成真實帳戶的金額周轉率。

全段屬於樣本內研究。開跑前固定規則,可以減少本批看完結果才換條件,但題目本身仍是知道市場歷史後選的,切前後半也無法把後段變成真正未見資料。Bailey等人(2017)討論回測過擬合;本次未估計該文的過擬合機率。Moskowitz、Ooi與Pedersen(2012)研究期貨趨勢,不能替這個指標背書。

用AI重跑固定規則

透過上方FinLab設定入口,讓Claude Code、Codex或Gemini CLI載入FinLab skill後,可以用白話要求:「使用這篇下載的研究程式,保留期間、中心參數與九格設定,重跑Darvas箱型三種持有方式及成本對照。」這段要求的用途是重現既有實驗;若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, "darvas", 60, 3)
position = (state & eligible).loc["2017-01-03":"2026-11-09"]
report = backtest(position)
report.to_html("darvas_stocks_report.html")

AI代理使用說明介紹技能安裝與研究流程;程式交易指南整理從規則到回測的步驟,回測方法說明成交、成本與偏差,結果名詞可查量化詞彙表。

Darvas箱型常見問題

哪一組參數最好? 本次的中心在看結果以前固定,沒有用熱圖最好的格子替換原設定。九格用來觀察鄰近條件是否穩定,不用來挑一個歷史冠軍。

最大跌幅較小,就表示指標有效嗎? 長期空手也會降低波動與跌幅,所以還要比較年化報酬、同平均曝險與分段結果。較少參與市場的代價,不能只用一張平順圖略過。

避開訊號是放空嗎? 這裡只是原本空手的日期持有同一檔ETF,其他時間持有現金,沒有建立負部位,不能推論融券或借券交易的績效。

個股可以只挑幾檔看起來最強的嗎? 那會改變股票池與集中程度,且容易事後挑選成功範例。本篇測的是當時合格公司的固定等權規則,不能保證某一檔公司結果相同。

表格和互動報告的夏普為什麼可能不同? 表格統一採零無風險利率的日夏普與完整共同期間,互動報告依自己的慣例與首筆成交起點計算。比較策略時必須讓兩邊使用同一口徑。

可以改成分鐘K嗎? 需要另一份資料、確認週期與成交假設。日線無法得知盤中高低先後,更無法保證照指標界線成交,這次結果沒有涵蓋該問題。

相關研究可看技術指標台股總覽,以及黃金交叉回測、海龜交易回測與量化交易指南。這些頁面分別測不同機制,沒有把其他規則的優點當成本篇的驗證。研究團隊與產品背景可看關於FinLab。

研究下載

檔案 內容
下載研究程式(Python) 設定FinLab後,交給AI代理重跑
下載每日績效資料(CSV) 每日績效與基準,可用試算表開啟
下載完整測試結果(JSON) 全部測試結果,供AI或程式讀取
開啟訊號持有報告(網頁) 瀏覽器直接開啟,不需安裝
開啟個股報告(網頁) 瀏覽器直接開啟,不需安裝

投資有風險,過去績效不代表未來表現。本內容僅供教學與研究,不構成投資建議,請依個人風險承受度審慎評估。本文沒有推薦個股,也沒有保證指標界線可以成交或歷史優勢會延續。

最後更新:2026-11|回測區間:2017-01-03至2026-11-09|作者:FinLab量化研究團隊。團隊以FinLab資料維護台股、美股的可重跑研究。

FinLab AI

想建立自己的策略?

用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案

免費開始

更多技術指標研究

查看全部