iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

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

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

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

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

Day 10:掛單簿買賣兩邊不對稱代表什麼?用 Order Book Imbalance 量化短線壓力

先錄一段資料:45 分鐘、2,508 筆掛單簿快照 Day 09 最後看到的深度摘要透露了兩件事:買賣價差是固定的 0.01 USDT,以及兩側的掛量變化很劇烈...

2026-08-10 ‧ 由 ksz54213 分享
DAY 11

Day 11:均價要用哪個?VWAP 與成交量加權的資金流視角"

有人買在 65,000,有人買在 64,500,那「現在」是賺還是賠 Day 10 的 OBI 有一個很硬的限制:現貨的掛單簿歷史在免費資料源裡不存在,所以它只...

2026-08-11 ‧ 由 ksz54213 分享
DAY 12

"Day 12:同樣的價格,有時候很危險有時候沒事:用交易活躍度定義市場的節奏

12 顆 BTC 是多還是少 Day 09 那兩根 K 線,到今天第三次出場,因為它們正好卡在今天要問的問題上: 開盤時間(UTC) 成交量(BTC) 成...

2026-08-12 ‧ 由 ksz54213 分享
DAY 13

Day 13:突破了卻馬上被打回來?從流動性擺盪找出假突破的資料特徵

一個會讓訊號完全消失的寫法 前面四天的特徵都是連續的:每一根 K 線都有一個值,RSI 是 43.2、OBI 是 −0.17、偏離度是 1.4。今天的東西不一樣...

2026-08-13 ‧ 由 ksz54213 分享
DAY 14

Day 14:支撐壓力線可以不用手畫嗎?用 Volume Profile 自動找出籌碼密集區

2026/08/14 更新: 因為這天的文章內容,我覺得應該要搭配一些圖查看才對,我建議直接到本人部落格的文章 搭配著看。 換一個軸來看成交量 Day 13 用...

2026-08-14 ‧ 由 ksz54213 分享
DAY 15

Day 15:第二階段總結:把指標從散落的函式收斂成可重用的 feature 模組

十個東西,十種形狀 第二階段到今天結束。手上的東西攤開來看: 來自 特徵 能得到什麼資訊 適合用在 需要的原料 形狀 Day 04–05 SMA、...

2026-08-15 ‧ 由 ksz54213 分享
DAY 16

Day 16:每寫一個策略就複製貼上一份程式?把策略拆成可以互相組合的積木

昨天那張表還沒有任何用途 第二階段結束時手上有一條管線:一份 YAML 進去,一張特徵表出來。十三欄數字,每一欄都驗證過、都知道它在講什麼。 但它還不能做任何決...

2026-08-16 ‧ 由 ksz54213 分享
DAY 17

Day 17:第一個組合:先用 Python 寫出趨勢跟隨的邏輯,再把它拆成積木

先寫死,再抽象 昨天做完積木庫,但三個策略都是在 Python 裡手動用 & 組出來的。今天要走完整條路徑,走到「使用者改一份 YAML 就能換策略」。...

2026-08-17 ‧ 由 ksz54213 分享
DAY 18

Day 18:換一組積木就換一種風格:均值回歸與動能爆發

一個策略證明不了抽象是對的 昨天的結論是「新增策略的成本是一份 YAML」。這句話目前沒有被驗證過——只有一個策略的時候,任何抽象看起來都夠用,因為那個抽象就是...

2026-08-18 ‧ 由 ksz54213 分享
DAY 19

Day 19:策略在腦中很賺,怎麼證明?用向量化歷史回測算出第一份績效數字

三個策略,零個數字 昨天結束時手上有三個能跑的策略,而沒有一個數字回答「這些訊號值不值錢」。曝險 48% 與 1.35% 的兩個策略,連比較的基準都還沒有。 今...

2026-08-19 ‧ 由 ksz54213 分享