美股收盤價就是一檔美股在每個交易日結束、收盤撮合後的最終成交價,在 finlab 裡用 data.get("us_price:close") 一行就能取出,涵蓋 S&P 500 與那斯達克成分股、歷史超過十年。它之所以是美股資料裡最常被引用的一欄,是因為報酬率、移動平均、動能排序、技術濾網這些訊號全都從收盤價算起,而且它是一整天多空角力後的共識價,雜訊比盤中跳動的價格低很多。對想把台股量化經驗搬到美國市場的人,這一欄就是起點。
搜尋這個名詞進來的人,心裡通常有四個問題:這欄資料到底長什麼樣?要怎麼看走勢?跟台股的價格有哪些不一樣、有哪些坑?以及最實際的,怎麼拿它做出一個會跑的回測。下面一個一個拆。
收盤價是什麼、跟開高低有什麼不同
一檔股票一天會有四個價格:開盤價、最高價、最低價、收盤價。收盤價是當天最後一筆成交、也是隔天漲跌幅的計算基準,法人結算、ETF 淨值、指數編製幾乎都採用它。可以把一天的交易想成一場拍賣,開盤是第一聲喊價,盤中高低是情緒最激動的兩個極端,而收盤價是散場時大家真正願意成交的那個價,最能代表「市場現在覺得這檔值多少」。也正因如此,做日線級別的策略時,絕大多數人會用收盤價當選股與計算報酬的基準,盤中那些容易被大單拉動的極端價反而少用。
怎麼判讀這張走勢圖
data.get("us_price:close") 回傳的是一張表:列是日期、欄是股票代號(美股用英文 ticker,例如 AAPL、MSFT,而非台股那種數字代號),每一格就是那天的收盤價。把其中一欄畫成折線,就是這檔股票的價格軌跡。

以 AAPL 為例,近幾個交易日的收盤價大致落在這個區間:
| 日期 | 收盤價 |
|---|---|
| 2026-06-15 | 296.42 |
| 2026-06-16 | 299.24 |
| 2026-06-17 | 295.95 |
| 2026-06-18 | 298.01 |
| 2026-06-22 | 297.01 |
| 2026-06-23 | 294.30 |
看這張圖,重點不在於猜某一天的數字,而在於讀三件事:整體趨勢是往上、往下還是橫盤;近期波動是放大還是收斂;以及現在的價格站在過去一段時間的相對高位還是低位。量化策略真正在用的,是這種「相對位置」與「變化率」,價格的絕對值本身意義不大,因為一檔 300 美元的股票未必就比一檔 30 美元的股票更貴或更好。
用收盤價之前,一定要避開的兩個坑
第一個坑是還原問題。原始收盤價在除權息或股票分割當天會出現一段向下跳空,如果直接拿原始價算長期報酬,等於把配息與分割誤判成下跌,一個本來賺錢的策略會被算成虧損。做含息的長線回測時,請改用還原後的價格序列;還原股價的口徑與細節可參考名詞解釋裡的定義。
第二個坑是成交時點造成的前視偏差。如果你的邏輯是「今天收盤選股、今天收盤就成交」,等於假設你能在收盤那一瞬間既看到完整結果、又同時把單買進,實務上做不到,這會讓未來的資訊偷偷洩漏進訊號,讓回測績效虛胖。正確做法是收盤後才選股、隔一個交易日進場,讓策略只用到當下真的拿得到的資訊。
怎麼把收盤價變成一個會跑的回測
收盤價是大多數策略的最底層原料。最直接的用法是算報酬:把每日收盤價相除取變化率,就得到每檔股票的日報酬,再依此接成持倉、累積成資金曲線。在這之上可以再疊幾層,例如用一段期間的累積報酬做動能排序、用均線判斷趨勢方向,或把價格與財報欄位一起運算做基本面選股。
把台股驗證過的邏輯換到美股,最有價值的地方在於檢驗同一個因子在更大的市場是否仍然成立。想看實際範例,可以參考美股探險記:一分鐘上手美股回測,股價淨值比在美股還有效嗎,它示範了如何用美股價格資料把一個選股因子完整回測一遍;若你想把焦點放在指數層級的進出場時機,用美國失業率對 S&P 500 做擇時則示範了用收盤價建構大盤訊號的另一種思路。想把這些零散訊號接成一條可以自動執行的完整流程,再往程式交易完整指南延伸。
怎麼自己取得這份資料
在 finlab 裡取出美股收盤價,先切換到美股市場,再用一行 data.get 就能拿到整張價格表:
顯示程式碼
import finlab
from finlab.markets.us import USMarket
from finlab import data, config
finlab.login()
config.set_market(USMarket)
df = data.get("us_price:close")
s = df["AAPL"].dropna()
s.plot()回傳結果以日期為列、ticker 為欄,可以直接和其他欄位運算。更多美股欄位可以從美股資料總覽往下挖。不會寫程式也沒關係,這個頁面下方可以把「取得這份資料並跑一段美股回測」這件事直接交給 AI 幫你完成。