技術手冊 · Field Manual 2026 夏季號
github.com/AruneshDev/Automated-Trading-System-Kalshi-Weather-Model · 78 ★
K
實戰專案 · 預測市場 / 機器學習

用機器學習
預測每日高溫,
在 Kalshi 下單。

Automated-Trading-System-Kalshi-Weather-Model 是一套以 XGBoost 為核心的自動化交易系統。它預測紐約、邁阿密、奧斯汀、芝加哥四座城市的每日最高溫,並透過 Kalshi API 在對應的天氣事件市場自動下單。專案以 Jupyter Notebook 為主,涵蓋資料收集、模型訓練、自動執行到績效分析的完整流程。

78
GitHub Stars
4
預測城市模型
3
核心 Notebook
未標示
授權 License
01
這是什麼

XGBoost 預測高溫,在 Kalshi 自動下單。

這是一套自動化機器學習交易系統。它的目標很明確:預測紐約、邁阿密、奧斯汀、芝加哥四座城市的每日最高溫,並依預測結果在 Kalshi 的天氣事件市場下單。Kalshi 是美國受監管的事件合約交易所,「某城市今日最高溫落在某區間」本身就是一種可交易的合約,因此一個夠準的溫度模型可以直接轉化為交易訊號。

系統核心是 XGBoost 迴歸模型。四座城市各自獨立建模,訓練資料取自 NOAA 等氣象來源的歷史天氣紀錄,超參數以 grid search 搭配手動調校最佳化。模型輸出每日最高溫預測,再由交易程式對應到 Kalshi 的合約區間。

專案用三本 Jupyter Notebook 組織整條流程:Final_Prediction_Model.ipynb 訓練模型,KalshiTradingV2.ipynb 串接 Kalshi API 自動下單,MSE of Settled Trades.ipynb 在交易結算後以 MSE 評估預測誤差。作者把開發過程歸納為三階段:先手動交易理解市場,再訓練模型,最後交給自動化執行。

開發路徑 · 三階段
手動交易 模型訓練 自動執行 績效分析
一套自動化機器學習系統,預測四座美國城市的每日最高溫,並在 Kalshi 預測市場執行交易。
— 專案 README 自述
02
環境與安裝

取得專案,依序執行三本 Notebook

這是一個以 Jupyter Notebook 為主的研究型專案,不是可全域安裝的 CLI 工具。流程是:取得專案、安裝相依套件、在 Jupyter 或 VS Code 開啟 notebook,逐格執行。下單部分需要 Kalshi 帳號與 API 憑證。

# 取得專案並安裝相依套件 git clone https://github.com/AruneshDev/Automated-Trading-System-Kalshi-Weather-Model.git cd Automated-Trading-System-Kalshi-Weather-Model pip install -r requirements.txt

執行順序:三本 Notebook

README 指定的執行順序如下。先訓練模型,確認預測可用後再串接交易,最後在交易結算後檢視績效。

# 1 · 訓練 XGBoost 溫度模型 Final_Prediction_Model.ipynb # 2 · 串接 Kalshi API 自動下單 KalshiTradingV2.ipynb # 3 · 結算後以 MSE 評估績效 MSE of Settled Trades.ipynb
安裝前先確認兩件事。其一,README 未列出 requirements.txt 的完整套件與版本,重現環境時可能需自行補齊;其二,KalshiTradingV2.ipynb 會以真實資金下單,首次執行務必先用小額,或在了解每一格行為後再連線。
03
能力總覽

資料到下單的完整管線。

專案由資料目錄與三本 notebook 構成一條線性管線:資料進來、訓練模型、產生預測、對應下單、結算後評估。下表把各組成依階段列出。核心是三本 notebook,其餘目錄是它們的輸入與產出。

資料 · 01
/Data
歷史氣象資料
蒐集自 NOAA 等氣象來源的歷史天氣資料集,作為四城溫度模型的訓練輸入。
模型 · 02
Final_Prediction_Model.ipynb
XGBoost 訓練
訓練四城每日最高溫預測模型,含 grid search 與手動超參數調校。
模型 · 03
XGBoost
梯度提升
以 XGBoost 迴歸預測每日最高溫;紐約、邁阿密、奧斯汀、芝加哥各自獨立建模。
執行 · 04
KalshiTradingV2.ipynb
Kalshi API 下單
串接 Kalshi API,依模型輸出在對應的天氣事件市場自動執行交易。
評估 · 05
MSE of Settled Trades.ipynb
MSE 績效
交易結算後,以 MSE 衡量四城預測誤差與整體成效。
產出 · 06
/Xg_boost Training
訓練產出物
存放模型訓練過程的中間產物與設定,供重訓與檢視。
紀錄 · 07
/SettledPredictions
結算結果
紀錄已結算的預測與交易結果,作為回測與績效分析的依據。
文件 · 08
/Common Task Docs
任務文件
專案的共用任務說明與相關文件。

你想做什麼,開哪一本

你的目的 開啟的 Notebook
訓練或重新訓練溫度模型 Final_Prediction_Model.ipynb
串接 Kalshi、執行自動下單 KalshiTradingV2.ipynb
檢視已結算交易的誤差與績效 MSE of Settled Trades.ipynb
04
方法論 · 依官方結構

三階段開發與 MSE 評估。

以下是專案 README 與目錄結構所載的方法,而非社群技巧。它說明這套系統如何從資料走到可評估的交易決策。

01

三階段開發路徑

專案依「手動交易 → 模型訓練 → 自動執行」推進:先以人工下單建立對市場的理解,再訓練模型取代直覺,最後把決策交給自動化程式。

