
简介2022年美国大学生数学建模竞赛C题的M奖获奖论文完整呈现黄金与比特币量化交易策略的建模过程。论文面向数学建模参赛者、量化交易入门者及金融数据分析学习者可用于学习数据清洗、时间序列预测、投资组合优化与参数敏感性测试的完整思路。作者从数据预处理入手处理日期格式不一致与异常值采用牛顿插值填补缺失数据随后基于ARIMA模型完成价格趋势预测结合自相关与偏自相关图以及BIC、AIC准则定阶再通过动态规划模型求解最优持仓组合并利用梯度下降调整模型参数最后针对交易成本率进行敏感性测试。资源包内含一个PDF文件大小约1.07MB为论文全文。目前已有7620人学习下载适合作为美赛备赛参考或量化策略研究的案例范本。读者可从中获取从数据处理到模型验证的完整方法论并借鉴其写作结构与表达方式提升自身数学建模论文的规范性与深度。 2022年美赛C题我们组拿了M奖。这个成绩不算顶尖但作为第一次参赛的队伍已经足够让人高兴很久了。美赛MCM/ICM每年吸引全球上万支队伍参加而C题向来是“卷王”聚集地——题目背景经济金融看似门槛不高实际上手才发现数据处理、模型设计、策略回测、论文表达每一环都是坑。这篇博文就把我们完整的技术路线和写作经验摊开来讲从破题思路到模型实现再到论文表达把那些真正影响拿奖的细节都说清楚。1. 项目概述M奖的含金量与2022年C题初印象1.1 2022年C题到底考了什么2022年MCM的C题主题是“Trading Strategies”交易策略题目给了两份每日价格数据一份是黄金一份是比特币时间跨度从2016年9月11日到2021年9月10日同时还要求预测之后大约20周到2022年1月28日的价格走势。而且两种资产都提供了多种货币计价的数据——美元、欧元、英镑、日元、人民币等看起来信息量很大实际上是在考察选手的数据清洗和特征筛选能力。题目的核心是三个交易员一个激进型、一个中庸型、一个保守型。要求我们给出合理的交易策略帮助他们根据预测的价格走势做买卖决策。这就不是单纯的“预测题”了而是“预测决策”的综合题。你得先回答“未来价格怎么走”再回答“面对这样的走势三种性格的交易员应该怎么操作”。我们拿到题目时第一反应是“这不就是时间序列预测吗”但真正做下来才发现预测只是三分之一的工作量策略设计和回测评估同样重要而且更体现建模功力。1.2 M奖的含金量与评审逻辑M奖Meritorious Winner在美赛里属于一等奖历年全球获奖比例大概在7%到10%之间也就是100支队伍里只有不到10支能拿到。含金量怎么说呢在保研、留学申请里这是一个很能打的加分项但前提是你在简历里能说清楚“你在队伍里具体干了什么”。评审时评委最看重三点一是模型是否合理且有创新性二是是否完整回答了题目所有问题三是论文表达是否清晰。很多队伍模型做得不错但败在没说清楚“为什么用这个模型”和“结果意味着什么”。这一点我后面细说。M奖和O奖Outstanding的差距往往不在模型复杂度上而在拼图完整性上——是否做了灵敏度分析、稳健性检验、模型对比以及这些内容有没有以清晰的方式呈现给评委。2. 破题从数据到问题的三步拆解法2.1 数据预处理先把坑都踩一遍很多人拿到数据就开始建模这是大忌。我们花了大半天只做数据清洗和探索性分析事后证明这半天花得非常值。第一步是检查缺失值。美赛给的数据整体比较干净但黄金和比特币的数据在个别日期有缺失比如有些节假日黄金市场休市但比特币是7×24小时交易的。这里就有一个关键决策是补齐缺失值还是直接删掉我们的处理方式是保留日期完整序列对缺失价格用前后两天的均值填充因为后续要用的LSTM模型需要连续的时间步输入。第二步是货币统一。题目给了多种货币计价的数据你不可能全部用上那会让特征维度爆炸。我们观察了不同货币计价的走势图发现走势形态几乎一致只是数值高低和波动幅度不同。最终我们选择用美元计价的数据作为主特征其他货币数据用于稳健性检验证明模型在不同计价方式下结论一致。第三步是构建衍生特征。这是很多新手容易忽略的。原始数据只有日期和价格但模型需要更多信息。我们计算了收益率、5日均线、20日均线、价格波动率、历史最高价回撤比例这些特征。特别是收益率序列它是金融建模的基石后续的GARCH模型和策略设计都离不开它。如果只拿原始价格喂给模型效果会大打折扣。2.2 模型选型为什么不用单一的ARIMA很多人一看到时间序列就想到ARIMA差分自回归移动平均模型确实ARIMA在传统金融预测里应用很广也是课程里重点教的模型。但我们很快发现ARIMA有个致命问题它假设数据是线性的而比特币的价格走势非线性特征极其明显暴涨暴跌、波动率聚集用ARIMA去拟合比特币就像用直尺去量山路结果可想而知。我们的思路是组合出击各取所长价格趋势用LSTM长短期记忆网络捕捉长期非线性依赖预测未来5天价格走势波动率用GARCH模型广义自回归条件异方差模型捕捉方差时变为仓位控制提供依据多场景对比用Prophet时间序列预测模型作为基准模型验证LSTM的预测结果是否合理。这个“组合拳”的思路贯穿了整个项目也给论文提供了很自然的叙事线——我们不只有一个模型而是有一个模型家族每个模型解决一个具体问题。3. 核心建模价格预测与交易策略的完整实现3.1 多模型融合预测LSTMGARCHProphetLSTM部分我们用的是Keras搭建的二层LSTM网络。关键参数如下时间步长window size60天相当于大约3个月的交易日用来预测未来5天的价格特征原始价格、收益率、5日均线、20日均线、波动率归一化MinMaxScaler映射到[0,1]区间这是LSTM的标配训练集/验证集划分8:2随机打乱Epochs100加早停机制EarlyStopping防止过拟合Batch size32。这里有个容易踩的坑时间序列数据不能像普通机器学习那样随机打乱再划分训练集和验证集否则会造成数据泄漏——模型在训练时“偷看”了未来数据测试时表现虚高但真到了预测未知数据就露馅。正确做法是按时间顺序切割比如前80%时间做训练后20%做验证。我们是在踩过一次坑之后才注意到这个问题最后用按时间划分的方式重新训练。GARCH部分我们用来建模收益率的波动率。比特币的波动率聚集效应很明显——大涨之后往往跟着大跌波动率不是恒定的而是随时间变化的。GARCH(1,1)是实践中最常用的设定我们用Python的arch库实现对收益率序列拟合出条件方差以此给交易策略提供“风险温度计”。Prophet则是从Meta开源库里直接调用的主要作用是做基准和交叉验证。我们发现LSTM和Prophet的预测方向在多数时间段是一致的这给了我们信心模型的结论不是偶然的。当两者出现较大分歧时我们以LSTM为主GARCH的波动率为辅再人工判断是否需要调整策略参数。3.2 交易策略设计三种风险偏好下的规则细化题目给的三类交易员不是摆设每个类型的策略必须不同而且要有可解释的规则。我们的做法是设计一个统一的框架再用不同参数去适配三类交易员。核心思路是基于预测收益率的阈值判断每日操作预测未来5天收益率大于某个阈值比如2%则加仓预测收益率在阈值之间波动则持有现金观望或维持当前仓位预测收益率小于某个负阈值比如-2%则减仓或清仓。不同交易员的差异体现在阈值大小和仓位控制上交易员类型买入触发阈值卖出触发阈值最大仓位风险控制方式激进型1%-1%100%满仓低阈值、高频操作中庸型2%-2%70%中等阈值保守型3%-3%50%高阈值、严格止损这些参数不是拍脑袋定的而是基于历史数据的回测结果反复调优的。我们跟踪了三种配置在2017-2020年时间段的表现选取累计收益率和最大回撤两个指标综合最优的参数组合。回测的意义就在于你不会拿真金白银去验证策略而是让历史数据帮你筛选出相对靠谱的规则。3.3 回测系统把策略放到历史上检验一个策略好不好看不能光看想法必须跑回测。我们写了一套简单的回测框架输入是历史价格和策略参数输出是每天的资金变化曲线。回测的核心指标有三个累计收益率最终收益相比初始资金增长了多少夏普比率每承担一单位风险能获得多少超额收益越高说明策略在风险和收益之间平衡得越好最大回撤在某个时间段内你眼睁睁看着账户从最高点掉下来的最大幅度。这个指标对交易心理很重要尤其是保守型交易员他们最关心的就是“最坏情况下我会亏多少”。我们当时发现激进型策略在上涨行情中收益最高累计收益率可以达到基准买入持有策略的1.5倍以上但在波动剧烈的阶段最大回撤也最大甚至达到30%以上。保守型策略收益相对平平但最大回撤控制在10%以内。这个结果完全符合题目对三种交易员性格的设定也成了论文中最亮眼的图表之一。4. 论文写作从模型到M奖的最后一公里4.1 Summary是真正的门面美赛评委会花多少时间读你的论文据我了解每篇论文的初评时间可能只有十几分钟甚至更短。这意味着Summary Sheet摘要页几乎是决定命运的一页。评委先看摘要觉得有意思才往下读正文。我们写摘要花了整整半天改了六版。核心要点就几个第一段交代问题背景和你做了什么两三句话第二段开始按问题逐条回答每一条写清楚“用什么模型、得到什么结论、效果如何”关键数值必须写进去比如预测精度、回测收益率、夏普比率这些数字这是评委最喜欢的“干货”全文严格控制在一页以内超过一页的摘要会被评委嫌弃。我们摘要的最后一句是“All three strategies significantly outperform the buy-and-hold benchmark in backtesting, with the aggressive strategy achieving a cumulative return of X%”简单有力直接亮了成绩。如果你想拿M奖以上摘要里必须有这种“拿数据说话”的底气。4.2 图表与公式的规范细节美赛对页数有要求正文部分通常限制在25页以内但图表和公式的规范性同样重要。我们总结了三个非常实用的原则第一每张图都要有“自解释性”。评委不会细看正文来理解图在说什么所以图的标题、坐标轴标签、图例、关键标注都要清清楚楚。我们当时投机取巧的一点是在图里直接标上关键数值比如预测曲线旁边标上“Predicted price on Jan 28, 2022: $XXXX”评委一眼就能看到你要表达的结论。第二公式不能“裸奔”。每个公式前面要用自然语言说明“为什么需要这个公式、它解决什么问题”公式后面再解释“符号的含义是什么”。让评委感受到你的建模是有逻辑链条的而不是从某篇参考论文里抄来的。第三附录是宝藏。我们把部分关键代码、补充的数据表格、敏感性分析结果都放在附录里。评委即使不看附录也会因为你提供了这些内容而觉得你态度很扎实。而如果碰巧遇到一个愿意翻附录的评委这些细节就成了加分项。5. 常见问题与备赛建议5.1 我们踩过的三个坑第一个坑也是最痛的坑时间分配失衡。前三天我们沉迷于调LSTM的参数一天到晚盯着loss曲线结果到了第四天发现策略设计和论文还没开始动笔。通宵两晚才勉强补救回来。后来我们总结了正确的时间配比第一天选题和数据处理第二天到第三天上午建模第三天下午到第四天做策略和回测第四天下午开始写论文最后留出至少8小时统一修改。第二个坑队友之间的“信息孤岛”。我们有人专门做模型有人专门写论文前期配合没问题但等到要写论文时做模型的人发现自己写不清楚自己模型的创新点写论文的人又看不懂模型的细节。后来我们强制要求每天晚饭时每个人必须用10分钟给另外两人讲清楚自己当天做了什么讲不明白就说明还没想明白。这个习惯直接让后期的论文写作效率提升了一倍。第三个坑轻视了摘要页的排版。我们用LaTeX写了正文但摘要页的排版最初是用Word做的结果字体、间距和正文完全不统一看上去非常突兀。最后不得不重新排版了一遍。这里建议直接在网上找一个美赛LaTeX模板摘要页和正文用同一套LaTeX编译格式永远不会有问题。5.2 给下一届参赛者的五条建议第一条选题要“闭眼想清楚”。C题金融背景看着接地气但数据量大、要求多对团队的工程能力有一定要求。如果你觉得数据处理很头疼那大概率后面的策略部分也会很难受。美赛还有A/B/D/E/F题选择自己队伍最擅长的领域比强行冲热门题要稳得多。第二条模型不是越复杂越好。评委更看重的是模型与问题的匹配度以及你是否把现有模型用得很扎实。一个用得很好的GARCH比一个只是简单调用API的Transformer更可能拿奖。第三条写论文要“边做边写”。不要等到所有模型跑完才开始写论文否则你会发现自己不记得当时为什么选这个参数、中间换过哪些思路。我们采用的方法是每天结束前强制写当天进展的半页纸最后汇总改写这比从零开始写轻松多了。第四条把“灵敏度分析”当评分密码。M奖和H奖Honorable Mention二等奖的一个肉眼可见的区别就是有没有对模型参数做稳健性检验。我们当时调整了LSTM的时间步长、GARCH的滞后阶数验证结论没有发生根本性变化然后把这些结果写成了专门一节。这个内容的性价比很高不需要复杂的推导却能让评委觉得你考虑问题非常全面。第五条如果有余力学一点基础的编程题目之外的技能。比如把Python的pandas、matplotlib、scikit-learn用熟练把LaTeX的精髓掌握住——不是会用模板就行而是知道怎么自定义表格、公式引用。美赛比赛期间只有四天一切技能层面的问题都可能被无限放大地消耗你的时间。最后分享一个小技巧美赛论文的每一章开头用两三句话先概括本章结论。这不是废话铺垫而是给评委一条清晰的阅读路径。评委每天要评几十篇论文能让他不用找就能看到你的结论你就赢了一半。我们当时把这条原则贯彻到了每一节回看时明显感觉文章读起来顺了很多。本文还有配套的精品资源点击获取