evo第三周:他可以识别k线形态!

我是cyy我是cyy··3 浏览

我打开了evo,准备开始第三周的任务。这周的任务是本周核心任务是:把过去依赖视觉判断、难以回溯验证的 K 线形态,转成一套规则清晰、可以运行回测并继续迭代的量化策略,同时体验回测控制台、PPT 生成和多格式文件查看三项更新。

我上传了一张茅台的k线图,我实盘中很喜欢这种清水出芙蓉的k线形态,一阳穿多阴,特别给力。我打算让evo帮我研究。

茅台k线.png

我的提示词:
我上传了一张 K 线截图。请先完成两件事,暂时不要生成策略代码:

  1. 识别图中形态:告诉我你看到的形态名称(如双底、双顶、Pinbar、头肩底等),
    以及图中的关键结构:两个关键点大致在什么位置、间隔多少根 K 线。
  2. 把"看起来像"改写成"可以计算"的规则,按以下六项逐条列出。
    某条规则无法从截图确定时,直接向我提问,不要替我编造:

① 形态识别:满足什么可量化条件才算该形态成立(关键高低点怎么确认、间隔范围、价格差或幅度阈值);
② 买入条件:什么信号触发开仓、目标仓位多少;
③ 卖出条件:止盈、止损、最长持有时间分别怎么定;
④ 研究对象:建议先测哪只标的(我还没指定,请给建议并说明理由);
⑤ 回测参数:日线 1d,不使用分钟级逻辑;回测区间、初始资金、手续费、滑点、基准请先给出建议值,等我确认;
⑥ 输出要求:回测完成后输出总收益、最大回撤、夏普、交易笔数、最终权益,并说明主要风险。

规则复述完请停下,等我确认后再进行下一步。

image.png

然后他就回我啦:

我识别到的形态是 「V型尖底+看涨吞没(反包)」组合形态,也属于市场常说的「黄金坑反包」走势:一段流畅的下跌创出阶段新低后,快速拉出大阳线完全覆盖前面的下跌阴线,均线同步完成下探V型拐头向上,是典型的下跌末端反转信号。

巴拉巴拉~~~~

回测完成后将完整输出:

  • 指定核心指标:总收益率、最大回撤、年化夏普比率、总交易笔数、期末最终权益
  • 配套说明:明确披露本策略的主要风险:包括V型反转识别天然滞后、假反包形态洗盘导致连续止损、震荡市中胜率大幅下降、极端跳空行情下滑点超出预期等风险点。

以上所有规则我已经梳理完毕,你确认所有参数后我再推进后续的策略代码生成和回测工作。


接着然后我就给他发:

确认,按以下参数执行,规则复述结束,请直接生成策略代码并保存:

  1. 形态识别:
    • A 点:向前回溯 20 个交易日内创出新低的那根 K 线的最低点;
    • B 点:A 点之后出现一根大阳线,其实体完全吞没(100%)前一根下跌阴线实体;
    • A、B 之间间隔 1\~5 根 K 线均算有效;
    • 从 A 点最低价到 B 点收盘价涨幅不低于 3%;
    • 附加条件:B 阳线收盘价站上 20 日均线(截图均线呈 V 型拐头,用此过滤假反包)。
  2. 买入条件:B 点收盘确认形态成立,下一根 K 线开盘价买入,目标仓位 80%,单标的满仓上限。
  3. 卖出条件:
    • 止损:盘中最低价跌破 A 点最低价立即止损;
    • 止盈:盈利达到 15% 平仓;
    • 最长持有 30 个交易日,到期无条件平仓。持有时间一律按交易日计算,不使用分钟级逻辑。
  4. 回测参数:
    • 标的:510300(沪深300ETF);
    • 频率:日线 1d,无任何分钟级逻辑;
    • 区间:2015-01-01 至最近交易日;
    • 初始资金 100 万;手续费按 万分之 1.5;滑点按 千分之 0.3;
    • 基准:沪深300 指数。
  5. 生成策略后立即运行回测,完成后输出:总收益率、最大回撤、年化夏普、总交易笔数、期末最终权益,并说明主要风险。

ohhhh,然后他就开始跑啦。

跑着跑着告诉我依赖回测,业绩依赖回测!有点东西哦。然后我就点了同意,让他回测去了。

这个还可以显示进度条,是真的酷我说白了。

但是就是回测不出来,我就不知道为啥了。他取不到那个股。可能是从沪深300etf取了,应该要从沪深300的股里面去取?

image.png

原来是我自己的问题呀hhh我改好后他就真的去了

image.png
结果呢

image.png

哈哈哈哈,我空仓了好几年,应该也是跑赢了很多的股民了!不错不错!虽然没有跑赢沪深300。

