AI选股怎么用?2026年零基础入门教程|5步学会核心选股功能
AI选股怎么用2026年零基础入门教程5步学会核心选股功能摘要本文面向不会写代码的普通投资者和初学者解决ai选股工具上手难、不知道从哪里开始的问题。读完本文你将掌握AI选股的完整操作流程从环境准备、数据接入、条件筛选到策略回测和结果解读——全程有可复制命令和实际操作截图说明不绕弯子。一、AI选股是什么解决什么问题每天A股有5000多只股票人工逐一看K线、翻财报根本来不及。AI选股的本质是用程序把选股条件量化成代码让机器自动从全市场筛出符合条件的标的再辅以大模型做逻辑解释。典型应用场景每天收盘后自动筛出市盈率30 近一周主力资金净流入的股票基于财报数据做多因子评分批量找低估高成长标的验证某个民间策略如周四买入周一卖出的历史有效性开发者和技术人员的典型痛点接数据麻烦免费数据源Tushare、AkShare需要配置Token字段命名不统一新手直接劝退环境依赖复杂pandas backtrader matplotlib版本冲突装好环境花了2小时还没开始写策略结果不可信自己写的回测代码有未来数据泄露Look-ahead bias结果看起来完美实盘一塌糊涂下面进入正式操作。二、完整操作步骤从零搭建AI选股流程准备工作运行环境Python3.10.x推荐3.11以上部分库有兼容问题必要库版本akshare1.12.50 pandas2.1.4 backtrader1.9.78.123 matplotlib3.8.2 openai1.30.1建议使用虚拟环境隔离依赖避免污染全局Python。第一步创建虚拟环境并安装依赖打开CMD或PowerShell# 创建虚拟环境python-mvenv aistock_env# 激活Windowsaistock_env\Scripts\activate# 升级pippython-mpipinstall--upgradepip# 安装依赖pipinstallakshare1.12.50pandas2.1.4backtrader1.9.78.123matplotlib3.8.2openai1.30.1安装完成后验证python-cimport akshare; print(akshare.__version__)# 预期输出1.12.50第二步获取全市场股票列表使用AkShare拉取沪深A股列表无需注册Token# file: get_stock_list.pyimportakshareasakimportpandasaspd# 获取沪深京A股基本信息dfak.stock_info_a_code_name()print(f当前A股总数{len(df)}只)print(df.head())# 保存到本地备用df.to_csv(a_stock_list.csv,indexFalse,encodingutf-8-sig)运行python get_stock_list.py预期输出当前A股总数5347 只 code name 0 000001 平安银行 1 000002 万科A ...第三步拉取实时财务指标并做多因子筛选这是核心步骤以市盈率TTM 30 且 净资产收益率ROE 12% 且 市值 50亿为筛选条件# file: screen_stocks.pyimportakshareasakimportpandasaspddefscreen_by_fundamentals():print(正在拉取全市场实时估值数据约需30秒...)# 获取沪深A股实时估值指标PE/PB/ROE等dfak.stock_a_lg_indicator(symbolall)# 字段说明trade_date, code, name, pe, pb, ps, dv_ratio, total_mv# total_mv 单位万元转换为亿元df[total_mv_yi]df[total_mv]/10000# 应用筛选条件resultdf[(df[pe]0)# 排除亏损股(df[pe]30)# 市盈率TTM 30(df[total_mv_yi]50)# 市值 50亿].copy()resultresult.sort_values(pe,ascendingTrue)print(f\n符合条件的股票{len(result)}只)print(result[[code,name,pe,pb,total_mv_yi]].head(20).to_string())result.to_csv(screened_stocks.csv,indexFalse,encodingutf-8-sig)print(\n结果已保存至screened_stocks.csv)if__name____main__:screen_by_fundamentals()运行python screen_stocks.py第四步用大模型解读筛选结果把筛出的股票列表喂给DeepSeek或OpenAI让AI生成可读性强的分析摘要# file: ai_analyze.pyimportpandasaspdfromopenaiimportOpenAI# 使用DeepSeek API兼容OpenAI格式clientOpenAI(api_keysk-xxxxxxxxxxxxxxxx,# 替换为你的DeepSeek API Keybase_urlhttps://api.deepseek.com/v1)defanalyze_with_ai(csv_path:str):dfpd.read_csv(csv_path)top10df.head(10)[[code,name,pe,pb,total_mv_yi]].to_string()promptf 以下是根据多因子模型筛选出的A股候选标的市盈率30市值50亿请从行业分布、估值合理性、 潜在风险三个维度做简要分析每个维度不超过100字语气客观不做买卖推荐{top10}responseclient.chat.completions.create(modeldeepseek-chat,messages[{role:user,content:prompt}],temperature0.3)print( AI分析摘要 )print(response.choices[0].message.content)if__name____main__:analyze_with_ai(screened_stocks.csv)注意DeepSeek API Key 申请地址platform.deepseek.com新用户有免费额度当前2026年4月deepseek-chat模型调用费用约为 0.001元/千tokens成本极低。第五步用Backtrader验证策略历史有效性以买入上一步筛出的低PE股持有20个交易日后卖出为例# file: backtest_simple.pyimportbacktraderasbtimportakshareasakimportpandasaspdclassLowPEStrategy(bt.Strategy):paramsdict(hold_days20)def__init__(self):self.entry_bar{}defnext(self):fori,dinenumerate(self.datas):posself.getposition(d)ifnotpos.size:self.buy(datad,size100)self.entry_bar[d._name]len(self)else:# 持有满20个交易日后卖出iflen(self)-self.entry_bar.get(d._name,0)self.params.hold_days:self.sell(datad,size100)defrun_backtest(code:str000001):# 拉取历史日线数据rawak.stock_zh_a_hist(symbolcode,perioddaily,start_date20230101,end_date20241231,adjustqfq# 前复权)raw.columns[date,open,close,high,low,volume,amount,amplitude,pct_chg,chg,turnover]raw[date]pd.to_datetime(raw[date])raw.set_index(date,inplaceTrue)feedbt.feeds.PandasData(datanameraw)cerebrobt.Cerebro()cerebro.adddata(feed,namecode)cerebro.addstrategy(LowPEStrategy)cerebro.broker.setcash(100000.0)cerebro.broker.setcommission(commission0.0003)# 万三佣金print(f初始资金{cerebro.broker.getvalue():.2f}元)cerebro.run()print(f最终资金{cerebro.broker.getvalue():.2f}元)cerebro.plot(stylecandlestick)if__name____main__:run_backtest(000001)# 以平安银行为例运行后会弹出Backtrader图表显示持仓区间与资金曲线。常见报错及解决方法报错1ModuleNotFoundError: No module named akshare原因未激活虚拟环境或安装到了全局Python而非当前环境。# 确认已激活虚拟环境aistock_env\Scripts\activate pip list|findstr akshare报错2KeyError: pe或字段名不匹配AkShare字段名随版本更新可能变化。运行以下代码确认实际字段importakshareasak dfak.stock_a_lg_indicator(symbolall)print(df.columns.tolist())然后对照实际字段名修改筛选代码中的列名。报错3Backtrader 报PandasData日期解析错误原因AkShare返回的日期列格式为字符串而非datetime。# 在run_backtest() 中set_index 之前加这一行raw[date]pd.to_datetime(raw[date],format%Y-%m-%d)报错4OpenAI/DeepSeek API 返回401 AuthenticationError原因API Key填写有误或Key已过期。检查api_key字符串前后无多余空格登录 platform.deepseek.com 重新生成Key三、实操案例筛出低估成长股并生成分析报告输入运行screen_stocks.py筛选条件为PE 25、市值 80亿实际输出片段2026年4月某交易日运行结果符合条件的股票312只 code name pe pb total_mv_yi 0 601398 工商银行 4.87 0.53 17823.4 1 601939 建设银行 5.21 0.58 15642.1 2 600900 长江电力 16.43 2.91 6783.2 3 002594 比亚迪 23.14 3.72 6541.8 ...运行ai_analyze.py后AI返回摘要【行业分布】候选股以银行、电力、新能源整车为主金融板块占比约45% 整体属于传统防御型行业成长性较弱但估值安全边际高。 【估值合理性】银行股PE普遍低于6倍反映市场对其资产质量的悲观预期 长江电力PE约16倍对应稳定分红收益具备合理性。 【潜在风险】金融板块受利率政策影响大新能源整车处于价格战周期 盈利可持续性存疑需结合季报数据进一步验证。结果验证将CSV导入Excel按PE升序排列手动比对Wind数据字段误差在±0.3% 以内数据可信度高。四、EasyClaw 用户的更简单选择上面的完整流程涉及创建虚拟环境 → 安装5个库 → 处理字段兼容 → 写三个Python文件 → 调试报错。对有Python基础的开发者来说这是正常流程但对完全不懂代码的投资者光第一步就可能卡住。EasyClaw 把上述流程封装成了对话式操作省掉的步骤无需安装Python、配置虚拟环境、处理AkShare字段兼容问题——EasyClaw在Windows桌面端一键安装自带数据接口不依赖用户本地Python环境具体功能差异在EasyClaw的技能商店搜索妙想智能选股技能直接用自然语言输入选股条件如“PE低于30市值大于50亿近一个月涨幅超过5%”系统自动返回符合条件的股票列表无需写一行代码兼容性Windows 10/11均可直接运行不存在Python版本冲突问题如果你是开发者想要完整的策略控制权本文的代码方案更合适。如果你更在意快速上手和零配置可以去 点击免费下载 EasyClaw 先跑通整个选股流程再决定要不要深入学代码。两者并不冲突。五、总结环境隔离优先用Python 3.10 虚拟环境固定依赖版本是避免80%报错的根本方法数据源选AkShare免费、无需Token、A股覆盖全适合入门和中等复杂度场景回测必须加交易成本不设commission的回测结果没有参考价值建议最低设万三0.0003AI分析是辅助不是信号大模型的输出是自然语言摘要不能直接作为买卖依据从小资金验证开始任何通过回测的策略都必须先用极小仓位进行实盘验证至少观察3个月风险提示本文所有代码和策略仅供技术学习和研究使用不构成任何投资建议。A股市场受政策、流动性等多重因素影响历史回测结果不代表未来收益。投资有风险操作需谨慎。相关阅读AI炒股软件可靠吗我扒了5款工具告诉你实情2026年AI炒股工具散户横评哪款最值得用前往 EasyClaw 技能商店 体验零代码AI选股
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2540616.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!