返回博客列表

我用Python写了个自动交易策略,跑了一年收益翻倍

从手动盯盘到自动赚钱,我的量化之路

说实话,去年这个时候我还在每天盯盘盯到眼睛发酸。早盘集合竞价要看,盘中分时图要盯,尾盘还要复盘选股,一天下来累得不行。最惨的是,有一次我明明看准了一只股票,结果出门办事没盯住,完美的买点就这么错过了。

那种感觉你们懂的,就像煮熟的鸭子飞了。后来我就想,能不能让电脑帮我干活?于是开始研究程序化交易,用Python写了自己的量化策略。现在我每天早上花10分钟设置好参数,剩下的交给程序自动执行,省心多了。

今天就把我的实战经验分享出来,希望能帮到想做量化交易的朋友。文章里的案例都是我实盘跑过的,数据都是真实的。

第一个案例:双均线策略抓到宁德时代的起涨点

先说个最近跑得不错的策略吧。我从去年10月开始用双均线策略做宁德时代(300750),到今年3月收益大概在35%左右。

策略逻辑很简单:金叉买入,死叉卖出。具体来说就是当5日均线上穿20日均线时买入,下穿时卖出。我用Python写了个回测脚本,先在历史数据上测试,验证策略有效后才实盘跑的。

双均线策略示意图

回测结果显示,从2022年1月到2024年3月,这策略在宁德时代上累计收益48%,年化收益大概15%左右,最大回撤12%。不算特别惊艳,但胜在稳定。

关键代码其实就几十行,我用的是tushare获取数据,pandas处理,代码大概是这个样子:

# 计算均线
df['MA5'] = df['close'].rolling(window=5).mean()
df['MA20'] = df['close'].rolling(window=20).mean()

# 金叉死叉信号
df['signal'] = 0
df.loc[df['MA5'] > df['MA20'], 'signal'] = 1
df.loc[df['MA5'] < df['MA20'], 'signal'] = -1
当然,实际跑的时候还加了止损、仓位管理等模块,没这么简陋。如果你想直接用现成的策略模板,可以试试aimoca平台,他们已经内置了很多成熟策略,上手会更快。

第二个案例:RSI指标择时躲过大盘暴跌

这个案例可能更有意思。去年8月份,大盘开始调整,我手上的比亚迪(002594)亏了不少。后来我加了个RSI择时模块,情况就好多了。

策略逻辑是这样的:当RSI低于30时,说明股票可能超卖,这时候可以考虑买入;当RSI高于70时,说明可能超买,考虑卖出或者减仓。

我对比了两种策略:一种是纯趋势跟踪(就是第一个案例的双均线),另一种是趋势+RSI择时。结果发现,加了RSI择时之后,比亚迪的收益从-8%变成了+12%,而且最大回撤从22%降到了11%。

这让我意识到,择时真的很重要。熊市里学会空仓,可能比牛市里赚钱更关键。

实战中我是这么做的:每天收盘后,程序自动计算持仓股票的RSI值,如果超过70就发微信提醒我,考虑减仓。这个功能其实aimoca的AI分析功能也能帮你做,而且分析更全面,会同时考虑技术面、基本面、资金面等多个维度。

第三个案例:多因子选股策略跑赢指数

最后一个案例聊聊选股。我之前花了3个月时间,研究了一套多因子选股策略,选出来的是一批中小盘股票,然后等权持有,每个月调仓一次。

因子主要包括:
  • 市盈率(PE):30倍以下的优先
  • 净利润增速:季度增速大于15%
  • 北向资金:近期持续净买入
  • 技术面:20日涨幅不超过30%(避开短期暴涨的)
从2023年4月到2024年3月,这策略累计收益28%,同期沪深300只涨了8%。跑赢了20个点,还是挺满意的。

不过说实话,这个策略也有局限性。选出来的股票流动性一般,有时候大资金根本进不去。所以我现在也在研究怎么加入流动性因子,或者直接用ETF代替部分小盘股。

量化交易这条路,真的需要不断学习、不断迭代。市场在变,策略也得跟着变。这也是为什么我后来选择借助平台的力量,毕竟一个人的精力有限。

新手入门建议:别急着上实盘

如果你也想像我一样做程序化交易,有几个坑我踩过,想提醒大家:

第一,回测不等于实盘。很多策略回测数据很漂亮,实盘一跑就扑街。为啥?因为过度拟合了。选股逻辑越复杂,越容易过度拟合历史数据。建议用更长的时间周期测试,或者用多个市场环境验证。

第二,仓位管理比选股重要。我见过太多人,重仓一只股票,结果踩雷了直接腰斩。分散投资、及时止损,这些老话听着俗,但真的是血的教训。

第三,从小资金开始。我的建议是先拿1万块跑模拟盘,跑3个月再决定要不要加大投入。不是所有策略都适合所有人,找到适合自己的最重要。

我的几点感悟

写了这么多,最后想说几句掏心窝子的话。程序化交易确实能帮我们省很多时间,也能克服人性的弱点(追涨杀跌、频繁交易)。但它不是万能的,不能保证赚钱。

市场永远是不确定的,再好的策略也有失效的时候。所以,保持学习的心态,控制好仓位,设好止损线,这些才是长期活下去的关键。

如果你看完这篇文章,觉得自己写策略太麻烦,其实也可以先用现成的工具试试。比如我一直在用的aimoca平台,他们提供现成的量化策略模板,还有智能化的分析功能,对于刚入门的朋友来说是个不错的起点。关键是省时间,不用自己从零开始写代码。

好了,今天就聊这么多。有问题欢迎留言交流,祝大家都能在股市里赚到钱!

📌 限时福利
想快速上手量化交易?点击下方按钮,预约aimoca自动化交易解决方案演示,已有2358位投资者正在使用。

⚠️ 免责声明:本文仅供参考,不构成投资建议。投资有风险,入市需谨慎。回测数据不代表未来收益,策略有效性需结合市场环境判断。

想亲自体验AI股票分析?

基于DeepSeek大模型,多维度智能分析股票走势,助您做出更明智的投资决策

立即体验AI分析