### 第1天:SQL基础与交易所市场监控概述#### 上午课程1. **SQL简介** - SQL(结构化查询语言)的基本概念 - SQL的用途和优势 - SQL的常见操作:选择(SELECT)、插入(INSERT)、更新(UPDATE)、删除(DELE
摘要:适合岗位: Market Surveillance InternMarket Risk AnalystData AnalystQuant Intern 适合人群: 没有 SQL 基础有基础但不会写复杂查询想在简
适合岗位:
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 分钟)
把上面的查询改成:
改成 DOGEUSDT
改成今天的数据(WHERE trade_time >= '2025-11-27')
改成交易次数 ≥ 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 volume
WHEN side='SELL' THEN -volume
ELSE 0 END) AS net_volume
这是 所有“净成交量、净方向、净资金流”类风控逻辑的核心语句。
