1 Matching Annotations
  1. Last 7 days
    1. 【超实用工具分享】回测美如画,shi pan亏成狗 去年我把一个调了两个月的策略搬上了shi pan。 年化58%,回撤不到20%,夏普1.8。 感觉挺稳的,就上了。 然后头两个月亏了23%。 盯着账户看了很久。 回头看回测,数字还是那么好看。 真的很难受,因为根本不知道哪里出问题了。 ---------------------------------------------------------- ### 后来我一个一个往回查 **1. 未来函数** 这个最缺德,因为完全看不出来。 我用了一段社区的代码,改了改就跑,没仔细看逻辑。 后来随手把代码丢给AI,让它帮我扫一遍。 它指出来了:我有个选股条件用的是当天收盘价做判断,但下单也在同一天。 回测里当然「知道」结果,但shi pan里你根本没有这个数据。 现在每次调完策略我都会这样做,两分钟,省了很多麻烦。 **2. 过拟合** 这个坑我掉得比较深。 那段时间特别沉迷调参数,止损线改一改,动量窗口动一动,每次回测都能提那么一点点。 最后搞出来一个年化78%的版本,觉得自己要发财了。 然后我把回测区间往前移了5年,跑出来16%。 …… 就这一下,我明白了什么叫过拟合。 调来调去不是在优化策略,是在把历史的噪声背得滚瓜烂熟。 后来我每次调完都会这么搞,策略跑完之后,专门去捅它一下,看看有多脆: 1) 把交易时间从13:10改成14:30,收益掉了一半 2) 把动量回溯天数从25天改成20天,年化从78%跌到31% 3) 把止损线从8%放宽到10%,策略直接开始亏钱 4) 把固定股票池去掉,改成动态筛选,夏普从1.8掉到0.6 5) 把回测区间从2023-2025改成2018-2022,完全跑不出正收益 这些一做,好看的数字基本上就撑不住了。 真正能用的策略,改这些之后会变差,但不会直接崩。 上shi pan之前一动就崩,那基本就别想了。 现在改参数之前我会先问自己:这个数值有没有逻辑支撑,还是只是调出来刚好好看? 答不上来就先不动。 **3. 三个数字根本不够用** 聚宽默认报告就给你看年化、夏普、最大回撤。 我那个策略全局年化58%,看着挺好。 但拆开来看——2024年亏了26%,2025年赚了89%,是2025年的大涨把之前的窟窿填上的。 整整一年账户是亏的,你能拿住吗? 换大多数人早就止损跑路了。 这件事我上了shi pan才知道。因为回测报告压根不给你这张表。 **4. 滑点这事真的会积累** 回测里的下单是瞬间成交的,但现实不是。 聚宽发出信号,到你手动下单或者程序执行,中间有时间差。 行情稍微快一点,你以为在9.50买,实际成交在9.65。 我做ETF轮动,换仓不算频繁,但一年算下来还是差了两三个点。 后来我回测里统一加了0.2%的双向滑点,保守一点,至少不会对自己太乐观。 ---------------------------------------------------------- ### 后来我写了个工具 查问题查累了,聚宽那三个数字根本不够用,就自己写了一个分析工具。 填入回测ID,自动跑出10份分析报告。 **① 总体收益统计(含alpha/beta)** 本策略、基准指数、相对收益三行放一起看。 alpha这个数最值得看——年化收益里,有多少是大盘带涨的,有多少是策略自己挣的。 ![Img](https://image.joinquant.com/19375dcc562f15b95f974dda2fdfd795) **② 年度收益拆解** 每年单独看,不逃进全局平均里躲着。 哪年跑赢基准,哪年被打趴,夏普和回撤逐年展示。 ![Img](https://image.joinquant.com/ef3649094f730636f818a0e2397e0044) **③ 月度盈亏热力图** 哪个月赚哪个月亏,一眼出来。 某几个月年年做差,值得专门去看看为什么。 ![Img](https://image.joinquant.com/3e0c1d436c35f7a952e881dfc9705f12) **④ 最大回撤详情** 不只是「最大回撤-22%」这一个数。 每次回撤是哪天开始的、跌了多久、多少天解套,全列出来。 我查过,最惨那次解套用了很长时间。 好几个月账户里一直是亏的,放在******里你说你撑不撑得住? ![Img](https://image.joinquant.com/4af05248fbce71cd35c2f91bf3ec0565) **⑤ 标的盈亏排行** 哪只ETF一直给你赚,哪只一直在坑你。 有次我发现一只标的买了好多次,次次亏。 换掉它年化高了好几个点。 这种事不挖这张表根本不知道。 ![Img](https://image.joinquant.com/bc05224b5cf51c1568a555a90feb383f) ![Img](https://image.joinquant.com/e8ccc2cd2a694cf07c7fd78abd5cfce8) **⑥ 交易质量分析** 胜率、盈亏比、单笔期望值。 说白了就是搞清楚策略靠什么赚钱。 靠少数几笔大赚撑着的,和靠高胜率堆出来的,玩法完全不一样,乱改参数很容易把自己改崩。 ![Img](https://image.joinquant.com/91aaf5e7ebb2501b1a2f4b40ecda6f7d) **⑦ 持仓行为分析** 持了多少天,短中长线各占多少。 很多人以为自己做的是中线,结果一看短线比例比想象中高很多,多出来的手续费其实挺肉疼的。 ![Img](https://image.joinquant.com/24fa8a41a45c69bb89cb5ddee4ae57d7) **⑧ 仓位利用率** 钱趴着不动的时间有多久。 我有个策略空仓率很高,三分之一的时间等于白白浪费了,但回测年化还是把这段时间算进去了。 实际效率比你以为的低。 ![Img](https://image.joinquant.com/d923d59ef13af1eae3dbc3971c6d5e8a) **⑨ 官方风险指标** 直接把聚宽内置的Sortino、信息比率这些读出来,和回测页面对齐,不用自己手算。 ![Img](https://image.joinquant.com/f8ca7be1189115b515759160fe2ee17f) **⑩ 交易时间分布** 按星期和月份统计胜率跟平均盈亏。 比如发现每逢周五胜率特别低,或者某几个月年年做差——有时候这种规律是可以直接拿来调空仓安排的。 ![Img](https://image.joinquant.com/45fe3d22f3c0c86c044ddd96c7df82ef) ---------------------------------------------------------- ### 用法 聚宽研究环境里克隆,**填回测ID**跑就行: ![Img](https://image.joinquant.com/ce6e5a5ba341e421e4795d270179da82) 10份报告自动出来,不用改别的。 ---------------------------------------------------------- **回测再好看也只是历史数据上的事。** ******里有**延迟**、**有情绪**,还有**各种你没预料到的情况**,这些回测根本覆盖不了。 我现在的大概流程是:**先让AI查未来函数**,然后自己问问**参数有没有逻辑**,再**用这个工具把回测扒一遍**,**模拟盘跑一段时间**,最后才**小仓位上shi pan**。 有兴趣的话克隆去用,有问题评论区聊 ?

      这篇文章有2个收获 1. 如何将实盘更接近回测 2. 推荐了一个工具,更好的验证回测