技能要求:
Python
经验要求:
5-10年经验
工作描述:
项目编号:【43055】
AI 一體化策略技術開發計劃書(條例式)(台指期)
一、專案核心目標
開發完全本地化、單機運行的期貨日內策略研發系統。
系統功能:
遺傳演算法自動組裝交易積木。
本地 Ollama 模型輔助策略診斷。
建立穩定、私密、低延遲的研發閉環。
二、核心技術棧
中樞管理:Dify(Local Docker)
本地推論:Ollama(Llama 3 / DeepSeek)
通訊解耦:ZeroMQ(單機進程間 IPC)
演化引擎:DEAP(單進程多執行緒)
回測框架:Nautilus Trader
開發環境:Python 3.10+
三、系統模組與任務
3.1 Dify 單機工作流
任務下達 Agent:傳送演化參數至 ZeroMQ 通道。
狀態監聽 Agent:透過 ZMQ SUB 接收演化進度,Dify 介面即時顯示百分比。
智能輔助 Agent:演化停滯時調用 Ollama 查詢本地 RAG 知識庫,提供診斷建議。
流程編排 Agent:管理完整策略研發循環。
RAG 知識庫配置:
儲存本地量化文檔與交易積木手冊。
向量化存儲供 Ollama 檢索。
支援增量更新與版本管理。
3.2 ZeroMQ 異步通訊橋接
通訊架構:
任務下達通道:Dify PUSH → DEAP PULL
監控回傳通道:DEAP PUB → Dify SUB
狀態查詢通道:雙向 REQ/REP
進程隔離:
LLM 推理進程獨立運行,避免阻塞。
GA 演化進程單進程多執行緒運行。
回測驗證進程與演化分離。
確保單點故障不影響全局系統。
3.3 DEAP 策略演化核心
基因架構(STGP):
條件積木:價格行為、量價特徵、時間閾值、技術指標
動作積木:進場、減碼、全平、移動停損
演化算子:
選擇:精英保留 + 輪盤賭
變異:多點變異 + 自適應變異率
雜交:單點 + 子樹
多樣性維持:共享適應度 + 懲罰相似個體
適應度函數:
獲利因子 0.4
最大回撤 0.3
夏普比率 0.2
交易次數平滑度 0.1
3.4 Nautilus Trader 回測驗證
數據處理層:
歷史數據載入:Parquet / CSV
Tick 數據重播:毫秒級精度
資料檢查:跳空檢測、異常值處理
記憶體優化:分塊載入與流式處理
回測引擎:
撮合:第一檔 + 滑價模型
手續費:期交所標準 + 交易稅
保證金計算:動態 + 風險係數
日內強制平倉:13:45 淨倉
績效指標:
收益:累計、年化
風險:最大回撤、虧損期
效率:夏普、卡瑪
交易質量:勝率、盈虧比、獲利因子
日內特徵:平均持倉時間、周轉率
日內交易規範:
開盤前不開倉(08:45 前)
收盤強制平倉(13:45)
午休不交易(12:00-13:30)
流動性過濾:開收盤高波動期控制
四、系統整合
數據流整合:
配置數據流:Dify → ZeroMQ → DEAP
演化數據流:DEAP → 策略樹 → Nautilus
回測數據流:Nautilus → 績效 → DEAP
監控數據流:DEAP → ZeroMQ → Dify
診斷數據流:Dify → Ollama → 優化建議 → DEAP
狀態管理:
演化狀態:世代數、最佳適應度、種群多樣性
回測狀態:進行中策略、已完成策略、異常策略
系統狀態:CPU / 記憶體、進程健康度
任務狀態:等待中、執行中、已完成、已失敗
五、本地化部署方案
Docker 容器:
Dify:工作流管理 + Web 界面
Ollama:本地 LLM 推理
DEAP:演化引擎 + Python 環境
數據容器:本地資料庫 + 文件儲存
單機資源規劃:
CPU:演化進程 4 核、回測進程 2 核、LLM 推理 2 核
記憶體:演化快取 8GB、回測數據 4GB、LLM 模型 8GB
儲存:歷史數據 50GB、策略庫 10GB、日誌文件 5GB
網路:僅本地通訊,禁止外部連線
六、效能優化策略
計算優化:
numpy 向量化計算
多執行緒回測
記憶體及時回收
結果快取避免重算
通訊優化:
ZeroMQ inproc 高頻通訊
訊息壓縮
批次處理小訊息
連線池重用
七、安全與穩定性
數據安全:
全本地存儲
配置檔加密
本地使用者權限管理
完整操作日誌
系統穩定:
進程監控與自動重啟
單任務資源限制
斷電保護(定期檢查點保存)
回滾機制(異常狀態快速恢復