经过我的修复之后,终于是亏钱了,修复了没有亏钱的bug。

image.png

果然只用一个指标要亏钱呀

后来我又把这件事认真跑了一遍

上面那一轮其实还没有完全结束。最开始我把截图里的形态理解成“清水出芙蓉,一阳穿多阴”,但 EVO 根据图形识别出来的名字更接近“V 型尖底 + 看涨吞没”,也就是反包。这个地方挺有意思:人的叫法偏技术分析经验,系统需要把它落成一条条可以计算的条件,最后采用的是 EVO 能够明确执行的那套规则。

我最后确认下来的规则是:先往前看 20 个交易日,找到阶段新低作为 A 点;A 点之后 1 到 5 根 K 线内出现一根阳线,实体覆盖前一根阴线实体;A 点最低价到 B 点收盘价至少涨 3%;B 点收盘站上 20 日均线。信号在 B 点收盘确认,下一根 K 线开盘买入,目标仓位 80%。跌破 A 点低点止损,盈利 15% 止盈,最多持有 30 个交易日。

这里有一个很容易忽略的细节:图片只负责提供形态样本,我没有把图片文件名对应的贵州茅台拿来回测。实际研究对象经历了几次来回确认,页面最后跑的是沪深 300 成分股池。这个过程让我意识到,研究对象一定要在正式回测前再核对一遍,聊天里说过什么,和回测引擎最后拿到什么,中间可能会有偏差。

第一版为什么没有交易

第一版把“反包”设成实体 100% 完全覆盖,同时叠加了 20 日新低、1—5 根间隔、涨幅至少 3%、站上 20 日均线这些条件。回测完成后,收益率、最大回撤和夏普全是 0,交易笔数也是 0。

刚看到这个结果时,我第一反应是策略写坏了。后来展开日志才发现,回测本身跑完了,只是条件太紧,历史上没有找到满足全部条件的信号。这个区别很重要:空仓并不等于策略有效,回测成功也不等于策略产生了交易。

我做的第一次调优

为了保持对比清楚,我只改了一个变量,把实体覆盖阈值从 100% 放宽到 80%,其他条件都保留。EVO 先新建了“草稿 2”,继承上一版代码,再修改形态判断。

最终回测结果

调优版最终跑出来的结果如下:

指标 策略 沪深 300
总收益 -53.97% 32.37%
年化收益 -8.07% 3.09%
最大回撤 -82.68% -45.60%
夏普比率 -0.09 0.10
月度胜率 44.0% -
最终权益 460,327.82 元 -

初始资金是 100 万元,最终剩下约 46 万元。这个结果确实挺惨,但它至少证明了策略已经有真实信号。

从净值和回撤曲线看,亏损主要集中在连续下跌行情里。80% 的反包阈值放宽后,系统能识别出更多信号,但其中有不少只是下跌中途的反弹,后面继续创新低,最后触发止损。单票 80% 的仓位也让这种错误判断被放大了,几次连续止损之后,净值回撤非常明显。

这次体验里我觉得最有价值的几个点

第一,图片识别不是停在“这像什么形态”,它会继续追问回溯窗口、涨幅、均线、买入时点和止盈止损。这样一来,原本很主观的一句话,变成了可以放进代码里的条件。

第二,EVO 会保留草稿和版本。严格版 100% 阈值和调优版 80% 阈值可以分开看,至少知道这次结果变化来自哪个参数,没有把所有条件一起改掉。

第三,回测控制台对定位问题有帮助。第一次 0 笔交易时,日志能看出策略确实跑完;后面 Signal.order 报错时,也能明确看到是接口兼容问题。对于测试产品来说,这比页面只给一个“失败”有用很多。

这周最后的结论

这次任务的完成标准,我理解成把一条研究链路完整跑通:图片进来,形态被解释成规则,规则生成策略,策略成功回测,第一次结果有问题后再做一次单变量调优。这个标准已经达到了。

至于策略本身,结果已经说明它不能直接拿去用。只靠一个反包形态,在没有大盘趋势过滤、成交量过滤和更合理仓位控制的情况下,很容易把下跌中继当成反转。下一步真要继续研究,我会优先加一个沪深 300 趋势过滤,或者把仓位从 80% 降下来,再单独跑一版对比。

所以这次最实际的收获不是“找到了一个赚钱形态”,而是第一次完整体验了从一张图到一份可运行策略的过程,也看清了其中最容易出错的地方:形态定义、信号是否真的触发、实际回测口径,以及结果页有没有把这些信息讲明白。

最后,不要看到清水出芙蓉就去买,真的会亏钱!最后的最后,本文仅供讨论学习,不涉及任何投资建议,投资需谨慎!

评论

还没有评论,来说点什么吧
0 / 2000