從自用工具到開源

每個量化交易者的工作流程都有一個共同起點:從上千個幣種中,篩出符合自己條件的標的。

我們團隊也不例外。在建置自動交易系統的過程中,我們需要一個工具來回答最基本的問題:現在哪些幣種符合我的技術條件?

市面上有不少篩幣工具,但多數有以下問題:

  • 免費版功能受限,核心功能要付費
  • 不支援自定義指標組合
  • 無法本地部署,數據安全是問號
  • 無法跟自己的自動化流程整合

所以我們自己寫了一個。用了幾個月後,決定把它開源。

CoinSifter 能做什麼

六種技術指標

指標說明設定範例
RSI相對強弱指數48 < RSI < 52 找盤整突破
EMA指數移動平均EMA20 > EMA50 確認趨勢
MACD移動平均收斂發散柱狀圖由負轉正,動能反轉
布林帶Bollinger Bands價格觸及下軌,尋找反彈
KD隨機指標K 線從超賣區向上穿越 D 線
成交量Volume突破近期平均量的 2 倍

所有指標都可以設定上下限,自由組合成篩選策略。

策略系統

篩選條件存成 YAML 檔案,一個策略就是一組規則:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# strategies/trend_long.yaml
name: "趨勢做多"
timeframe: "4h"
filters:
  RSI:
    min: 50
    max: 70
  EMA:
    short_period: 20
    long_period: 50
    condition: "short_above_long"
  Volume:
    min_ratio: 1.5

可以儲存多個策略,做多做空各一套,隨時切換。

Web UI

瀏覽器介面,三個功能頁:

  1. 篩選器 — 選擇策略,一鍵掃描,結果用指標卡片展示
  2. 排程掃描 — 設定每 N 小時自動掃描,結果推播到 Telegram
  3. 設定 — API Key、Telegram Bot、掃描參數

深色主題,適合長時間盯盤。

Telegram 推播

篩出符合條件的幣種時,自動推送到指定的 Telegram 群組或私聊。不需要一直開著電腦看結果。

架構設計

1
2
3
4
5
6
7
8
9
┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│  策略 YAML  │────▶│  篩選引擎    │────▶│  結果輸出   │
│  (規則定義) │     │  (指標計算)  │     │  (Web/TG)   │
└─────────────┘     └──────┬───────┘     └─────────────┘
                    ┌──────┴───────┐
                    │ Binance API  │
                    │ (K線數據)    │
                    └──────────────┘

核心元件:

  • filter_engine.py — 篩選引擎,接收策略規則和市場數據,輸出符合條件的幣種
  • indicators.py — 技術指標計算,純 Python + pandas
  • notifier.py — 通知模組,支援 Telegram
  • web.py — Flask Web 伺服器,提供 UI
  • coinsifter.py — CLI 入口,支援單次和循環模式

5 分鐘快速上手

前置需求

  • Python 3.8+
  • Binance API Key(免費申請,設唯讀權限即可)

安裝

1
2
3
4
git clone https://github.com/judyailab/coinsifter.git
cd coinsifter
pip install -r requirements.txt
cp config.example.yaml config.yaml

設定 API Key

編輯 config.yaml,填入你的 Binance API Key:

1
2
3
binance:
  api_key: "你的API_KEY"
  api_secret: "你的API_SECRET"

只需要唯讀權限(Enable Reading),不需要開啟交易權限。

啟動 Web UI

1
python web.py

打開瀏覽器前往 http://localhost:5050,選擇策略,按下掃描。

命令列模式

1
2
3
4
5
6
7
8
# 使用預設策略掃描
python coinsifter.py

# 指定策略
python coinsifter.py --strategy strategies/trend_long.yaml

# 循環模式(每 4 小時掃描一次)
python coinsifter.py --loop --interval 14400

為什麼開源

三個理由:

1. 篩幣是交易的起點,不應該有門檻

篩選工具本身不提供交易優勢。真正的優勢來自你怎麼解讀篩選結果、怎麼設計交易策略、怎麼控制風險。把入口工具免費開放,讓更多人能專注在真正重要的事情上。

2. 開源能讓工具變更好

我們的團隊很小,不可能覆蓋所有幣種、所有指標、所有使用場景。開源後,社區可以貢獻新的指標、修復 bug、提出改進建議。

3. 建立信任

我們未來會推出進階的分析和交易工具。先用免費的開源工具證明我們的技術能力和誠意,比用行銷話術更有說服力。

接下來

CoinSifter 是第一步。接下來我們計劃:

  • 更多技術指標:ATR、ADX、OBV 等
  • 多交易所支援:OKX、Bybit
  • 回測整合:篩選結果直接餵入回測框架,驗證策略有效性
  • 社區策略庫:讓使用者分享和評分篩選策略

如果你覺得這個工具有用,歡迎在 GitHub 上給個 Star。


CoinSifter 是 JudyAI Lab 的開源專案。MIT 授權,完全免費使用和修改。

參考來源

關鍵數據

  • 2 倍成交量突破門檻
  • 5 分鐘快速上手
  • 5000 users (Threads + Newsletter 訂閱合計)

進一步閱讀