版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
金融交易统计SQL进阶实战场景:股票/基金/数字货币/支付清算通用,难度从中级→高阶→业务专家级。全部基于MySQL8.0语法(CTE、窗口函数、行号、聚合、风控统计)。一、业务场景与表结构(真实金融系统标准)1.交易表示例(trade)sqlCREATETABLEtrade(idBIGINTPRIMARYKEYAUTO_INCREMENT,user_idBIGINTNOTNULL,--用户IDsymbolVARCHAR(20)NOTNULL,--交易对/股票代码dirENUM('BUY','SELL')NOTNULL,--买卖方向priceDECIMAL(18,6)NOTNULL,--成交价格amountDECIMAL(18,6)NOTNULL,--成交量total_amtDECIMAL(18,6)NOTNULL,--成交金额=price*amounttsDATETIMENOTNULL,--成交时间statusTINYINTNOTNULL--1成功0失败2撤单);2.用户资产表(user_asset)sqlCREATETABLEuser_asset(user_idBIGINTPRIMARYKEY,balanceDECIMAL(18,6)DEFAULT0,--可用余额frozenDECIMAL(18,6)DEFAULT0,--冻结金额update_timeDATETIME);二、中级实战(业务常用统计)1.统计每个用户总买入、总卖出、净交易额sqlSELECTuser_id,SUM(CASEWHENdir='BUY'THENtotal_amtELSE0END)ASbuy_amt,SUM(CASEWHENdir='SELL'THENtotal_amtELSE0END)ASsell_amt,SUM(CASEWHENdir='BUY'THENtotal_amtELSE-total_amtEND)ASnet_amtFROMtradeWHEREstatus=1GROUPBYuser_id;2.按小时统计交易量(K线/清算常用)sqlSELECTDATE_FORMAT(ts,'%Y-%m-%d%H:00:00')AShour,symbol,COUNT(*)AStrade_count,SUM(amount)AStotal_volume,SUM(total_amt)AStotal_valueFROMtradeWHEREstatus=1GROUPBYhour,symbolORDERBYhour;3.找出单日交易额TOP10用户sqlSELECTuser_id,DATE(ts)ASdt,SUM(total_amt)ASday_amtFROMtradeWHEREstatus=1GROUPBYuser_id,dtORDERBYday_amtDESCLIMIT10;三、进阶级(窗口函数实战,金融高频)4.每用户最近3笔交易(回访/风控/审计)sqlWITHranked_tradeAS(SELECT*,ROW_NUMBER()OVER(PARTITIONBYuser_idORDERBYtsDESC)ASrnFROMtradeWHEREstatus=1)SELECT*FROMranked_tradeWHERErn<=3;5.计算每笔交易的上一笔价格、涨跌幅(量化策略常用)sqlWITHtAS(SELECTsymbol,ts,price,LAG(price,1)OVER(PARTITIONBYsymbolORDERBYts)ASprev_priceFROMtradeWHEREstatus=1)SELECT*,ROUND((price-prev_price)/prev_price*100,4)ASchange_pctFROMt;6.每用户当日累计交易额(实时风控限额)sqlSELECTuser_id,DATE(ts)ASdt,ts,total_amt,SUM(total_amt)OVER(PARTITIONBYuser_id,DATE(ts)ORDERBYts)ASday_running_totalFROMtradeWHEREstatus=1;7.找出连续3笔交易盈利的用户(交易策略分析)sqlWITHtAS(SELECTuser_id,id,ts,CASEWHENLAG(price,1)OVER(PARTITIONBYuser_idORDERBYts)<priceTHEN1ELSE0ENDASis_profitFROMtradeWHEREstatus=1),t2AS(SELECT*,SUM(is_profit)OVER(PARTITIONBYuser_idORDERBYtsROWSBETWEEN2PRECEDINGANDCURRENTROW)ASwin_3FROMt)SELECTDISTINCTuser_idFROMt2WHEREwin_3=3;四、高阶实战(复杂业务统计)8.计算每个用户的胜率、平均盈亏、最大单笔盈利sqlSELECTuser_id,COUNT(*)AStotal_trades,SUM(CASEWHEN(dir='BUY'ANDLEAD(price,1)OVERw>price)OR(dir='SELL'ANDLAG(price,1)OVERw>price)THEN1ELSE0END)ASwin_trades,ROUND(SUM(CASEWHEN(dir='BUY'ANDLEAD(price,1)OVERw>price)OR(dir='SELL'ANDLAG(price,1)OVERw>price)THENtotal_amtELSE0END)/SUM(total_amt)*100,2)ASwin_rate,MAX(total_amt)ASmax_single_profitFROMtradeWHEREstatus=1WINDOWwAS(PARTITIONBYuser_idORDERBYts)GROUPBYuser_id;9.找出异常交易:1小时内交易额突增300%(反洗钱/风控)sqlWITHh1AS(SELECTuser_id,DATE_FORMAT(ts,'%Y-%m-%d%H')AShour,SUM(total_amt)AShour_amt,LAG(SUM(total_amt),1)OVER(PARTITIONBYuser_idORDERBYDATE_FORMAT(ts,'%Y-%m-%d%H'))ASprev_hour_amtFROMtradeWHEREstatus=1GROUPBYuser_id,hour)SELECT*FROMh1WHEREprev_hour_amt>0ANDhour_amt/prev_hour_amt>=3;10.日内交易滑点分析(量化核心指标)滑点=实际成交价-理论/中间价sqlSELECTsymbol,AVG(ABS(price-(MAX(price)OVER(PARTITIONBYsymbol,DATE(ts))+MIN(price)OVER(PARTITIONBYsymbol,DATE(ts)))/2))ASslippageFROMtradeWHEREstatus=1GROUPBYsymbol;11.统计用户交易活跃度:日均交易次数、频率sqlWITHuser_dailyAS(SELECTuser_id,DATE(ts)ASdt,COUNT(*)AScntFROMtradeWHEREstatus=1GROUPBYuser_id,dt)SELECTuser_id,COUNT(DISTINCTdt)ASactive_days,SUM(cnt)AStotal_trades,SUM(cnt)/COUNT(DISTINCTdt)ASavg_daily_tradesFROMuser_dailyGROUPBYuser_idORDERBYavg_daily_tradesDESC;五、专家级(多表联合+清算+余额计算)12.根据交易流水自动计算用户余额流水(核心清算逻辑)sqlWITHtxAS(SELECTuser_id,ts,SUM(CASEWHENdir='SELL'THENtotal_amtELSE-total_amtEND)ASchangeFROMtradeWHEREstatus=1GROUPBYuser_id,ts)SELECTt.user_id,t.ts,t.change,a.balance+SUM(t.change)OVER(PARTITIONBYt.user_idORDERBYt.ts)ASbalance_afterFROMtxtJOINuser_assetaONt.user_id=a.user_idORDERBYt.user_id,t.ts;13.找出对敲/自成交可疑账户(同一用户频繁买卖同标的)sqlSELECTuser_id,symbol,COUNT(DISTINCTdir)ASdir_count,COUNT(*)AStrade_countFROMtradeWHEREstatus=1GROUPBYuser_id,symbolHAVINGdir_count=2ANDtrade_count>=10ORDERBYtrade_countDESC;14.找出交易额最大的N个交易对,并计算市场占比sqlWITHsymAS(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 延边职业技术学院《国际商务谈判》2025-2026学年期末试卷
- 福州工商学院《媒介素养》2025-2026学年期末试卷
- 2026年伊春市五营区社区工作者招聘笔试参考试题及答案解析
- 2026年咸宁市咸安区城管协管招聘笔试备考题库及答案解析
- 2026年武汉市江汉区社区工作者招聘考试参考题库及答案解析
- 2026年乐山市五通桥区社区工作者招聘笔试参考试题及答案解析
- 2026年淄博市周村区社区工作者招聘考试参考题库及答案解析
- 血液透析护理
- 2026年晋城市城区社区工作者招聘笔试参考试题及答案解析
- 2026年吉安市吉州区社区工作者招聘考试参考试题及答案解析
- 土地房屋测绘项目 投标方案(技术方案)
- pu发泡工艺介绍
- 抵制宗教向校园渗透课件
- 学术道德与学术规范的关系
- 地应力及其测量
- 全国优质课一等奖人教版初中八年级美术《设计纹样》公开课课件
- 2023储能电站系统全面解析
- 室内给水管道及配件安装工程检验批质量验收记录表
- 奔驰GLK汽车说明书
- 山西省交口县地方国营硫铁矿资源开发利用方案和矿山环境保护与土地复垦方案
- 数字填图系统新版(RgMap2.0)操作手册
评论
0/150
提交评论