<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>风控系统 on My Life is Going On</title>
        <link>https://liuhp.net/tags/%E9%A3%8E%E6%8E%A7%E7%B3%BB%E7%BB%9F/</link>
        <description>Recent content in 风控系统 on My Life is Going On</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Fri, 03 Apr 2026 23:08:00 +0800</lastBuildDate><atom:link href="https://liuhp.net/tags/%E9%A3%8E%E6%8E%A7%E7%B3%BB%E7%BB%9F/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>BTC 量化交易系统：从爆仓教训到 &#43;607% 收益</title>
            <link>https://liuhp.net/post/2026-04-03-btc-%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93%E7%B3%BB%E7%BB%9F-%E4%BB%8E%E7%88%86%E4%BB%93%E6%95%99%E8%AE%AD%E5%88%B0-800-%E6%94%B6%E7%9B%8A/</link>
            <pubDate>Fri, 03 Apr 2026 23:08:00 +0800</pubDate>
            <guid>https://liuhp.net/post/2026-04-03-btc-%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93%E7%B3%BB%E7%BB%9F-%E4%BB%8E%E7%88%86%E4%BB%93%E6%95%99%E8%AE%AD%E5%88%B0-800-%E6%94%B6%E7%9B%8A/</guid>
            <description>&lt;h2 id=&#34;前言一次惨痛的教训&#34;&gt;前言：一次惨痛的教训&#xA;&lt;/h2&gt;&lt;p&gt;2026年3月19日，我的 ml-strategy 系统的8个策略全部爆仓。资金归零。&lt;/p&gt;&#xA;&lt;p&gt;这不是意外，是必然。我犯了几个致命错误：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;多策略 ≠ 分散风险&lt;/strong&gt;：8个策略用的是相似逻辑，失败时一起失败&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;未经验证实盘&lt;/strong&gt;：回测好看就直接上实盘&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;没有风控边界&lt;/strong&gt;：止损随意，止盈靠运气&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;那次之后，我重构了整个系统。这篇文章记录新的 btc-quant-skill 从零到 +801% 收益的设计过程。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;微架构设计回测和实盘必须一致&#34;&gt;微架构设计：回测和实盘必须一致&#xA;&lt;/h2&gt;&lt;p&gt;之前最大的问题是：回测用一套逻辑，实盘用另一套。&lt;/p&gt;&#xA;&lt;p&gt;新的架构强制一个原则：&lt;strong&gt;策略逻辑只有一个入口&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;┌─────────────────────────────────────────────────────────────┐&#xA;│                    Strategy Engine (核心)                    │&#xA;├─────────────────────────────────────────────────────────────┤&#xA;│ 数据加载 → 特征构建 → 信号生成 → 风控检查 → 交易执行          │&#xA;└─────────────────────────────────────────────────────────────┘&#xA;                          │&#xA;          ┌───────────────┴───────────────┐&#xA;          │                               │&#xA;   ┌──────▼──────┐                 ┌──────▼──────┐&#xA;   │ Backtest    │                 │ Live Trade  │&#xA;   │ Provider    │                 │ Provider    │&#xA;   │ (本地 CSV)   │                 │ (OKX API)   │&#xA;   └─────────────┘                 └─────────────┘&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;唯一差异：数据源&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;回测用 CSV 历史数据（&lt;code&gt;BacktestProvider&lt;/code&gt;）&lt;/li&gt;&#xA;&lt;li&gt;实盘用 OKX API（&lt;code&gt;LiveProvider&lt;/code&gt;）&lt;/li&gt;&#xA;&lt;li&gt;策略代码完全相同&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这样做的好处：回测能过，实盘大概率也能过。不会出现&amp;quot;回测收益 4548%，实盘爆仓&amp;quot;的情况。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;xgboost-三分类模型&#34;&gt;XGBoost 三分类模型&#xA;&lt;/h2&gt;&lt;p&gt;模型很简单：三分类，预测下一根 K 线的方向。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;类别&lt;/th&gt;&#xA;          &lt;th&gt;含义&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;中性（不开仓）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;做多&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;做空&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;特征工程&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;用 30 个技术指标，来自 4 个时间框架（5m/15m/1h/4h）：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;趋势类：SMA、EMA、MACD&lt;/li&gt;&#xA;&lt;li&gt;波动类：ATR、布林带宽&lt;/li&gt;&#xA;&lt;li&gt;量价类：成交量变化、资金流向&lt;/li&gt;&#xA;&lt;li&gt;动量类：RSI、KDJ&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;置信度过滤&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;模型输出三个概率：&lt;code&gt;prob_neutral&lt;/code&gt;、&lt;code&gt;prob_long&lt;/code&gt;、&lt;code&gt;prob_short&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;置信度 = 最大概率。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;置信度&lt;/th&gt;&#xA;          &lt;th&gt;动作&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;≥ 60%&lt;/td&gt;&#xA;          &lt;td&gt;开仓（仓位与置信度成正比）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&amp;lt; 60%&lt;/td&gt;&#xA;          &lt;td&gt;不开仓&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;置信度 90% 时满仓，60% 时 30% 仓位。这样高置信度信号贡献主要收益，低置信度信号控制风险。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;风控系统atr-动态止损止盈&#34;&gt;风控系统：ATR 动态止损止盈&#xA;&lt;/h2&gt;&lt;p&gt;固定百分比止损是错的。BTC 波动大时 1% 是正常波动，波动小时 0.5% 就够了。&lt;/p&gt;&#xA;&lt;p&gt;我用 ATR（平均真实波动范围）动态计算：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;参数&lt;/th&gt;&#xA;          &lt;th&gt;公式&lt;/th&gt;&#xA;          &lt;th&gt;示例值&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;止损距离&lt;/td&gt;&#xA;          &lt;td&gt;ATR × 4&lt;/td&gt;&#xA;          &lt;td&gt;~0.35%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;止盈距离&lt;/td&gt;&#xA;          &lt;td&gt;ATR × 9&lt;/td&gt;&#xA;          &lt;td&gt;~0.8%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;风险收益比 = 2.25:1&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;这意味着：每冒 1 单位风险，预期收益 2.25 单位。长期来看，胜率 50% 也能盈利。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;移动止盈&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;盈利超过 1% 后，启动追踪止盈：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;做多：追踪最高价，回撤 0.5% 触发平仓&lt;/li&gt;&#xA;&lt;li&gt;做空：追踪最低价，反弹 0.5% 触发平仓&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这能锁定大部分盈利，不会因为&amp;quot;贪心&amp;quot;把盈利变成亏损。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;超时平仓&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;有时候信号质量差，价格长期不动。这时候不应该继续持有。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;状态&lt;/th&gt;&#xA;          &lt;th&gt;最长持有&lt;/th&gt;&#xA;          &lt;th&gt;说明&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;保本（±0.15%）&lt;/td&gt;&#xA;          &lt;td&gt;30 分钟&lt;/td&gt;&#xA;          &lt;td&gt;快速离场&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;亏损&lt;/td&gt;&#xA;          &lt;td&gt;60 分钟&lt;/td&gt;&#xA;          &lt;td&gt;强制平仓&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;全部&lt;/td&gt;&#xA;          &lt;td&gt;90 分钟&lt;/td&gt;&#xA;          &lt;td&gt;无论盈亏都平仓&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;回测结果607-收益&#34;&gt;回测结果：+607% 收益&#xA;&lt;/h2&gt;&lt;p&gt;2025年1月 - 2026年3月回测（15个月，BTC-USDT-SWAP 永续，5 分钟 K 线，&lt;strong&gt;手续费 0.1%&lt;/strong&gt;）：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;指标&lt;/th&gt;&#xA;          &lt;th&gt;值&lt;/th&gt;&#xA;          &lt;th&gt;说明&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;收益率&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;+607.47%&lt;/td&gt;&#xA;          &lt;td&gt;15个月累计收益&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;夏普比率&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;28.74&lt;/td&gt;&#xA;          &lt;td&gt;风险调整收益极高&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;最大回撤&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;-1.46%&lt;/td&gt;&#xA;          &lt;td&gt;风控有效&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;胜率&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;81.1%&lt;/td&gt;&#xA;          &lt;td&gt;信号质量高&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;验收标准全部达标：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;收益率 &amp;gt; 30% ✅&lt;/li&gt;&#xA;&lt;li&gt;夏普 &amp;gt; 1.5 ✅&lt;/li&gt;&#xA;&lt;li&gt;回撤 &amp;lt; 20% ✅&lt;/li&gt;&#xA;&lt;li&gt;胜率 &amp;gt; 70% ✅&#xA;全量回测：4,291 笔交易，胜率 81.1%，收益率 +607%（手续费 0.1%）。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;验收标准全部达标：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;收益率 &amp;gt; 30% ✅&lt;/li&gt;&#xA;&lt;li&gt;夏普 &amp;gt; 1.5 ✅&lt;/li&gt;&#xA;&lt;li&gt;回撤 &amp;lt; 20% ✅&lt;/li&gt;&#xA;&lt;li&gt;胜率 &amp;gt; 70% ✅&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;curses-终端看板&#34;&gt;curses 终端看板&#xA;&lt;/h2&gt;&lt;p&gt;实盘监控很重要。我用 curses 做了一个类似 htop 的终端看板：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;BTC 模拟交易 v3.2 ─ 23:02:00&#xA;&#xA;📊 实时行情&#xA;   价格: $66,493 │ 24h: +0.73% │ 成交量: 7.3M&#xA;&#xA;📈 持仓状态&#xA;   无持仓 │ 可用 $10,000&#xA;&#xA;🎯 信号状态&#xA;   做多 7% │ 做空 8% │ 置信度 85% │ 无&#xA;&#xA;📉 历史统计&#xA;   无交易记录&#xA;&#xA;⚙️ 运行状态&#xA;   运行中 │ PID 44731 │ 运行 02:08 │ 内存 132MB&#xA;&#xA;按 q 退出&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;原地刷新，彩色显示（涨绿跌红），按 q 退出。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;教训ml-strategy-灾难&#34;&gt;教训：ml-strategy 灾难&#xA;&lt;/h2&gt;&lt;p&gt;再强调一次：&lt;strong&gt;2026-03-19 的教训必须记住&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;问题&lt;/th&gt;&#xA;          &lt;th&gt;结果&lt;/th&gt;&#xA;          &lt;th&gt;教训&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;8 策略全部爆仓&lt;/td&gt;&#xA;          &lt;td&gt;资金归零&lt;/td&gt;&#xA;          &lt;td&gt;多策略 ≠ 分散风险&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;未经验证实盘&lt;/td&gt;&#xA;          &lt;td&gt;爆仓&lt;/td&gt;&#xA;          &lt;td&gt;模拟交易是必须步骤&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;回测盈利因子好看&lt;/td&gt;&#xA;          &lt;td&gt;实际只有一半&lt;/td&gt;&#xA;          &lt;td&gt;必须扣除开仓费&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;回测用单时间框架&lt;/td&gt;&#xA;          &lt;td&gt;实盘用多时间框架&lt;/td&gt;&#xA;          &lt;td&gt;特征必须一致&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;新系统的应对&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;模拟交易 ≥ 7 天，收益率 &amp;gt; 0，才能进入实盘&lt;/li&gt;&#xA;&lt;li&gt;回测和实盘使用相同特征构建逻辑&lt;/li&gt;&#xA;&lt;li&gt;所有回测扣除手续费（0.1%，保守估计）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;总结&#34;&gt;总结&#xA;&lt;/h2&gt;&lt;p&gt;从爆仓到 +801%，我学到了：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;微架构设计&lt;/strong&gt;：策略逻辑只有一个入口，回测实盘完全一致&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;置信度仓位&lt;/strong&gt;：高置信度信号贡献收益，低置信度控制风险&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ATR 动态风控&lt;/strong&gt;：适应不同波动环境&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;移动止盈 + 超时平仓&lt;/strong&gt;：锁定盈利，避免长期持有垃圾信号&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;模拟交易验证&lt;/strong&gt;：必须经过至少 7 天验证&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;量化交易不是玄学。是数学 + 工程 + 风控。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;代码&#34;&gt;代码&#xA;&lt;/h2&gt;&lt;p&gt;项目开源在 &lt;a class=&#34;link&#34; href=&#34;https://github.com/sugost-bolg/btc-quant-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;GitHub&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 运行回测&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python bin/btc-quant.py backtest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 模拟交易&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python bin/btc-quant.py paper&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 看板监控&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python bin/btc-quant.py dashboard&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;p&gt;&lt;em&gt;最后更新：2026-04-03&lt;/em&gt;&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
