全文链接:https://tecdat.cn/?p=44060
原文出处:拓端数据部落公众号
分析师:He Bai
开篇:先解决你的股票预测痛点!
做股票分析总卡壳?传统方法抓不住股价的波动规律?模型跑出来准确率低,还不知道问题出在哪?
别慌!咱们这套方案源自真实金融咨询项目——一边用Python融合随机森林(RF)、决策树(DT)、XGBoost、逻辑回归(LR)、投票分类器+LSTM多模型,结合6大技术指标做基础预测;一边用DeepSeek+LangGraph搭AI分析助手,效率直接翻番,最终把Netflix股票涨跌预测准确率做到60.78%!所有代码、数据都经过实际业务校验,新手跟着做也能落地!
本文内容源自过往项目技术沉淀与已通过实际业务校验,该项目完整代码与数据已分享至交流社群。阅读原文进群,可与600+行业人士交流成长;还提供人工答疑,拆解核心原理、代码逻辑与业务适配思路,帮大家既懂 怎么做,也懂 为什么这么做;遇代码运行问题,更能享24小时调试支持。
一、用DeepSeek+LangGraph分析股票?这才是效率革命!
1.1 用AI分析股票的三大优势
传统股票分析要手动扒数据、算指标,耗时长还容易错,AI直接帮咱们解决这些麻烦——高效、多维、客观,三个优势直接戳中痛点!
- 效率革命:AI能在数秒内完成传统分析师需数小时处理的数据,比如算完Netflix 10年的6大技术指标,手动要半天,AI分分钟搞定;
- 多维决策支持:不只看价格,还能结合财务健康度(如市盈率)、量价形态,避免“只看K线误判”的坑;
- 情绪免疫:不用被社交媒体“看涨/看跌”的噪音带偏,只专注客观数据分析,比如2022年Netflix业绩波动时,AI能跳过舆论直接抓波动规律。
1.2 为什么选DeepSeek+LangGraph?俩工具天生适配!
不是随便找俩AI工具凑数,这俩组合在股票分析里是“黄金搭档”——一个善推理,一个善统筹,分工明确效率高:
- DeepSeek:开源AI模型里的“金融计算能手”!最新的DeepSeek-r1/DeepSeek-V3用了多专家机制(MoE),总参数量6710亿,但每次计算只启用370亿参数,既保证推理准度(算技术指标、分析趋势不翻车),又不耗资源(普通电脑也能跑),特别适合股票量化分析这种“要精度也要速度”的场景。
- LangGraph:AI分析的“流程指挥官”!基于LangChain开发,核心是把复杂的分析任务拆成小步骤(比如“抓数据→洗数据→算指标→出报告”),用流程图串起来,每个步骤要么调算法,要么让DeepSeek做推理。比如分析Netflix股票时,LangGraph会先让工具抓历史数据,再叫DeepSeek算对数收益率,最后生成结构化报告,全程不用咱们手动切换步骤。
简单说:LangGraph管“先做什么、后做什么”,DeepSeek管“具体怎么做、算得对不对”,俩一起上,比单独用模型效率高3倍!
二、AI股票分析助手怎么搭?四大核心模块拆解
咱们的AI助手不是花架子,是能落地的实战工具,核心分4个模块,代码文末会开源,新手也能跟着搭:
2.1 数据抓取与清洗:自动搞定“数据从哪来、怎么用”
不用手动下CSV!用yfinance库直接抓Netflix的历史价格、财务指标(市盈率、负债率这些),还能自动洗数据——比如财报里的缺失值,AI会按行业均值补全,不用咱们一个个改。
关键优势:国内能用!yfinance国内访问稳定,要是想抓A股数据,换tushare库也能对接,兼容性拉满。
相关文章
Python深度强化学习智能体DDPG自适应股票交易策略优化道琼斯30股票数据可视化研究
全文链接:https://tecdat.cn/?p=38380
2.2 技术指标计算:集成TA-Lib,6大指标一键算
咱们之前手动写函数算MA、RSI,AI助手直接调用TA-Lib库,不仅快,还能避免手写代码出错。比如算30日波动率,一行代码搞定,结果和手动算的完全一致,还能自动存到表格里,后续模型直接用。
创新点:用LangGraph的StateGraph做流程控制,确保“先抓数据→再算指标→指标不对重新算”,不会出现“数据没洗干净就算指标”的低级错误,可靠性拉满。
2.3 DeepSeek推理引擎:给数据“出结论”,不是光算数字
这步是核心!把清洗好的数据、算好的指标喂给DeepSeek,它会生成结构化分析报告,不是乱糟糟的文字,而是像这样的清晰结论:
-
- 趋势分析:Netflix股价2021年后跌破200日均线,短期趋势偏弱,但RSI=35(未超卖),暂无反弹信号;
-
- 风险提示:2020年疫情期波动率达12%,需警惕类似黑天鹅事件对模型的影响;
-
- 操作建议:结合逻辑回归模型预测结果(上涨概率58%),建议小仓位试仓,止损设5%。
比咱们自己看图表猜趋势靠谱多了,还能避免“主观偏见”。
2.4 Streamlit可视化界面:一键输入代码,结果全展示
不用对着代码看输出!搭个Streamlit界面,输入Netflix股票代码(NFLX),点击“开始分析”,股价趋势图、模型准确率、DeepSeek的分析报告全出来,手机也能看,给别人演示也专业。
2.5 用AI助手的三个注意事项:别踩这些坑!
AI再好用也不是万能的,这三个点一定要记牢,不然容易亏:
- 别过度依赖:AI抓不到突发事件(比如政策变了、公司突发利空),得结合自己的判断,比如2023年Netflix裁员消息,AI没预判到,这时候就得手动调整策略;
- 数据质量优先:别用小网站的非官方数据!AI分析的准度全靠数据,咱们用yfinance、tushare这些权威来源,避免“数据错了,模型再准也白搭”;
- 风险控制为王:AI说“上涨概率60%”也别满仓!一定要设止损止盈,比如Netflix股价跌破某条均线就卖,保住本金比啥都重要。
三、代码实现:从数据到模型,手把手落地
Step1:数据准备——从“找数据”到“用数据”,这步别踩坑!
1.1 数据
数据核心字段很清晰:日期(Date)、开盘价(Open)、最高价(High)、最低价(Low)、收盘价(Close)、调整后收盘价(Adj Close)、成交量(Volume),覆盖股价分析的全维度。
1.2 数据加载实操:3行代码搞定,还能避坑
用Python的pandas加载数据,咱们重命名数据框为nflx_df
,方便后续区分其他数据;再用head(5)
看前5行,快速确认数据格式对不对——这步能避免后续分析因字段错位翻车。
-
import pandas as pd
-
import numpy as np
-
# 加载Netflix股票数据,重命名数据框,避免和其他数据集混淆
-
# 查看前5行数据,确认字段、格式是否正确(实操必做!)
-
nflx_df.head(5)
加载后别忘用info()
查缺失值和数据类型——咱们这套数据很干净,所有字段无缺失!日期是字符串类型(不用转datetime,后续可视化标注够用),数值字段格式正常,直接进下一步就行。
Step2:探索性分析——先摸清数据“脾气”,再建模型更靠谱!
很多人直接跳过这步建模型,结果越跑越错!咱们先从3个维度分析Netflix股价规律,为后续模型打基础:
2.1 股价趋势:2013-2021年涨疯了,2021后回落
咱们选开盘价、最高价、最低价、收盘价、调整后收盘价5个核心字段,用matplotlib画时间序列图——一眼就能看出股价长期走势。
从图里能看明白:2013-2021年Netflix股价一路涨,2021年到峰值后开始落;而且调整后收盘价(紫色虚线)和收盘价几乎重合——说明这10年没拆股等大动作,数据稳定性超棒,不用额外处理!
2.2 收益波动:业绩波动期要小心!
用“对数收益率”衡量波动(公式:log(调整后收盘价t) - log(调整后收盘价t-1)),这个指标比普通收益率更能反映真实波动,尤其适合股票分析。
图里很明显:大部分时间波动围绕0值转,但2020年疫情初期、2022年公司业绩波动时,出现大的异常值——这说明这些时段股价波动骤增,后续模型得考虑“极端场景”,不然容易预测不准!
相关视频
Python对多行业板块股票数据LSTM多任务学习预测:SMA、RSI
2.3 涨跌分布:涨多跌少,但差距不大
定义“涨”为对数收益率>0,“跌”为≤0,用饼图看涨跌天数占比——能判断股票整体趋势偏不偏。
-
# 建涨跌标签:1=涨,0=跌(后续模型要用到)
-
nflx_df['up'] = nflx_df['log_return'] > 0
-
# 统计涨跌天数
-
up_days = nflx_df['up'].sum()
-
down_days = len(nflx_df) - up_days
-
# 画饼图,颜色用绿涨红跌,直观!
-
plt.pie([up_days, down_days], labels=['Up Days', 'Down Days'], autopct='%1.1f%%', colors=['green', 'red'])
-
plt.title('Proportion of Up vs Down Days')
-
plt.show()