來源 · 專案 README
02

四座城市各自建模

紐約、邁阿密、奧斯汀、芝加哥分別訓練獨立的 XGBoost 模型,以反映各地不同的氣候型態,而非共用單一模型。

來源 · 專案 README
03

超參數以 grid search 調校

模型最佳化結合 grid search 與手動調校。訓練資料取自 NOAA 等氣象來源的歷史紀錄,作為訓練與驗證輸入。

來源 · 專案 README
04

用 MSE 衡量成效

以四座城市已結算交易的 MSE(均方誤差)評估預測準確度,作為模型是否堪用的客觀依據,而非只看單筆損益。

來源 · MSE of Settled Trades.ipynb
05
使用實例

一輪從預測到結算的流程。

以下用 notebook 的執行順序,示意一輪完整流程:訓練四城模型、產生當日最高溫預測、對應到 Kalshi 合約區間下單,隔日結算後以 MSE 檢視誤差。終端輸出為示意,實際數值依當日資料與市場而定。

Kalshi-Weather-Model · jupyter
▸ Final_Prediction_Model.ipynb [載入 /Data:NOAA 歷史氣象紀錄] [依城市切分:NYC · Miami · Austin · Chicago]
為四座城市各訓練一個 XGBoost 迴歸模型, 以 grid search 搜尋超參數,再手動微調。 [trained 4 city models] [模型與設定寫入 /Xg_boost Training]
▸ KalshiTradingV2.ipynb [連線 Kalshi API · 讀取當日天氣事件市場]
取得各城當日最高溫預測,對應到 Kalshi 的溫度區間合約,在符合條件的市場下單。 NYC 預測高溫 → 對應區間合約 → 送出委託 Miami / Austin / Chicago → 同一流程 [orders submitted · 待當日結算]
▸ MSE of Settled Trades.ipynb [讀取 /SettledPredictions:已結算結果]
將預測高溫與實測高溫比對,計算各城 MSE, 檢視哪一座城市的模型誤差最大、需要重訓。 [輸出四城 MSE 與已結算交易績效報表]
溫度區間是 Kalshi 上可交易的合約。
一個夠準的高溫模型,就是一條交易訊號。
— 這套系統把天氣預測接成下單決策的核心邏輯

這條流程為什麼這樣設計

關鍵在於把問題收斂成一個可量測的數字:每日最高溫。它同時是模型的預測目標、Kalshi 合約的結算依據,也是 MSE 評估的對象。三者對齊,模型誤差就能直接連到交易成效,讓「模型好不好」有客觀答案。

三本 notebook 的切分也呼應這點:訓練、執行、評估各自獨立,任何一步出問題都能單獨重跑,不必牽動其他步驟。

06
注意事項

上線前先看清楚邊界

  • 未宣告授權。repo 未提供 LICENSE,亦未在 README 標示授權條款。在 fork、商用或再散布之前,應先向作者確認可用範圍。
  • 涉及真實資金。KalshiTradingV2.ipynb 會在 Kalshi 上以真實資金下單。天氣預測本質帶有不確定性,模型誤差會直接造成虧損。先以最小金額驗證,再逐步放大。
  • Notebook 不是生產級服務。系統以 .ipynb 互動執行為主,缺乏長時間穩定執行、錯誤重試、告警與監控等生產設施。把它當研究與回測工具,而非無人值守的交易機器人。
  • 依賴外部氣象資料。預測仰賴 NOAA 等外部來源的歷史與即時資料。來源中斷、格式異動或缺值都會影響模型輸入與預測品質。
  • 僅覆蓋四座城市。模型只針對紐約、邁阿密、奧斯汀、芝加哥訓練。套用到其他城市需重新收集資料並重訓,不能直接沿用。
  • Kalshi 有地區與帳號規範。Kalshi 是美國受監管的事件合約交易所,使用前需符合其帳號開立與所在地區的相關規範。
  • 相依套件未完整列出。README 未列出 requirements.txt 的套件與版本明細,重現環境時可能需自行補齊或處理版本衝突。
07
進階路徑

把模型換成你的市場。

這套系統的價值在於它的結構:資料 → 模型 → 下單 → 評估的閉環。要延伸,通常是沿著這條線替換或加厚某一段。

進階玩法地圖

1. 換城市或換市場。收集目標城市的歷史氣象資料,沿用 Final_Prediction_Model.ipynb 的訓練流程重新建模,再把 KalshiTradingV2.ipynb 指向對應的合約。

2. 擴充特徵。在資料層加入更多氣象變數(濕度、氣壓、風速、雲量),重新訓練後用 MSE 比較是否真的降低誤差。

3. 換模型比較。XGBoost 之外可試 LightGBM 或時序模型,套進同一份 MSE 評估框架做公平比較,而非各說各話。

4. 加風控層。KalshiTradingV2.ipynb 的下單前加入部位上限、單日虧損上限與停損規則,降低單一誤判的衝擊。

5. 自動化排程。把 notebook 流程改寫為腳本並定時排程,減少手動逐格執行,但要先補上監控與告警。

最該先讀的三份檔案

Final_Prediction_Model.ipynb——XGBoost 溫度模型的完整訓練程式。
KalshiTradingV2.ipynb——Kalshi API 串接與自動下單邏輯。
MSE of Settled Trades.ipynb——結算後的誤差與績效分析。
原始碼:github.com/AruneshDev/Automated-Trading-System-Kalshi-Weather-Model

手動交易 → 模型訓練 → 自動執行:
先理解市場,再交給模型,最後交給自動化。
— 專案 README 的三階段開發路徑