category
tags
type
slug
date
summary
status
icon
password
最近在研究交易策略,因此写这篇文章记录,便于复盘迭代。
量化交易非常适合纯概率游戏,本文主要记录仅凭借最纯粹的均线交易(纯追涨杀跌策略),在大量回测之后能达到什么样的收益,实际测试获得了接近6000倍的收益,10万本金即可达到5.6个亿的收益。
需要注意的是,量化是基于历史数据的验证,它并非万能,这片文章仅从量化统计的方式来验证一些操作逻辑是否更有效,什么样的频率、盈亏比、胜率才是长久的、能带来稳定上涨的资金曲线。量化所选用的底层依据也仅是滞后的均线指标,完全不是什么高深的技术。
量化一天、股市十年,借助量化程序可以在短短几分钟的时间内成千上万次地检验复盘你的策略。若你的交易模式和策略逻辑是错的,在大量的重复测试中很难有好的结果,一旦你在错误的方向上坚持,必然将导致越走越偏、越走越远。
通过量化检验的策略会让你更有信心,按照正确的策略进行大量人工复盘后,最终可以实现:任何K线图让你看到,只需要几秒时间扫一下K线、成交量、均线,你就能知道现在是该买还是该卖,以及接下来的交易计划“何时再买、何时再卖”,将交易策略变成了本能的执行。
趋势交易策略
基于对趋势交易的所有理解,我编写了一个适用于trasingview的pine策略脚本。好在代码很简单,即使非程序员专业也能写出来,做法是直接把你的交易问题抛给deepseek即可,AI会解决你的所有问题。
参考基础问题:
请基于趋势交易的逻辑,为我写一个简易的均线突破交易策略脚本。
这一策略的基本逻辑就是在多头趋势中,向上突破均线就买入,跌破均线就卖出,简称追涨杀跌。主要的难点就是如何定义趋势,其底层逻辑我在理论篇中提及、此处不再赘述。
另外,再次强调,在股票市场中所有的指标都是滞后的,而价格、预期、大局观、应变能力和操作者的气质才是领先于决策的关键关键,这部分依赖操作者的经验、更多来自于痛定思痛之后的蜕变。
我将deepseek给我的1.0版本的代码带入到TV中,对A股市场中部分股票过去十年的数据进行回测,很轻松就达到了1332.92%的投资回报,42%的胜率,以及19.68%的回撤,盈亏比稳定在2:1的交易策略。
事实证明,这是一个可以穿越牛熊的稳定策略。
tradingview显示的资金曲线:

tradingview的策略功能可以自动在图表中标注出进出场点位,并且支持设置警报监控,当买卖点出现时自动发送消息推送。

回测数据记录了每一笔详细的交割单,何时在什么价格进出场。

不过这还只是一个开始,上面的胜率、盈亏比、和回撤我都不满意,因此我对脚本进行了深度的优化。
调优策略
我对回撤的理解可以简单概括为:为了抓住一次行情,往往需要进行多次试错入场,而每次试错都可能面临止损。这些止损累计起来的总资金损耗的最大值,就是所谓的最大回撤。
举个例子,假设我根据某个信号入场,但市场很快否定了这个信号,我立即按照出场信号止损离场,假设这次浮亏3%。随后,入场信号再次出现,我毫不犹豫地再次进场,但信号再次被市场否定,我不得不再次离场,假设这次浮亏5%。(需要注意的是,这只是针对单笔交易的浮亏,如果每次开仓只用10%的资金,那么实际整体资金回撤只有0.5%)。在整个过程中,我严格遵循信号进出场,不带有任何预测或侥幸心理。接着,第三次信号出现,我进场后趋势开始运行,最终成功获利10%。回顾这几次交易,相对最大回撤为8%,而整体资金回撤为0.8%。
在这个案例中,为了获取10%的利润,我承受了8%的回撤损耗。这个10:8的比例可以粗略地理解为我的盈亏比,或称盈利因子。也就是说,每次为了赚取10元,我需要付出8元的成本,利润率仅为20%。在金融领域,20%的利润率只能算是辛苦钱。如果对策略进行适当优化,盈亏比可以达到3:1甚至更高。对于3:1的盈亏比,每次赚取3元,成本只有1元,利润率高达200%,这才符合金融领域的暴利特征。
再谈止损和回撤,就像你想钓鱼就必须放鱼饵,至于能不能钓上鱼,不是我们能决定的,而取决于这个市场给不给我们鱼,我们要把止损当作鱼饵,从心底认可与接受止损,心甘情愿的亏、理直气壮的赢。
基于上述理解,我尝试对V1.0版本的代码进行了几种调整,旨在进一步扩大收益,同时有效控制回撤风险。
其实回过头来看,人本能喜欢把问题复杂化,试图通过行动上的努力来掩盖人性中对于策略的懒惰。
其实加多少技术指标、加多少根均线,用多少价格行为形态判断,最后都不如单纯的仅用一根均线更实用,但要领悟到这点需要很多的缘分和运气,因此最终优化的过程就是在一个从简单到复杂、最后回归大道至简的过程。
1. 回撤控制

