iT邦幫忙

2026 iThome 鐵人賽

DAY 1
0
Software Development

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

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

  • 分享至 

  • xImage
  •  

正式開賽前的一篇閒話家常。我猜今年應該會比去年更加嚴重,大概會滿大街的 AI 主題,所以我決定反方向走:以一個零交易基礎的工程師,用 30 天邊學邊做,寫一套量化交易系統(當然寫 code 的部分還是少不了 AI 啦)。講講選題緣由、路線圖、適合誰看,以及三件先講清楚的事。

先講前提:我不會交易

報名鐵人賽的時候,我對交易的理解大概停在「紅色是跌、綠色是漲」,而且還常常記反。沒開過槓桿、沒抱過部位、看到一堆技術線圖只覺得眼花。

然後我挑了量化交易當題目。

這聽起來有點不負責任,所以必須先把話說在前面:這個系列不會是一個老鳥在傳授他的獨門絕活,是一個工程師進入「交易」這個領域,發現裡面有近八成是自己不會的東西,然後把它學起來,寫成程式的過程。

還有一個原因:今年大概會滿大街都是 AI

稍微比較一下去年的 AI 與現在的 AI 的差別就知道,今年的參賽作品應該會有很大一部分跟 AI 有關。grill-me skill、Loop Engineering、各種把 LLM 接進既有系統。 這些題目都很棒,我自己平常對自己的 workflow 做一些 AI 化的優化。

但正因為這樣,我想試試看反方向。

這個系列從第一天到第三十天,不會用到任何 LLM、不會接任何 AI API、不會出現一行 prompt(寫 code 例外)。 所有的判斷都是自己寫的規則,所有的數字都是算出來的。策略賺錢還是賠錢,原因就在你寫的那幾行條件裡,查得到、改得動、講得清楚是哪一步出錯。

這不是在說 AI 不好。 只是當我們把 AI 當成一個黑盒子,裡面發生什麼你看不到、改不了、講不清楚,這種「不透明」的感覺對我來說很不舒服。這個系列想做的,是一個完全透明、自己能掌握的交易系統。

為什麼是量化交易

先講世俗的版本:交易看起來很大人,而且我想賺點零用錢。

就這樣,沒有更高尚的理由。看到有人寫一支程式,讓它自己在市場上跑,半夜還在幫你工作,這件事本身就很吸引人。至於最後能不能真的賺到,那是另一回事,這個系列後面會有好幾篇在講「看起來會賺」跟「真的會賺」中間隔了多遠。但動機就是動機,不用包裝成別的樣子。

再講站得住腳的版本:量化交易剛好把工程師熟悉的東西全部用上了一遍:

要從交易所把幾年份的歷史資料抓下來,這是資料工程。要把指標寫成可測試、算得快的函式,這是演算法與效能。要讓機器人凌晨三點斷線之後自己活過來,這是防禦性設計與維運。要判斷一個策略到底有沒有用,這是數據分析與統計。最後要把整包東西塞進容器丟上雲端,這是部署

還有一件事是寫軟體時比較少見的:它的回饋很誠實。 平常寫的程式好不好,很多時候是主觀的,兩個資深的人可以為了一個命名吵一個下午。

這件事最近好像也正在變。Uncle Bob 前陣子在 X 上說,他已經不去讀 agent 產出的 code 了,改成用一整套自動化測試把它圍起來,只要測試全過,他就有足夠的信心接受那段程式。這個說法在社群裡蠻震撼的,有人覺得這是務實,有人覺得這是放棄。但撇開立場不談,它反映的是判準正在從「這段 code 讀起來對不對」往「跑出來的結果對不對」移動。

而交易本來就只有後面那一種。沒有人會問你的策略寫得漂不漂亮,只會看那條權益曲線。數字會直接告訴你行不行,而且通常比你想的難看很多。這種「沒得凹」的感覺,我覺得挺好。

這 30 天會長成什麼樣子

全系列會蓋同一個專案,叫 quantbot。它從一支「抓 K 線印出來」的腳本開始,最後會變成一個掛在雲端、自己抓資料、自己算訊號、自己下單、出錯還會傳訊息跟你回報的服務。

分成四段:

階段 天數 在幹嘛
基石 Day 01–08 把行情資料抓下來、存好、算出前三個指標
微觀結構 Day 09–15 往下挖到逐筆成交與掛單簿,做出看盤軟體上沒有的特徵
策略與回測 Day 16–22 把策略拆成可以自由組合的積木,然後想辦法證明它們到底有沒有用
上線與維運 Day 23–30 風控、告警、加速、容器化,讓它能無人值守地跑下去

適合誰看

應該會有收穫:

  • 會寫程式、對交易有點好奇,但不知道從哪裡開始
  • 想看一個系統怎麼從一支腳本長成自動化的服務
  • 對資料管線、回測、效能優化這些事情本身就有興趣

可能不適合:

  • 想找明牌或現成賺錢策略的人。這裡沒有,真的沒有(我不想坐牢,別害我啦)。
  • 已經在做量化的人。前兩週的內容對你來說會太慢。
  • 完全不想碰程式的人。這系列從第一天就在寫 code。

三件先講清楚的事

一、這個系列不教你怎麼判斷會漲會跌。

它教的是怎麼把一個判斷變成可驗證、可自動執行的系統。至於那個判斷本身好不好,是另一個題目,而且是一輩子的題目。

二、成本。

資料用交易所官方免費的公開資料包,下單練習用 testnet 的假錢。不需要買資料源、不需要開實單、不用付任何月費 ( 當然你也可以切換成實際的線上資訊,這樣可能更有感)。

三、失敗我會照實寫。

回測看起來很賺的策略,加上手續費跟滑價之後就不成立了,這種事很常發生。發生的時候我會直接寫出來,就不會硬湊一個漂亮的結果。

最後

三十天說長不長,說短不短。我對這個題目的掌握程度,大概就是知道自己不懂哪些東西而已,所以整個系列某種程度上也是我自己的學習紀錄。寫錯的地方歡迎留言指正,我會回頭修。

那就這樣,明天正式開始。

明天

Day 01 會做三件事:把量化交易到底在做什麼講清楚、攤開加密貨幣的資料來源版圖(順便告訴你為什麼這三十天一毛錢都不用花),然後把 quantbot 的開發環境建起來。

本系列為程式與資料工程的技術分享,所有策略與數字皆為教學範例,不構成投資建議;加密貨幣波動劇烈,實際交易請自行評估風險。

Reference


下一篇
Day 01:會寫程式、但完全不懂交易,量化交易該從哪裡開始
系列文
量化交易入門:從 K 線到可組合的交易策略引擎2
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言