当前位置: 首页 > news >正文

3 天从 0 入门 SQL:交易所 Market Surveillance 实战速成(Wash Trading / Spoofing / Pump Dump)

适合岗位:
Market Surveillance Intern / Market Risk Analyst / Data Analyst / Quant Intern
适合人群:
没有 SQL 基础 / 有基础但不会写复杂查询 / 想在简历写“熟练 SQL”

这套教程不是通用 SQL,而是 专为交易所风控与市场监察(MS)场景 设计,3 天 2~3 小时即可完成,学完即可:

  • 手写复杂 SQL
  • 独立写出 wash trading / spoofing / pump 查询
  • 在面试现场 3 分钟写出完整检测逻辑
  • 简历可写:“熟练使用 SQL 进行市场操纵行为检测”

🟦 Day 1:记住 6 大核心语法(2 小时顶一辈子)

大多数人学 SQL 最大的痛苦是:记不住。
但 Market Surveillance 的 SQL 永远只用这 6 个语法。

Market Surveillance 永远用这 6 个关键词

语法 用途 用在哪些风控逻辑里?
SELECT 取哪些列 交易次数、成交量、涨幅
FROM 从哪张表 trades / orders / positions
WHERE 过滤行 按 symbol、时间、用户过滤
GROUP BY 分组统计 按 user_id、symbol 等汇总行为
HAVING 过滤分组后的结果 “交易 ≥ 20 次的用户”“净成交量 ≤ 10”
ORDER BY 排序 按可疑程度排序
LIMIT 只看前几名 Top 10 可疑账户

额外再记 4 个聚合函数(统计函数):

  • COUNT(*) → 统计行数(交易次数)
  • SUM(列) → 求和(成交量)
  • AVG(列) → 平均值(平均价格)
  • MAX(列)/MIN(列) → 最大/最小

背口诀(以后所有查询都按这个顺序写)

“先 FROM 哪张表 → WHERE 过滤行 → GROUP BY 分组 → HAVING 过滤组 → SELECT 要什么 → ORDER BY 排序 → LIMIT 取几个”

看例子(交易所风控最常见的结构):

SELECT user_id, COUNT(*) AS trade_count
FROM trades
WHERE symbol = 'BTCUSDT'
GROUP BY user_id
HAVING COUNT(*) >= 100
ORDER BY trade_count DESC
LIMIT 10;

含义:找出交易 BTCUSDT 超过 100 次的用户,排序后取前 10 名。


📝 Day 1 作业(30 分钟)

把上面的查询改成:

  1. 改成 DOGEUSDT
  2. 改成今天的数据(WHERE trade_time >= '2025-11-27')
  3. 改成交易次数 ≥ 50 次 自己敲 5 遍,直到不看也能写出来。

自己敲 5 遍 做到不看答案也能写。


🟩 Day 2:学会 4 个精华语法 = 能写 90% 的复杂查询

今天你将掌握 Market Surveillance 用得最多的 4 项技能。

① AS 重命名(让内容可读)

COUNT(*) AS trade_count -- 原来叫 COUNT(*),现在叫 trade_count

② CASE WHEN 条件判断(超关键)

-- 把 BUY 变成 +volume,SELL 变成 -volume
SUM(CASE WHEN side='BUY' THEN volumeWHEN side='SELL' THEN -volumeELSE 0 END) AS net_volume

这是 所有“净成交量、净方向、净资金流”类风控逻辑的核心语句

③ 时间处理(交易所有大量按小时/天过滤)

WHERE trade_time >= '2025-11-27'                  -- 某一天
WHERE trade_time >= NOW() - INTERVAL '1 day'      -- 最近 1 天
WHERE DATE(trade_time) = '2025-11-27'             -- 按自然日

④ WITH CTE(写复杂风控查询的神器)

WITH today_trades AS (SELECT * FROM trades WHERE DATE(trade_time) = '2025-11-27'
)
SELECT user_id, COUNT(*) FROM today_trades GROUP BY user_id;

📝 Day 2 终极作业(40 分钟)

写出下面这个检测 wash trading 的 SQL:

“找出今天 DOGEUSDT 上,净成交量 ≈ 0(≤ 50),且交易次数 ≥ 30 的用户”

答案(自己写完再看):

SELECT user_id,COUNT(*) AS trade_count,ABS(SUM(CASE WHEN side = 'BUY' THEN volumeWHEN side = 'SELL' THEN -volumeELSE 0 END)) AS net_volume
FROM trades
WHERE symbol = 'DOGEUSDT'AND DATE(trade_time) = '2025-11-27'
GROUP BY user_id
HAVING COUNT(*) >= 30AND ABS(SUM(CASE WHEN side = 'BUY' THEN volumeWHEN side = 'SELL' THEN -volume ELSE 0 END)) <= 50
ORDER BY trade_count DESC;

这就是 wash trading 检测基础版


🟥 Day 3:交易所真实面试题(手把手拆解)

今天直接实战 3 个 Market Surveillance 经典题型,现在就把前面给你的 3 个复杂查询拆成最简单的话,一句一句教你写。


✔ 真题 1:Wash Trading 检测(最常见)

SELECT user_id,symbol,COUNT(*) AS trade_count, -- 交易次数MIN(price) AS min_price, -- 最低价MAX(price) AS max_price, -- 最高价ABS(SUM(CASE WHEN side='BUY' THEN volume ELSE -volume END)) AS net_volume -- 净成交量
FROM trades
WHERE trade_time >= '2025-11-27'
GROUP BY user_id, symbol
HAVING COUNT(*) >= 20AND (MAX(price) - MIN(price)) <= MIN(price) * 0.001  -- 价格波动 ≤0.1%AND ABS(SUM(CASE WHEN side='BUY' THEN volume ELSE -volume END)) <= 10
LIMIT 20;

