
很多刚入场做量化或者做股票短线的朋友买股票经常是拍脑袋。一看到某个股票在短视频里被推荐或者看到某张分时图急速拉升就直接满仓杀入。任何交易系统的第一步必然是客观、理性地评估标的当前的健康状态。今天我们用 Python 配合 QuantDash 平台写一个能在终端中一键运行的**“个股多维度体检报告生成器”**。只需输入一个股票代码脚本就会在 1 秒内生成一份包含价格高低位、波动率状态、均线支撑力、成交量变动的核心体检结果帮你彻底告别盲目跟风。我们的脚本将从四个核心维度对个股进行全盘扫描均线趋势健康度计算最新收盘价处于 MA20生命线和 MA60决策线的什么位置是否形成了强势趋势。历史价格相对位置当前最新价在过去 120 个交易日约半年中处于高位还是历史底部百分比位置。波动率监控ATR计算近 14 日的平均真实波幅评估该股当前是属于暴风雨前夕的“缩量横盘”还是属于庄家震荡的“宽幅剧烈波动”。量能强弱今日成交量对比 20 日均量判断是无量空涨衰竭还是放量突破。import pandas as pd import numpy as np from quantdash import QuantDash # 初始化客户端 qd QuantDash(api_key你的_QUANTDASH_API_KEY) def generate_stock_report(symbol): print(f\n 正在为标的 [{symbol}] 收集历史数据并生成多维体检报告...\n) try: # 1. 抓取近 120 个交易日的 K 线数据 df qd.stock.get_kline( symbolsymbol, start_date2025-10-01, end_date2026-07-15, adjustforward # 必须用复权价格保证最高价、最低价和均线的有效性 ) if df is empty or len(df) 60: print(❌ 获取数据不足无法生成完整体检报告。) return # 按时间升序 df df.sort_values(bytrade_date).reset_index(dropTrue) # 2. 计算各项复盘量化指标 # 均线 df[MA20] df[close].rolling(20).mean() df[MA60] df[close].rolling(60).mean() # 计算 ATR (Average True Range) high_low df[high] - df[low] high_cp (df[high] - df[close].shift(1)).abs() low_cp (df[low] - df[close].shift(1)).abs() tr pd.concat([high_low, high_cp, low_cp], axis1).max(axis1) df[ATR] tr.rolling(14).mean() # 成交量均线 df[VOL_MA20] df[volume].rolling(20).mean() # 提取最新行 last df.iloc[-1] close last[close] # 3. 开始各项诊断 # A. 均线状态 ma20_status 之上 (支撑有效) if close last[MA20] else 之下 (短期压制) ma60_status 之上 (中期多头) if close last[MA60] else 之下 (中期弱势) # B. 历史价格相对位置百分比 max_120 df[high].max() min_120 df[low].min() pos_pct ((close - min_120) / (max_120 - min_120)) * 100 # C. 波动率状况 (ATR) atr_ratio (last[ATR] / close) * 100 # ATR占股价比例 volatility_level 极高 (谨慎宽幅震荡) if atr_ratio 5 else (温和 if atr_ratio 2 else 极低 (可能面临变盘突破)) # D. 量能状态 vol_ratio last[volume] / last[VOL_MA20] volume_status 严重放量 if vol_ratio 2 else (温和 if vol_ratio 0.8 else 严重缩量) # 4. 打印可视化报告 print( * 50) print(f 个股多维度健康体检报告 [{symbol}]) print( * 50) print(fℹ️ 最新收盘价: {close:.2f}) print(fℹ️ 120日价格区间: [{min_120:.2f} ~ {max_120:.2f}]) print(fℹ️ 当前股价在半年来高低位区间的位置: {pos_pct:.1f}%) if pos_pct 80: print( 诊断股价处于近期绝对高位注意高位滞涨风险。) elif pos_pct 20: print( 诊断股价处于近期绝对低位关注是否有筑底企稳迹象。) else: print( 诊断股价处于中段合理波动区间。) print(- * 50) print(f 均线趋势维度:) print(f - 20日生命线: {last[MA20]:.2f} | 股价处于线 {ma20_status}) print(f - 60日生命线: {last[MA60]:.2f} | 股价处于线 {ma60_status}) print(- * 50) print(f️ 波动与量能维度:) print(f - 14日ATR波动率占比: {atr_ratio:.2f}% | 波动状态: {volatility_level}) print(f - 今日成交量对比20日均量: {vol_ratio:.2f}倍 | 量能表现: {volume_status}) print( * 50) except Exception as e: print(f❌ 运行失败: {e}) if __name__ __main__: # 支持随时更换你想体检的任意股票A股、港股、美股通用 generate_stock_report(00700.HK) # 例如体检腾讯控股 # generate_stock_report(600519.SH) # 体检茅台许多初学者学量化一开始就去啃复杂的机器学习、LSTM 神经网络。但实际上大部分实盘交易者的核心优势在于通过高效的数据清洗流程帮助自己过滤掉那些不理性的、高风险的交易。使用 quantdash-python-sdk你可以非常轻松地写出这样的个股诊断脚本[3]。你不需要处理因为除权带来的 K 线价格下调也不需要花时间清理爬虫返回的 NaN 空值所有的 K 线数据一键返回标准的 Pandas DataFrame开箱即可计算[3][6]。把基础繁琐的数据整理交给 QuantDash 平台把 100% 的精力留给你自己的复盘思维和策略构建。相关链接 QuantDash 官方QuantDashPython SDK 快速开始快速开始 - QuantDash