不同股票的周期股性不同,部分股票走出了3358%的收益,代价是31%的最大回撤,对于全仓梭哈型选手,这个回撤还是偏大,不过风浪越大鱼越贵倒是真的哈哈。

如果你有其它稳定的收入来源。那可以在策略允许的订单范围内放手一博,收益真是相当客观。
当回撤大于20%,会带来过多的风险因素,至少心情会很不爽,若想要回撤小,现阶段我想到的可能的解决方法:
- 见好就收
移动止盈止损,这是最常见的锁定利润的方案,后续我会尝试在代码中实现回测。
固定比例止盈止损操作,价格回落多少就先离场,尽量保住利润或本金。
固定盈亏比入场,例如这次交易试错成本是1000元,那么要赚足够2:1的盈亏比,当我赚到2000就可以离场。
固定点位离场,在前明显阻力位附近果断离场。
或者做T,在大周期做趋势追随的同时,在小周期结合布林带、背离等指标,做一些高抛低吸的套利。(这种做T操作,有点儿麻烦)
一些明显的冲高将大概率带来回调,此时我可以提前卖出不用等均线出场信号。

上图中使用的技术指标是三倍标准差布林带,价格冲出布林带的部分等于送钱的止盈信号。根据正态分布价格有99.7%的概率落在布林带内,因此允许超出上轨就先减仓。它和上一段的做固定比例止盈止损有些类似,目的都是更多地锁定利润。但选择规避潜在的回吐风险,同时也就放弃了潜在的意外收益,而这份收益是只有0.3%的小概率事件,放弃它是合理的选择。
- 加上背景条件的过滤器来提高赢面。
例如根据大盘操作,指数行情好的时候激进,行情不好时保守,大盘在单边下跌的空头趋势中直接放弃交易。(见风使舵,这个可以有)
除了根据大盘操作外,还可以限制下单的当前趋势背景,即必须在特定均线多头排列的前提下才进行操作。趋势一旦形成很难被改变,我们可以借助大趋势,从小趋势进场,即所谓的看大作小。我的多头排列条件是ema8>ema21>ema144即可,实际测试过程中,未开启多头排列限制时,盈利625.34%,最大回撤25.53,订单数2165,胜率50%,盈亏比2.5:1;

开启多头限制后,利润下降到了149.26%,但是回撤被有效地降低了,只有9.1%,订单数为800,胜率47.38%,盈亏比2.1:1。降低回撤的好处是资金曲线会变得更加平滑,减小风险压力,但同时也牺牲了盈利空间和操作频率。