🎯 逻辑解释(你在面试要能说出来)

  • 交易很多次
  • 但价格几乎不动(横盘)
  • 买卖量互相抵消(净成交量≈0)

→ 典型洗量(制造虚假活跃)。


✔ 真题 2:Spoofing(大量下单→撤单)

SELECT user_id,COUNT(*) FILTER (WHERE status = 'CANCELED') AS cancel_count, -- 撤单次数AVG(quantity) FILTER (WHERE status = 'CANCELED') AS avg_cancel_qty -- 平均撤单量
FROM orders
WHERE created_at >= NOW() - INTERVAL '1 hour'
GROUP BY user_id
HAVING cancel_count >= 50
ORDER BY cancel_count DESC
LIMIT 10;

🎯 逻辑解释

  • 1 小时内撤单 ≥ 50 次
  • 说明可能反复挂单→撤单扰动价格(spoofing 行为)

✔ 真题 3:Pump & Dump 快速监测

SELECT symbol,MAX(price)/MIN(price) - 1 AS max_rise
FROM trades
WHERE trade_time >= NOW() - INTERVAL '4 hours'
GROUP BY symbol
HAVING max_rise >= 0.5    -- 4小时内涨幅 ≥50%
ORDER BY max_rise DESC  -- 最大涨幅
LIMIT 10;

🎯 逻辑解释

  • 在短期内暴涨 ≥ 50%
  • 是 pump & dump 的潜在目标

3 天完整学习任务表

Day 1(今天)

  1. 背会 6 个基本语法 + 4 个聚合函数
  2. 敲 10 遍最基础的“统计每个用户交易次数”查询
  3. 完成 Day1 作业(改 3 次)

Day 2(明天)

  1. 学会 CASE WHEN 和时间处理
  2. 独立写出“净成交量几乎为 0”的查询
  3. 敲 5 遍

Day 3(后天)

  1. 跟着我一句一句敲完上面 3 个真题
  2. 自己遮住再手写一遍
  3. 把 3 个查询背下来,随时能 3 分钟写完

完成后,你即可在简历写:

熟练使用 SQL 进行 wash trading、spoofing、pump&dump 等市场操纵行为检测,能够独立编写复杂多条件查询。


现在开始实操

打开在线数据库练习网站:

👉 https://www.db-fiddle.com/

输入:

SELECT 'hello world' AS message;

看到结果后,继续做 Day 1 的第一个练习。

关注我,一起web3求职:http://vlink.cc/tosky

http://www.gsyq.cn/news/63116.html

相关文章:

  • 2025年下半年拖车绳/三股绳/拖拉绳/弹力绳工厂 top 5 推荐
  • 怎样减少库存对资金的占用?企业老板最该先解决的,其实就是这三件事
  • 容器终端常用命令
  • Raney 引理小记
  • 2025年下半年拖车绳/三股绳/拖拉绳/弹力绳厂家前五推荐
  • 头大的内存泄漏
  • 金蝶ERP服务商金标准:数据治理与流程梳理能力哪家强?——上海宝蝶排名第一
  • 2025河南本地网站建站公司推荐:无限动力科技,11年深耕的数字化伙伴
  • 2025 河南短视频口碑榜:无限动力助工厂获客类推广软文
  • Windows Dirty Pipe漏洞CVE-2022-22715分析与利用
  • 2025年金蝶ERP哪家代理商能承接海外项目实施交付——上海宝蝶首屈一指
  • 人机交互BS结构界面 -
  • 2025 年快速退火炉厂家最新推荐榜,技术实力与市场口碑深度解析,呈现高性能设备优质品牌晶圆 / 高温 / 桌面 / 半自动 / 全自动 / 芯片 / 硅片 / RTP 快速退火炉公司推荐
  • Qwen是“源神”?实际上GLM-4.6才是被低估的黑马
  • 详细介绍:论文阅读笔记——自注意力机制
  • CMTI测试为何成为半导体隔离器件的“必考题”?苏州永创PPS-CMTIX系统给出专业答案 - FORCREAT
  • 泳池后的安心:幻颜之约游泳后私处护理流程
  • 数组的拼接
  • 2025 年干式超声波除尘厂家最新推荐榜,聚焦技术实力与市场口碑深度解析USC / 非接触式 / 无损伤 / 锂电极片 / 玻璃盖板 / 显示玻璃 / 薄膜 / PCB / 镜头干式超声波除尘公司推荐
  • 【IEEE出版 | 往届均已EI检索,往届见刊后一个月完成EI检索!】第五届机电一体化、自动化与智能控制国际学术会议(MAIC 2025)
  • 洛谷 P3386:【模板】二分图最大匹配 ← 匈牙利算法
  • UWB汽车钥匙介绍
  • 2025 年最新推荐液位计厂家排行榜:聚焦投入式 / 磁致伸缩 / 防爆 / 防水 / 浮球液位计优质企业
  • 奥运赛事激情对决 体育竞技热血启航
  • Kafka在Spring Boot生态中的浅析与应用 - 教程
  • 2025 年最新屏蔽泵厂家排行榜:高温 / 自吸 / 化工等多类型屏蔽泵最新推荐,助力企业精准选品立式 / 液下 / 多级 / 维修 / 低温 / 液化气屏蔽泵推荐
  • 实验5 MapReduce初级编程实践
  • 2025 年液化气泵厂家最新推荐榜,聚焦技术创新与质量保障的优质品牌深度解析无密封/磁力/倒罐/双端面机械密封/屏蔽/增压液化气泵公司推荐
  • 中药品牌十强排名彰显实力,好医生以完整产业链布局未来
  • 【51单片机】【protues仿真】基于51单片机自动浇花强大的系统