鹏城的夜晚,科技园区的灯火透过书房窗户,在林晨的电脑屏幕上投下斑驳光影。他盯着“Phoenix Trader”系统过去一周的详细交易日志,眉头紧锁。
836元的盈利,这个数字在家庭开销面前杯水车薪,但更让他警觉的是日志里那几笔亏损交易。
“问题不在盈亏本身”,林晨喃喃自语,手指在触摸板上滑动,“而在一致性”。
他调出系统的决策逻辑图。目前的核心模型是基于 LSTM(长短期记忆网络)对股价时序数据进行预测,简单来说,就是让 AI“记忆”历史走势规律来推测未来。但一周的回测和实盘数据显示,这种单一模型在震荡市中表现尚可,一旦遇到突发消息引发的剧烈波动——比如上周三那笔亏损 -2.1% 的交易——就容易“失灵”。
“就像只靠一条腿走路”,林晨揉了揉发涩的眼睛,起身去冲第二杯咖啡,“稳定性太差”。
厨房里,苏婉给乐乐辅导完功课,正收拾书包。见林晨出来,她轻声问:“又遇到难题了”?
“嗯,策略需要优化”。林晨往马克杯里倒热水,速溶咖啡的香气弥散开,“现在这个模型,太容易受噪声干扰”。
苏婉走过来,靠在水池边:“我不懂技术,但听起来,你是想让它更‘聪明’一点”?
“更‘稳健’一点”。林晨纠正道,“投资不是追求单次暴利,而是长期稳定盈利。现在的系统,胜率大概 55%,最大回撤……”他调出手机上的计算器快速按了几下,“一周内就出现过 2.1%,年化下来可能很吓人。这不行”。
“那你打算怎么改”?
“加‘拐杖’。”林晨喝了口咖啡,思路逐渐清晰,“不能只依赖一个 AI 预测模型。得引入那些被市场验证了几十年的技术指标,让它们和 AI 互相印证。就像……中医把脉还要结合现代仪器检查,多重验证”。
回到书房,林晨打开新的浏览器标签页。他需要快速补课。
MACD(指数平滑异同移动平均线)、RSI(相对强弱指标)、布林带(Bollinger Bands)……这些名词在炒股软件里常见,但他过去十年做跨境电商后台开发,对这些传统金融技术指标只是耳闻,从未深究。
“从头学”。他打开知乎、掘金、GitHub,搜索技术指标的 Python 实现原理。
MACD 的核心是快慢均线的分离与聚合,用来判断趋势强度和转折;RSI 衡量价格变动速度,评估超买超卖;布林带则通过标准差构造通道,反映价格波动区间和突破信号……
林晨一边查资料,一边在 Jupyter Notebook 里写测试代码。他先尝试用 ta-lib 库(一个金融技术分析函数库)直接计算这些指标。
import talib
import numpy as np
# 假设close_prices是收盘价序列
close_prices = np.array([...])
# 计算MACD
macd, macd_signal, macd_hist = talib.MACD(close_prices)
# 计算RSI
rsi = talib.RSI(close_prices, timeperiod=14)
# 计算布林带
upper_band, middle_band, lower_band = talib.BBANDS(close_prices)
代码很简单,但关键是如何解读这些指标,并将它们转化为交易信号。
“不能简单看金叉死叉”。林晨翻阅着经典技术分析书籍的电子版,“这些指标都有滞后性,单独使用效果有限。但如果是多个指标在同一时间窗口内发出共振信号呢”?
他脑海中浮现出一个多因子决策框架。
假设 AI 的 LSTM 模型给出“看涨”概率为 65%,这本身只是一个中等强度的信号。但如果此时 MACD 在零轴上方形成金叉,RSI 从超卖区(低于 30)回升至 50 以上,同时价格突破布林带中轨向上——多个技术指标同时转向积极,那么这笔交易的成功概率就可能大幅提升。
反之,如果 AI 看涨,但 MACD 死叉、RSI 超买、价格触及布林带上轨,系统就应该忽略这个买入信号,甚至考虑反向操作。
“权重分配是个关键”。林晨新建了一个 Excel 表格,开始设计打分系统。
他将决策因子分为三类:
AI 核心预测(权重 40%):LSTM 模型输出的涨跌概率值。
趋势指标(权重 35%):MACD、均线系统等,判断大方向。
震荡指标(权
>>>点击查看《AI时代:码农的涅盘重生》最新章节