Eugen Soloviov
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.
Articles
回測過擬合機率(PBO):你的搜尋跑贏拋硬幣了嗎?
Deflated Sharpe Ratio 給獲勝策略定價;PBO 給挑出它的那次搜尋定價。組合對稱交叉驗證(Combinatorially Symmetric Cross-Validation)在一個 1000x200 的表現矩陣上跑 C(16,8) = 12,870 次訓練/測試切分,問的是:樣本內贏家會不會落入樣本外的後一半?幾乎每個人都會看錯的地方——PBO 的零假設值是 0.5,不是 1。在 200 個零優勢策略上,最佳樣本內年化夏普比率 1.98 在樣本外坍縮到 0.06,PBO = 0.476:如同拋硬幣,徹底過擬合。植入一個真實優勢(年化夏普比率 2.38),PBO 降到 0.001,樣本內的 3.73 在樣本外仍保住 2.34。在純隨機遊走上跑移動平均線網格,同樣沒有任何樣本外的技巧——60 個矩陣平均 PBO 0.463,在統計上和零假設無法區分——而在其中一個具有代表性的矩陣上,這場海市蜃樓十分鮮明:最佳樣本內夏普比率 2.33 坍縮到樣本外中位數 -0.22,PBO 0.573,63% 的機率會虧錢。
IPC 稅:把回測引擎放到 socket 背後會損失 13%——而這幾乎與 socket 無關
我們把一個 numba 回測核心逐行移植到 Rust,並以四種方式跨程序邊界呼叫它,用等價性校驗確認到最後一筆交易都完全一致的 PnL。把整條 1.2 MB 的價格序列通過 Unix socket 傳輸一次,成本約 2 毫秒——約佔整個任務耗時的 0.1%。對同一份資料做 JSON 編碼,成本是原始位元組的 1348 倍;健談式的逐組合呼叫把資料重複傳輸了 80 次;逐 bar 呼叫模式會在一個 2.0 秒的任務上白白付出 2.1 秒的純 IPC 開銷。邊界本身很便宜,稅出在你如何跨越它。
Deflated Sharpe Ratio:你回測裡的'贏家',有多少能扛過多重檢驗?
參數搜尋是一臺製造運氣的機器。在純噪聲上——1,000 個真實優勢為零的策略——最佳年化夏普比率平均達到 1.63,樸素顯著性檢驗 100% 的時候都會宣佈發現。我們構建受控的真實基準,證明 Deflated Sharpe Ratio、Harvey-Liu 折價法與 White's Reality Check 能夠恢復誠實:假髮現率從 1.000 降到 0.001-0.057,噪聲上限之上的真實優勢仍以接近 1 的功效被保留——還有一個真實的陷阱(相關網格),在那裡原始 DSR 會過度折損,其結論必須放在一整條有效試驗數估計的區間上通讀,而不是隻看一個數字。
目標函數設計:你最佳化的那個指標,正悄悄替你選好了策略
要搜尋'最好'的策略,你必須先定義什麼是'最好'——而那個標量,會悄悄替你選出贏家。在帶有已知優勢的合成數據上(600 個種子,T=2000,80 個候選閾值),樸素的逐筆(per-trade)夏普比率會加冕一張彩票:它在 56% 的種子上選出曝光率低於 5% 的贏家,在 57% 的種子上發生退化——在最極端的那個種子上,8 筆交易的樣本內夏普比率高達 21.09,樣本外卻崩塌到 0.13。誠實的修復幾乎平淡無奇:在整條時間線上測量,它從不退化(樣本外 1.71)。交易筆數(conf_k)收縮與曝光率下限可以給逐筆指標打補丁,但即便完全修復,它們也只能追平整條時間線夏普比率(1.70 對 1.71)——永遠無法超過它。古德哈特定律,在回測裡,配上受控的真實基準。
前視偏差:一根 K 線的錯誤如何從純噪聲中憑空製造出 15 的夏普比率
一項對細微前視洩漏如何悄然抬高回測表現的受控研究。在完全沒有真實優勢的情況下,同 K 線成交從純噪聲中製造出 +14.8 的年化夏普比率;提前一根 K 線窺視指標則製造出 +4.8。本文給出完整分類、實測量級,以及在它耗費你真金白銀之前如何檢測每一種洩漏。
回測引擎速度階梯:筆記本 CPU 上 298 倍提速,PnL 精確到最後一筆交易
對同一個 80 組合參數掃描的五種實現,全部驗證產出完全相同的 PnL:pandas 的 rolling.apply 耗時 69.9 秒,numpy 3.1 秒,numba 2.0 秒,並行 numba 0.23 秒——在一臺 Apple M2 Max 上、硬體零改動,實測提速 298 倍,即便相對一個稱職的向量化基準也仍快約 13 倍。每一級階梯到底帶來了什麼、為什麼 GPU 不是那塊缺失的拼圖,以及海量參數搜尋中真正的瓶頸藏在哪裡。
researcher:面向人類與 AI 智慧體的可搜尋量化研究檔案庫
我們如何構建 researcher.marketmaker.cc —— 一個統一的、支援全文搜尋的量化研究檔案庫(arXiv 論文、GitHub 倉庫、量化部落格、TradingView Pine 指令碼),人類可以瀏覽,AI 智慧體可以通過 MCP 查詢。
algo-investor-skills:用 Claude Code 技能打造經得起騙局質疑的投資人方案
深入解讀 algo-investor-skills —— 一套 Claude Code 技能,能把一個演算法交易策略從原始的實測事實,一路打造成經過審計、以誠實為先的投資人方案。六個可組合的技能、一個金融模型引擎、一套獨立驗證的證明包,以及一道絕不編造任何數字的強制性懷疑型投資人審計關卡。
策略的凱利公式:如何確定倉位大小並分配資本
正期望策略也可能因為下注規模失誤而爆倉。我們從公式推導一路講到策略組合,剖析凱利公式:為什麼 full Kelly 很危險,分數凱利如何用一半的波動率換來 75% 的增長,以及一個互動式計算器,讓你直觀看到凱利比例如何改變收益與風險。
每日股票分析:把自選股清單變成每日決策儀表盤的AI系統
深度解析ZhuLinsen的daily_stock_analysis——一個開源系統,跨A股、港股、美股等市場抓取行情資料,通過LLM完成技術面與資訊分析,並在每個交易日把結構化的“決策儀表盤”推送到你的即時通訊工具。涵蓋架構、資料回退、智慧體策略與侷限性。
用於多時間跨度組合預測的時序融合 Transformer
谷歌的時序融合 Transformer 如何為量化組合管理帶來可解釋的多時間跨度預測:基於注意力的變數選擇、分位數輸出,以及一條完整的 pytorch-forecasting 實戰流程。
用於風險感知倉位管理的保形預測
無分佈假設、帶有覆蓋率保證的預測區間。我們使用 split conformal、jackknife+ 以及自適應保形推斷來校準交易風險,並在不依賴參數化假設的情況下確定倉位規模。