这是其中一只票的测试,不过实测并非所有的股票用这种限制都能降低回撤,有的波动性灵活的票开启后效果不佳。
通过上述方式,可以减少赢面稍微小一些的开单,但“盈亏同源”,规避潜在风险,也相应地错过一些机会。只做当前短线热点主线题材、以及题材中的核心龙头;或只做盈亏比较大的平台突破(飞机场、跳跃小溪等形态)。(减少频率是很有效的方法)
单纯希望从概率上提升赢面,还可以结合多指标多周期共振,从而更大概率提升自己的赢面。这里涉及到不同周期均线推动的嵌套逻辑,均线组在日线级别启动行情后,会依次在小级别的4小时、2小时、1小时、30分钟、15分钟级别依次被小周期的均线推动,直到小级别推动失效后会在大一周期中寻找新的支撑。而在大周期启动后,找到大周期中的小周期中加入是一种很好的策略。
需要注意的是,人性喜欢确定性,但提升赢面和胜率绝非最终的目的,因为所有的机会和收益都是来自于风险,一味地想赢和想挣钱,希望高胜率的剥头皮最终下场只有巨大回撤甚至爆仓。优秀的交易员,应当非明知风险但仍然选择入场,唯一的交易理由是这笔交易的风险和对应的回报是明确相符合的,也就是盈亏比才是最重要的。
- 仓位管理,可以选择将大仓位例如90%以上做稳健低回撤的投资,小的仓位例如10%做40%以上回撤的高风险投资。稳中求进,小仓位即使面临40%以上的回撤、也仍然有后备资金兜底,小资金回撤40%,实际只占占整体资金的回撤的4%,这里其实有个值得思考的问题”若有一个策略最大回撤40%,但是回报率超过5600倍,你该怎么分配自己的资金呢?这样的投资策略真的有,并且在文章后面会提到“,另外,这里说到的90%以上仓位做稳健投资就正是前文提到的“稳定的收入来源”。
- 筛选股性比较优质的票,根据回测策略尝试不同的票,总能找到很多既小回撤又收益可观的票。
如果用策略回测表现比较好的股票,操作起来理论上会比较稳妥。有些好票真的天生就不坑散户,这里不敢公开荐股,回测过程不难发现很多股票只有不到8%的回撤比例,却能翻三倍的收益、犹如中彩票,但是美中不足只有37%的胜率,交易体验比较麻,基本上大部分订单都在窄幅止损。

另外这套交易策略也非常适合加密货币市场,毕竟所有市场背后的底层逻辑都是共同的人性。
实际回测BTC的胜率为53%,盈亏比2.8:1,最大回撤5.31%,净利润667%。币圈一天、股市十年,在币圈24小时不休市、可以做多做空、高倍率高杠杆合约、高波动的加持下,也许很快就可以实现财富自由。

此策略还适用于港股、美股以及国内的各类T+0ETF使用。趋势突破策略还可以用于A股的龙头战法,其本质是“强中选强”地追随趋势。当市场的高标龙头走出后,可以采用此策略做弱转强的入场,这样介入龙头的方式效率还是,不错的。
- 筛选强度
我的模式只做强势核心龙头票,通常是已经走出一波亮眼趋势后才加入,这时候通常用不到144、233这些大周期均线,这些均线通常与所谓的“加速主升浪”无缘。而是沿着5日、10日、这些短期趋势线上涨,一旦跌破趋势,可能就是深幅回调或盘整;因此对于主做核心票的主升浪,基本用不到这么多组均线,而是回归到更小周期的均线操作。
而这种筛选强度的方法不好通过量化回测,因为牛股走牛的时段占整个价格时空周期也仅仅是一小部分,如要回测的话就要加入一个条件,“这只票已经明显创新高、并出现了亮眼的涨幅和表现”。
通过固定比例的止盈止损、防止太多的利润回吐,我在调整参数时发现:
当固定止盈止损比例调成56%时(即浮盈回吐比例最多不能超过56%),此时我的综合回撤只有14.47%。盈利空间为740.57%。

但是固定止盈止损比例调成52%时(即浮盈回吐比例不能超过52%,多给自己留4%的利润),此时我的综合回撤反而升高到了15.87%。盈利空间降低为385%

