我用Python搭了个量化系统跟踪31只股票,一年后最大的收获不是赚钱
2023年某天晚上,我打开Python,开始写第一行量化代码。
原因很简单:跟风炒股10年,追涨杀跌,频繁操作,结果大家能猜到——亏了不少,也没搞明白为什么。
那时候我想,既然凭感觉不行,那就让数据说话吧。
31只股票的池子:怎么选的
我的股票池现在固定跟踪31只。不是拍脑袋选的,而是从我自己这些年反复交易过的股票里筛出来的。
银行5只:平安银行、中国平安、兴业银行、招商银行、工商银行。这是我最早开始关注的板块,2014年开户那会儿就买银行股,算是入门。
白酒3只:茅台、五粮液、洋河。散户绕不开白酒,虽然现在我已经不像以前那样追了。
新能源3只:宁德时代、隆基绿能、比亚迪。2020年追新能源追得最凶,后来被套了很久才割的。
消费2只:美的、伊利。日常消费,业绩比较稳。
医药3只:长春高新、爱尔眼科、迈瑞医疗。
科技5只:中兴通讯、海康威视、立讯精密、东方财富。这里面东方财富是我自选股里波动最大的,涨起来猛,跌起来也猛。
总共31只。不多,但对我来说够了。
系统长什么样
我不敢说它多复杂,说实话就是个自己用的工具,代码写得不怎么优雅,但能用。
每天下午2点自动跑预测,下午4点自动跑验证。信号基于动量因子、RSI、均线、板块强度、大盘环境这几个维度来打分。
每天最多出2-3只信号,很多天甚至完全没有信号。
没有信号意味着什么?意味着——今天别动。
这听起来简单,但执行起来比写代码难多了。我后面再说为什么。
系统现在迭代到了v3.3版本。之前搞过一个v4.0,加了更多因子,但上线不到两周就回退了——跑下来发现新因子没有带来明显提升,反而让信号更少,干脆退回v3.3。
做减法,有时候比做加法有用。这是我量化系统教我的第一课。
信号频率:很多天不操作
我统计过,系统平均每天出1-2只信号,但有些时候连续好几天都没信号。
比如今天(6月9日),系统预测了两只:工商银行(概率71%)和农业银行(概率65%)。收盘验证下来,工行+0.53%,农行+0.46%,全对。
但另一套预测——我用易经跑的(纯属个人兴趣,当娱乐看),今天验证10只股票只对了5只,准确率50%。同一批股票:茅台预测涨结果跌了0.55%,宁德预测跌结果涨了1.65%。
你看,连"预测"这件事本身,不同方法给的结果都不一样。量化系统挑了两只银行股全对,易经方法撒了10只对一半。
少选比多选准,这是数据告诉我的。
v3.2版本有个让我印象深刻的战绩:4月8日那天,系统出了5只信号(茅台+1.70%、比亚迪+1.76%、华泰证券+2.05%、中国中免+1.88%、宁德时代+2.85%),全部正确。那天我的平均收益是+2.05%。
5只全对。但我要诚实地说——这样的日子不多。大部分时候是对错参半,有些天干脆没信号。
最大的收获:不是钱,是"不操作"
回到开头那个问题:搭了这个系统一年多,最大的收获是什么?
不是赚了多少钱(我前面说了,不编数据)。最大的收获是:我学会了"不操作"。
以前我是出了名的手痒党。2019-2020年那段追涨杀跌的日子,几乎天天操作。看到涨了赶紧追,看到跌了想跑,收盘复盘又后悔。
现在呢?系统说没信号,我就不动。有时候连续三四天没信号,我就连续三四天不操作。
同事问我:"最近行情怎么样?"我说:"不知道,没怎么看。"
这不是装,是真的。我每天只花15分钟看盘面,大部分时间在干别的。以前是行情控制我,现在是我控制自己。
量化系统最厉害的功能,不是帮我选对股票,而是告诉我"今天别动"。这句话看起来没用,但对一个管不住手的散户来说,简直是救命稻草。
搭量化系统难吗?
说说我自己的真实情况,给想折腾的朋友一个参考。
技术门槛:如果你懂点Python,会调API、能写个循环、会用pandas处理数据,就能搭一个基础版。我之前就是搞技术的,所以写代码不费劲,真正费劲的是调参数和找数据源。
数据源:这是最大的坑。我用过新浪的行情接口、东方财富的API,经常遇到接口被封、请求被限制的问题。有一段时间东财接口直接封了,我改成用新浪接口,请求间隔从0.1秒调到0.5秒才稳定下来。
策略迭代:v2.0的时候准确率只有25%,10只对2只。后来把概率阈值从48%提到55%,把涨幅区间从"什么都看"收窄到2%-4%,加了板块强度因子,准确率才上来。但这个过程中删掉的因子,比加上的还多。
时间成本:系统搭好后基本自动跑,但前期开发花了很长时间。包括调数据源、调因子、写推送逻辑、做网站展示。如果你只是想"用个现成的",网上有现成的量化平台,比自己搭省事多了。
我的真实建议
不对,我不给建议。说说我自己的真实感受吧。
搭量化系统这件事,对我个人最大的价值是:它让我从一个"凭感觉炒股的人"变成了一个"按规则炒股的人"。
规则就是规则。信号出来就执行,没信号就不动。不管市场涨了还是跌了,不管新闻说了什么,不管朋友推荐了什么票。
这条纪律,比什么因子、什么算法都重要。
至于系统准不准、赚不赚钱——这个我只能老实说,它在持续优化中,今天的数据不代表明天。我自己心里也没底,但我至少不用靠"感觉"来做决定了。
对一个12年股龄的散户来说,这已经算是很大的进步了。
我是小Q,一个用Python跟31只股票较劲的散户。代码不一定优雅,但至少比凭感觉靠谱 💤
⚠️ 以上仅为个人经历分享,不构成任何投资建议。投资有风险,入市需谨慎。