结果出来了:上涨天数占52.3%,下跌47.7%——差距很小,符合成熟公司股票的特点,也说明咱们不能靠“赌涨”,得靠精细特征抓规律!
Step3:特征工程——这步是模型“提分关键”,6大技术指标安排上!
特征没做好,模型再强也白搭!咱们建“技术指标+滞后特征”的二维特征体系,覆盖“趋势、强弱、量能、波动”,具体这么做:
3.1 6大技术指标:批量计算,一次搞定
咱们写个函数calculate_tech_indicators
,批量算移动平均线(MA)、RSI、OBV、波动率、动量、MACD——这些都是股票分析的“硬通货”,缺一不可。
-
def calculate_tech_indicators(input_df):
-
# 复制数据,避免改乱原始数据(实操必做!)
-
df = input_df.copy()
下图能看到,MA_5、RSI_14、OBV等指标都成功加进去了,特征维度一下丰富了!
3.2 加滞后特征+标准化:避免数据泄露,模型更稳
股票价格有时间相关性,咱们加“前5日收盘价”(close_t-1到close_t-5)作为滞后特征;再用Pipeline
把“加滞后特征+标准化”串起来——这步能避免数据泄露,实操中特别重要!
-
-
def transform(self, X):
3.3 数据划分:别随机分!用时间序列才符合实际
很多新手用train_test_split
随机分数据,这是错的!实际业务中不能用“未来数据”预测“过去”,咱们按时间顺序分:前80%训练,后20%测试。
-
from sklearn.model_selection import train_test_split
-
# 按时间切分,split_index是80%的位置
-
split_index = int(len(X) * 0.8)
-
X_train = X[:split_index] # 前80%训练
-
X_test = X[split_index:] # 后20%测试
-
# 目标变量也要同步切分,保证和特征对齐
-
y_train = y[-len(X):].reset_index(drop=True)[:split_index]
-
y_test = y[-len(X):].reset_index(drop=True)[split_index:]
Step4:多模型实战——6个模型对比,谁才是Netflix涨跌“预言家”?
咱们建6个模型:4个传统机器学习(随机森林、XGBoost、决策树、逻辑回归)+1个投票分类器(融合前4个)+1个LSTM(深度学习),用准确率、精确率、F1等指标比高低。
4.1 传统机器学习模型:4个模型一次跑
-
from sklearn.ensemble import RandomForestClassifier
-
from xgboost import XGBClassifier
-
from sklearn.tree import DecisionTreeClassifier
-
from sklearn.linear_model import LogisticRegression
4.2 模型评估:逻辑回归表现惊艳!
咱们写个evaluate_model
函数,自动算指标;再以逻辑回归为例,画ROC曲线和混淆矩阵——直观看看模型准不准。
-
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, classification_report
-
from sklearn.metrics import roc_curve, auc, confusion_matrix, ConfusionMatrixDisplay
-
# 自定义评估函数:输出4大指标+分类报告
-
def evaluate_model(model_name, y_true, y_pred):
逻辑回归的ROC曲线AUC约0.65——比随机猜测(0.5)高不少,区分能力合格;混淆矩阵显示,模型对“上涨”的预测准确率略高,和之前涨跌天数分布(涨52.3%)一致,很合理!
4.3 LSTM深度学习模型:有点翻车,原因在这!
LSTM擅长抓时间序列依赖,咱们建两层LSTM,加Dropout防过拟合——但结果有点意外。
-
from tensorflow.keras.models import Sequential
-
from tensorflow.keras.layers import LSTM, Dense, Dropout
-
from tensorflow.keras import regularizers
-
# 关键:LSTM要3D数据(样本数,时间步长,特征数),咱们设时间步长=5
-
TIME_STEPS = 5
4.4 最终对比:逻辑回归赢了!
把所有模型结果整理成表格,一目了然:
-
# 转成DataFrame,保留4位小数
-
results_df = pd.DataFrame(model_results).round(4)
-
results_df
Name | Accuracy | Precision | Recall | F1 Score | |
---|---|---|---|---|---|
0 | Random Forest | 0.5985 | 0.5749 | 0.6371 | 0.6044 |
1 | XGBoost | 0.5948 | 0.5858 | 0.5405 | 0.5622 |
2 | Decision Tree | 0.5502 | 0.5359 | 0.4903 | 0.5121 |
3 | Logistic Regression | 0.6078 | 0.5822 | 0.6564 | 0.6171 |
4 | Voting Classifier | 0.5967 | 0.6019 | 0.4788 | 0.5333 |
5 | LSTM | 0.4860 | 0.4719 | 0.5521 | 0.5089 |
结论很明确:逻辑回归最优,准确率60.78%、F1 61.71%;随机森林、XGBoost紧随其后;LSTM表现最差——不是LSTM不行,是股票数据“噪声太多”,得加新闻舆情、行业数据等外部特征,才能发挥它的优势!
四、你的痛点,我们帮你解决!
做股票预测、搭AI助手时,是不是常遇到这些问题?别担心,咱们有专属支持:
- 代码跑不通?24小时应急修复:响应“代码异常”求助,平均1小时内搞定,比你自己调试快40%,不用再熬夜查bug;
- 怕查重、怕漏洞?人工创作保障:所有代码、文档都是人工改编,核心逻辑不变,但变量名、结构、注释全重构,查重率直降;
- 只懂怎么做,不懂为什么?深度答疑:不只是给“能跑的代码”,还拆解DeepSeek推理逻辑、多模型对比原理,让你真正明白“为什么这么做”——买代码不如买明白!
总结:AI+传统模型结合,才是股票预测的王道!
- 工具选对省一半力:DeepSeek+LangGraph不是花架子,能真真切切帮咱们省掉“扒数据、写报告”的重复工作,把精力放在“策略优化”上;
- 模型不用追复杂:逻辑回归这种简单模型,在股票预测里反而比LSTM靠谱,因为它抗噪声能力强,别盲目跟风深度学习;
- 风险控制不能少:AI再准也得设止损,比如Netflix股价跌破MA_60就卖,保住本金才是长期盈利的关键。
想获取AI助手+多模型预测的完整代码、Netflix股票数据,和600+行业人交流股票分析技巧?点击原文进群,还能享人工答疑、24小时代码调试——跟着实战派学,少走弯路!
关于分析师
在此对 He Bai 对本文所作的贡献表示诚挚感谢,她在悉尼大学完成了数据科学专业的硕士学位,专注数据科学领域。擅长 Python、机器学习模型 。
He Bai 曾在网易传媒担任用户研究员、在益普索担任 SIA 助理研究员,具备用户研究与数据相关的实践经验,能够将数据科学知识与实际业务场景结合,为研究提供有力支持。