iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

量化交易入門:從 K 線到可組合的交易策略引擎 系列

Hi 我是James, 後端軟體工程師,量化交易零基礎。這 30 天不是我來教什麼,是我們從頭學一遍,把過程紀錄下來。 切入點是把量化交易當成一條資料 pipeline:資料進來、算出特徵、判斷條件、產生訊號、決定部位、下單、記錄。

前段先弄懂免費資料源怎麼抓、K 線在講什麼、自己實作的指標算得對不對;中段試著從逐筆成交與掛單簿挖特徵;後段把策略拆成能用設定檔組合的積木,學怎麼回測、怎麼算真實成本、怎麼判斷結果是不是自己騙自己;最後讓它在 testnet 上跑起來。

參賽天數 22 天 | 共 23 篇文章 | 10 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 00:AI 元年,我卻挑了一個自己完全不懂又沒 AI 的題目:量化交易

正式開賽前的一篇閒話家常。我猜今年應該會比去年更加嚴重,大概會滿大街的 AI 主題,所以我決定反方向走:以一個零交易基礎的工程師,用 30 天邊學邊做,寫一套量...

2026-08-01 ‧ 由 ksz54213 分享
DAY 1

Day 01:會寫程式、但完全不懂交易,量化交易該從哪裡開始

量化交易去掉術語之後,剩下的骨架就是一條後端資料 pipeline。這篇講清楚工程師進場的三個切入點與三個常犯的錯,攤開加密貨幣的資料來源版圖與選型理由,最後把...

2026-08-01 ‧ 由 ksz54213 分享
DAY 2

Day 02:打開行情圖只看到一堆紅綠棒子?先把 K 線(OHLCV)拆成熟悉的資料結構

一根 K 線就是一段時間內所有成交的 summary statistics,五個數字而已。這篇把 OHLCV 拆開看:五個欄位各自回答什麼問題、時間框架怎麼選、...

2026-08-02 ‧ 由 ksz54213 分享
DAY 3

Day 03:想抓一年份的行情資料,卻被 API 限流擋下來?別用 API,先把官方資料包整包載下來

一個月不夠用,要的是三年 昨天我們手上多了一張 DataFrame:BTC/USDT 現貨的日線,一個月,存成 parquet,還畫了第一張 K 線圖。那份資料...

2026-08-03 ‧ 由 ksz54213 分享
DAY 4

Day 04:均線到底在均什麼?MA 與 SMA 的向量化實作與三個常見算錯的地方

資料有了,接下來要從裡面算出東西 昨天 Day 03 把回補管線寫好了:BackfillCandlesApplication 會決定哪段走 data.binan...

2026-08-04 ‧ 由 ksz54213 分享
DAY 5

Day 05:SMA 反應太慢、訊號永遠慢半拍?換上 EMA 並看懂它的遞迴特性

昨天那條線,永遠晚幾根才轉彎 昨天把 SMA 寫完了,也順手畫了 SMA(20) 與 SMA(60) 的疊圖。把圖拉到某一段跌得比較急的位置,會看到一件有點礙眼...

2026-08-05 ‧ 由 ksz54213 分享
DAY 6

Day 06:怎麼知道現在是漲太多還是跌太深?用 RSI 把動能量化成 0–100

兩條均線黏在一起的時候,什麼都看不出來 Day 04 的 SMA 和 Day 05 的 EMA 都在回答同一個問題:價格往哪個方向走。這個問題在趨勢明顯的時候答...

2026-08-06 ‧ 由 ksz54213 分享
DAY 7

Day 07:行情資料越存越多、查詢越來越慢?為什麼時序資料庫(TimescaleDB)才是對的容器

因為這邊會使用到 TimescaleDB,我有另外寫一篇文章介紹它,如果對 TimescaleDB 不熟的讀者們不妨可以先看完此篇文章:TimescaleDB...

2026-08-07 ‧ 由 ksz54213 分享
DAY 8

Day 08:第一階段總結:把擷取、清洗、入庫串成一條每天自己跑的 Pipeline

零件都齊了,但它們之間還是手動接的 昨天把 TimescaleDB 的 schema 建好、寫入做成冪等的了。要驗證它能用,大概是這樣做的:手動跑一次 Day...

2026-08-08 ‧ 由 ksz54213 分享
DAY 9

Day 09:K 線把一分鐘壓成四個數字,中間發生的事呢?認識 Tick 與 L2 Order Book

同一天的兩分鐘,K 線圖上長得幾乎一樣 Day 02 把 K 線拆成五個數字的時候,留了一句話沒展開:壓縮是有損的。今天就來說說那個伏筆。 從之前入庫的 BTC...

2026-08-09 ‧ 由 ksz54213 分享