仅仅为了锁住4%的浮盈、却换来了更高的整体回撤、以及缩水一半的整体盈利。这一点点的取舍,带来的结果差异这么大,真的很微妙。
放弃潜在的收益同时你也避开了潜在的风险,适当接受潜在的风险,却带来意外的巨大收益。
股票买卖和做实体行业的买卖很像,你选择的让利比例,会在某种程度上帮助你获得更大的长远利益。
需要注意“盈亏同源”的原理,如果你选择52%的回撤比例来锁住更多当下的短期利润,就必须始终坚持这个比例,否则一会儿大、一会儿小,看似既能守住短期、又能赢得长期利润,实际操作结果却往往是丢了芝麻也丢了西瓜,这种摇摆不定是很忌讳的,在舍与得的问题上,你必须坚定不移,不能“既要、又要、还要”,这里有个挺可怕的陷阱,越是物质富足的人越是天生知足,断舍果断;相反越是底层的人、越容易被贪欲控制、导致总是被厄运套牢、却不肯止损。
2. 让利润奔跑
作为交易员,一直绕不过的一个重要话题就是滚仓(浮盈加仓)。
如果在策略中使用金字塔式的浮盈加仓,并且一个方向上最多允许加仓两次,收益更是达到了惊人的7000%,但是浮盈加仓的代价是在同样的固定止损比例下,回撤比例又上升到了30%。

再次进行基于贪婪的YY,在我的回测数据里,这个浮盈加仓策略是无论牛熊都坚持使用的。而浮盈加仓是单边大行情趋势的神器,没有好行情的加持很难有机会表现,在不明确的震荡市场中容易大量回吐利润。
而当已经明确在趋势非常健康的单边行情下,选择开启浮盈加仓是非常好的,实际操作中会结合金字塔加仓与移动止盈止损,除了可能带来一部分利润的回吐,只有极小概率会出现单笔亏损、甚至伤及本金的情况。
因此我认为,这里的30%的较高回撤与实际操作并不符合。尽管这里有一个问题,你怎么知道现在的行情就是适合滚仓的优质行情呢?
3. 仓位管理
交易策略中突破8EMA、21EMA、55EMA、144EMA时在满足大趋势的前提下都是可以开仓做多的。但如果一根K线同时突破了上述的三个均线(常见的一阳穿三线)怎么办?原先的回测里我只会开一个固定比例仓位,例如用2%的仓位。
但是实际上,按照交易系统,每一笔交易都是独立执行的概率事件,也就是说突破8ema的价格追入一个仓位的同时,突破21ema的均线要另外开一个仓位,他们是独立互相不干扰的操作。在tradingview里默认只生效其中一个信号,而通过前面的开启金字塔后,在这里的一处信号就可以同时开出多笔订单。因此上面的7000%盈利并非只是加仓带来,其中也有关键点位的重仓导致。
4. 交易频率
我发现另一种放大收益的方式,就是按照严格交易纪律的前提下增加频率。
我默认使用的是最低ema20的均线,历史交易订单数为400笔左右,当加入了一个ema8的超短趋势均线后,满足条件的订单量增加了一倍,来到了860笔。而收益到达了惊人的23593%。

事实证明,只要交易的底层逻辑正确,更多的交易次数只会强化复利效应,而不是单纯的高频交易就不好。这让我不禁联想,高频量化的机器收益真是堪比印钞机。不过最大回撤到达了38.96%,这体验也是普通人扛不住的,毕竟生命有限、但交易无限。
如果减少频率呢?
在同一只票种,选择过滤掉小趋势交易,降低频率去做一些周期更大的趋势交易,测试将周期拉长到144ema后只有70笔交易符合入场条件,盈利263%,回撤有17.9%,盈亏比3.7:1。可见单纯降低频率有助于减少回撤。

