iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

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

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

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

鐵人鍊成 | 共 31 篇文章 | 11 人訂閱 訂閱系列文 RSS系列文
DAY 20

Day 20:回測賺 300%、實單卻賠錢?把滑價與手續費加回去看真相

理想回測的三個假設全都是假的 昨天那張表是理想回測,而理想回測假設了三件事: 能用收盤價成交。 實際上買要用賣價、賣要用買價,中間差一個價差。 不用付錢。...

2026-08-20 ‧ 由 ksz54213 分享
DAY 21

Day 21:積木能排出幾百種組合,那就全跑一遍挑最好的?這正是會虧錢的地方

那個很自然的念頭 昨天的結論是三個策略在真實成本下都不成立:一個毛利就是負的,一個只剩 0.32%,一個需要零手續費。 接下來最自然的念頭是:參數調一調就好了吧...

2026-08-21 ‧ 由 ksz54213 分享
DAY 22

Day 22:第三階段總結:讀懂權益曲線,以及怎麼公平比較幾十個策略

第三階段的最後一個問題 昨天用夏普當排名依據跑完組合搜尋,而夏普只是一個數字,它擋不住的東西很多。 今天做兩件事。前半段把績效指標補完,而每一個指標都要回答同一...

2026-08-22 ‧ 由 ksz54213 分享
DAY 23

Day 23:凌晨三點 API 斷線、機器人卡死?用防禦性設計讓它自己活下來

第四階段的第一個問題不是策略 第三階段結束時手上有一套能表達策略、驗證策略、並且判斷驗證結果可不可信的工具。它到目前為止只做過一件事:讀歷史資料,算出一條權益曲...

2026-08-23 ‧ 由 ksz54213 分享
DAY 24

Day 24:一次該下多少錢?從固定比例到凱利公式的部位管理

同一個訊號,四種下注方式 昨天處理的是「這張單送不送得出去」。今天處理它前面那個問題:這張單該下多少錢。 Day 19 到 Day 22 的四天回測裡,這個問題...

2026-08-24 ‧ 由 ksz54213 分享
DAY 25

Day 25:機器人在雲端跑,怎麼知道它還活著?用 Telegram 建立回報與告警

它現在會做的事,跟我們知道的事 到昨天為止,機器人會算訊號、會決定下多少、送單會自己重試、啟動會跟交易所對帳。這些能力有一個共同點:它們全部發生在沒有人看的地方...

2026-08-25 ‧ 由 ksz54213 分享
DAY 26

Day 26:指標算一次要好幾秒、來不及下單?用 Numba 把熱點函式加速

Day 05 留下的那個尾巴 Day 05 寫 EMA 的時候留了一句話:遞迴指標沒辦法向量化,因為每一根都依賴前一根的結果。那時候用 ewm() 繞過去了,而...

2026-08-26 ‧ 由 ksz54213 分享
DAY 27

Day 27:本機跑得好好的,上雲就掛?用 Docker 把機器人打包部署到 VPS

從「跑得動」到「一直在跑」 到目前為止所有指令都跑在本機,而本機有幾個很好的性質:Python 版本是對的、.env 在該在的位置、資料庫在 localhost...

2026-08-27 ‧ 由 ksz54213 分享
DAY 28

Day 28:策略虧錢了,但說不出是哪裡出錯?用結構化交易日誌還原每一筆決策

一份答不出問題的日誌 機器人在雲端跑了幾天,日誌長這樣: 回補完成:寫入 24 列 送單成功:BUY 0.0002 BTC/USDT 回補完成:寫入 24 列...

2026-08-28 ‧ 由 ksz54213 分享
DAY 29

Day 29:遇到閃崩、交易所停機、資料斷檔怎麼辦?把極端行情當成邊緣案例來測

先問一個問題:這些事在資料裡發生過嗎 今天的清單是這些:價格瞬間跳 20%、成交量歸零、交易所維護、掛單簿只剩一邊、下單被拒、部分成交、系統時間跳動。 在寫任何...

2026-08-29 ‧ 由 ksz54213 分享