一只票10年里只有70次交易机会,但是如果有5000多只票,那么这样的机会是不是就非常多了呢?
5. 信号的确认
上述的23593%的收益就算完了吗?事实并非如此。
按照交易策略,每当信号K线出现就立刻入场,而事实上信号只是信号,是否入场的依据,还要更具后一根K线是否验证了这根信号K。通常有两种做法,一种是第二根k线突破次信号K线后追入,另一种是等第二根k线是一个缩量的弱回调,且价格不能跌破信号K线的50%,这时候再入场。后者的止损盈亏比会更优质,当然如果本身信号k线的幅度很小的话,两者入场的区别不大。
tradingview实现第二根k线综合判断的代码我没研究出来,不过tradingview中支持在出现信号K线收盘后进行买卖,而不是在信号一出现就进行买卖。
将买卖点移动到信号K线收盘后的第二根K线,此时回测的盈亏比2.4:1中规中矩,胜率45%很合理。最重要的是净利润达到了惊人的564509%!初始本金是10万的情况下,达到了5.6个亿的最终回报,足足翻了5600多倍。可见仓位管理在交易中的重要性。

我们需要注意的是,自动回测数据结果显示最大回撤41.40%,这个回撤变高、变危险了要如何看待呢?我想是有舍有得,想要获得这种巨额利润就需要放弃最大回撤或胜率等其他参数。
6. 左侧入场
关于技术,有人喜欢交易突破后回踩(N字型弱转强、或类似老鸭头的形状)在阴线或盘整中低吸,这一类具有更高盈亏比的入场形态,但此类交易用代码实现的话太折腾了,需要结合前后成交量和K线位置进行综合判断,我的策略目前主要还原右侧交易。右侧交易值得是价格已经启动上升趋势,均线也翘头向上后,才追入此趋势。而这里的左侧交易指的是已经启动趋势的第一根阳线不进场,而是等回调且不跌破入场信号线的情况下低价入场。
左侧交易要在大周期出现入场信号后,在小周期结合支撑阻力和背离信号进行入场。示例图中上图是4小时入场信号,下图是30分钟级别的支撑阻力位和背离信号。

再例如下图中,图一出现了买入信号,但可能你看到信号时已经比较晚,或者这一根急拉幅度太大,再追入怕立马吃到回调的浮亏,你那么可以在图二的小周期中借助回踩均线以及回踩支撑位进行合理入场。

这一张图中右侧其实给出了两次回踩入场信号,两处红色方框都是可以进行低吸左侧入场,由于”趋势“的作用,此处顺大势逆小势的左侧交易是合理的。
高级策略
仅用均线系统在市场上的交易,其原理是将整个交易当做纯粹的概率游戏,按照一套固定的模式无脑入场、无脑离场。
但其实作为小散户最稳健的策略是跟随大资金,若有一套能够精确识别主力成本区和资金入场时间的方法,我想这里的优势将会比纯概率的均线策略更好。
这里我想到的一个是威科夫弹簧(Wyckoof Springs),另一个是鲸鱼泵(Whale Pump),这两个都是跟随资金动向、并且容易量化的指标,实际回测中,将两者结合可以极高概率地捕捉到主力拉升前的重要入场时机。

上图中k线下方的红线显示的是近期的价格底部,绿色箭头处是指标提示的弹簧信号。这里的“弹簧”是形象地比喻价格在下跌过程中积累的压力,像弹簧一样被压缩,当压力释放时,价格会向上弹起。
成交量柱下方的黄色能量柱则是鲸鱼泵监控到的主力资金流入信号。鲸鱼泵是币圈很喜欢的理念,加密货币与传统金融市场最大的区别之一是加密货币基于区块链技术,个人投资者可以通过链上转账发现大笔资金的流向。这些大笔资金通常被称为鲸鱼。鲸鱼会对加密货币,尤其是比特币的价格走势产生重大影响。因此,如何监测鲸鱼趋势无论在基本面还是技术面都具有重要意义。鲸鱼本可以直观地体现成交量购买力,非常准确地告诉参与者何时买入和何时卖出。
我们可以看到,威科夫弹簧信号出现后,鲸鱼泵的黄色能量柱也出现短期的爆量,爆量逐渐缩小,即表明主力已经吸筹完毕,紧接着一根绿色能量柱出现,并出现一个“Buy”的信号,此时我们可以果断入场。12天收获117%的收益。
此时我们就是那只吸附在鲸鱼身上的䲟鱼,只要用很小的力量,就可以去到很远的地方。


市场在绝对大的资金面前,也只是一个小弟无从躲藏。说来也巧,deepseek的母公司幻方量化的logo正是一只鲸鱼🐳。
在鲸鱼进场的同时买入是最完美的进场点,若没有看到主力资金,你在其余时间盲目进场则是在和小鱼小虾们进行pvp,这是相当危险的。
最后
不得不感叹,有时候交易市场简直是一个印钞机,或者说遍地黄金等你来捡。
关于策略,回测用的代码版本其实很简陋;它只是用来验证趋势交易策略是可行的。它也是很多高级模式和战法的底层核心,借助这些逻辑后续便于进一步完善适合自己的模式。
关于选股,上述回测都是对着一只股票猛薅出5600倍,但实际操作中不太可能对一只股票如此执念地猛薅。一只股票不能天天都有行情,真正值得做的那段时间只占整个股票波动周期中的一小段,大部分时间还是用一个模式去市场上去套“盈亏比最优秀、最具确定性的入场点”,赚一波就走。
数学概率能帮你做到很好的防守,但是进攻更多靠的是艺术,分析市场的局势、方向,已及临盘应对每只票的pk结果、地位、顺位和动态变化,市场现在正在打造什么题材、资金为什么选择某只票,选谁来打造赚钱效应、选谁来避险,以及一个新闻消息被故意放出来背后的意图是什么。很多时候只有在情绪出现强大分歧的时候,才能看出来谁在裸泳,因为这个时候蹭热度的妖魔鬼怪的股都会退下,能撑住的都是强股,不怕没人接。
市场的当下炒点、热点就一两个,核心龙头、高标就那么几只,在一轮主线未走完时,在龙头间来回切换做波段即可,整个交易的节奏和过程应当是“骑牛找牛”的过程,账户每天都在借着趋势盈利,你知道自己在哪,并且提前计划好接下来去哪、做好高低切的准备。
市场上最好的票只有几支、次好的票可能有几十、上百支,剩下的都属于实在没得买了才会有资金去套利的票。而资金优先流向最好的票、其次溢出的资金才会向下流动到次好的票、直至资金溢出到去博弈捡漏的垃圾票,因此能做最强做最强、能做龙头核心就不要碰杂毛垃圾。只做核心热点、只做主升波段、高低补涨来回切,按照这样的逻辑,5600倍的收益也仅仅只是一个开始,在“淘县”的游资大佬中也有类似8年一万倍的顶级游资“赵老哥”。
这里泼一盆冷水,其实对于绝大部分人来说,资金曲线在前三年都能保本存活就已经打败90%的股民,这条赛道的淘汰率非常高。知道不代表就自己就能做到,知行合一的路上还有跟多困难要克服,自学、复盘、迭代、刻意练习的能力缺一不可,可以说这条路对绝大部份人来说仍然是九死一生。

短线交易改变命运这条路是走的通的,每年都有大量的人财富自由,但更重要的是“一将功成万骨枯”,大部分人都是炮灰,所以切记,刚开始做短线的钱越少越好!一定是越少越好!否则当你一开始乱来亏多了本机,导致认知足够的时候,口袋里的钱却不够多了。
只要方法正确多小的本金都可以做大,不要一开始就大资金!对交易感兴趣的朋友,建议可以拿一点小钱进场试水,一万就足矣,不要太贪。
另外关于认知的部分,可以参阅这篇文章:
Loading...