deepseek的无限可能,就是将一个交易理念转化为一个可行的交易策略,然后将每一个关键细节因子编辑为源代码,然后实现EA自动化交易的过程。
涨得幅度一旦大了,就会被标注为妖股,而幅度之所以大的逻辑是什么?
当deepseek将妖股的筹码峰进行了三个维度七个具体的条件的框架圈定,这一切就会一目了然。
deepseek:按照筹码峰编辑一个筛选妖股的策略。
妖股筛选条件详解:系统从筹码结构、资金动向、价格动能三个维度综合评估股票,符合妖股的核心特征。
各个的条件的详细解析:
条件1: 成本高度聚焦 :
筹码聚焦度 < 15
# 计算逻辑
cost_5 = np.percentile(recent['close'], 5) # 5%投资者的成本价
cost_95 = np.percentile(recent['close'], 95) # 95%投资者的成本价
concentration = (cost_95 - cost_5) / (cost_95 + cost_5) * 100
市场含义:
- 筹码聚焦:说明大部分投资者的持仓成本聚焦在相对狭窄的价格区间
- 主力控盘:高度聚焦的筹码一般意味着有主力资金在控盘
- 突破容易:一旦突破成本密集区,上方抛压较小,容易形成连续拉升
实战意义:
- <15:筹码高度聚焦,主力控盘明显
- 15-30:筹码相对聚焦
- >30:筹码分散,难以形成合力
条件2: 筹码穿透力强 :
筹码穿透力 > 2.0
# 计算逻辑
penetration = (近期均量 / 历史均量) / (价格波幅 / 近期均价)
市场含义:
- 量价配合:衡量成交量对价格区间的穿透能力
- 资金效率:值越大说明用相对较小的成交量就能推动较大的价格波动
- 锁仓良好:高穿透力表明抛压很小,少量买盘就能大幅推高价格
实战意义:
- >2.0:强势特征,资金效率极高
- 1.0-2.0:正常水平
- <1.0:资金效率低下
条件3: 筹码锁定度高 :
筹码锁定度 > 3.0
# 计算逻辑
lock_ratio = 1 / (换手率 × 价格波动率 + 0.001)
市场含义:
- 惜售心理:投资者不愿卖出,持仓稳定
- 信心充足:持有者对后市看好,不惧波动
- 浮筹减少:市场流通筹码减少,有利于价格拉升
实战意义:
- >3.0:筹码锁定良好,抛压很小
- 1.0-3.0:正常锁定状态
- <1.0:筹码松动,抛压较大
条件4: 主力控盘度 :
主力控盘度 > 30%
# 计算逻辑
大单天数 = 成交量 > 均量×2 的天数
控盘度 = 大单天数 / 总天数 × 100
市场含义:
- 资金介入:有明显的大资金在活跃交易
- 主导力量:主力资金在引导价格走势
- 持续关注:不是一日游行情,有持续的资金关注
实战意义:
- >30%:主力深度介入
- 15%-30%:有必定主力活动
- <15%:散户行情为主
条件5: 短期强势 :
5日涨幅 > 20%
市场含义:
- 强势启动:短期内有明显的资金推动
- 市场关注:涨幅较大吸引市场眼球
- 趋势确立:突破前期整理平台
妖股特征: 妖股往往在启动初期就有惊人的涨幅,这是识别的重大标志。
条件6: 成交量放大 :
量比 > 2.0
# 计算逻辑
量比 = 当日成交量 / 最近20日平均成交量
市场含义:
- 资金涌入:明显有新增资金进场
- 活跃度提升:交易活跃度大幅提高
- 关注度增加:吸引更多投资者关注
实战意义:
- >2.0:明显放量,资金关注度高
- 1.5-2.0:温和放量
- <1.5:量能不足
条件7: 高换手 :
换手率 > 8%
# 计算逻辑
换手率 = 近期5日均量 / 历史均量 × 100
市场含义:
- 充分换手:新旧资金充分交换
- 成本抬高:新进投资者成本较高,支撑股价
- 流动性好:便于大资金进出
以上是deepseek所完成的一个依据筹码峰筛选妖股的关键的因子,三个维度,七个因子,并且进行了逐一的解释,当然,可以把它变成一种打分的方式,就像量化一样,满分为100分,然后将以上七个因子项逐一打分,在保证每一项保持高质以外,其综合分数越高越好,一般以80分为及格分,90分以上,就是必选的优质标的了。
deepseek:将妖股筹码峰源代码编辑为一个代码和文字说明共同存在的系统。
为了便于观瞻和理解的需要,我要求deep将文字和源代码共同载体的系统复制于此。
我将逐字码翻译上面的Python妖股筛选器代码:
# 导入必要的库
import pandas as pd # 导入pandas库,用于数据处理和分析
import numpy as np # 导入numpy库,用于数值计算
import talib # 导入talib库,用于技术分析指标计算
from datetime import datetime, timedelta # 从datetime模块导入datetime和timedelta类,用于处理日期和时间
class MonsterStockScreener: # 定义名为MonsterStockScreener的类,用于筛选妖股
def __init__(self): # 定义类的初始化方法
self.results = [] # 初始化实例变量results为空列表,用于存储筛选结果
def calculate_chip_indicators(self, df, period=60): # 定义计算筹码峰相关指标的方法,参数为数据框和统计周期(默认60)
"""
计算筹码峰相关指标
"""
# 基础价格数据
high = df['high'].values # 获取最高价序列并转换为numpy数组
low = df['low'].values # 获取最低价序列并转换为numpy数组
close = df['close'].values # 获取收盘价序列并转换为numpy数组
volume = df['volume'].values # 获取成交量序列并转换为numpy数组
# 1. 成本聚焦度计算
def cost_concentration(df, period): # 定义内部函数计算成本聚焦度
recent = df.tail(period) # 获取最近period天的数据
cost_5 = np.percentile(recent['close'], 5) # 计算收盘价的5%分位数(代表5%成本线)
cost_95 = np.percentile(recent['close'], 95) # 计算收盘价的95%分位数(代表95%成本线)
concentration = (cost_95 - cost_5) / (cost_95 + cost_5) * 100 # 计算成本聚焦度指标
return concentration # 返回成本聚焦度值
# 2. 筹码穿透力
def chip_penetration(df): # 定义内部函数计算筹码穿透力
recent = df.tail(20) # 获取最近20天的数据
avg_volume = recent['volume'].mean() # 计算近期平均成交量
price_range = recent['high'].max() - recent['low'].min() # 计算近期价格波动范围
if price_range > 0: # 如果价格范围大于0(避免除以0的错误)
penetration = (avg_volume / df['volume'].mean()) / (price_range / recent['close'].mean()) # 计算筹码穿透力指标
else: # 如果价格范围为0
penetration = 0 # 设置穿透力为0
return penetration # 返回筹码穿透力值
# 3. 筹码锁定度
def chip_lock_ratio(df): # 定义内部函数计算筹码锁定度
# 通过换手率和价格稳定性判断筹码锁定程度
turnover = df['volume'].tail(10).mean() / df['volume'].mean() # 计算近期换手率相对于历史平均的比例
price_volatility = df['close'].pct_change().std() # 计算价格波动率(收益率的标准差)
lock_ratio = 1 / (turnover * price_volatility + 0.001) # 计算筹码锁定度(换手率和波动率越低,锁定度越高)
return min(lock_ratio, 10) # 返回锁定度值,限制最大值为10
# 4. 主力控盘度
def main_force_control(df): # 定义内部函数计算主力控盘度
# 基于大单净流入和价格走势判断
large_volume_days = len(df[df['volume'] > df['volume'].mean() * 2]) # 统计成交量超过平均成交量2倍的天数
control_ratio = large_volume_days / len(df) * 100 # 计算主力控盘度比例
return control_ratio # 返回主力控盘度值
# 计算所有指标
indicators = { # 创建字典存储所有计算出的指标
'cost_concentration': cost_concentration(df, period), # 成本聚焦度指标
'chip_penetration': chip_penetration(df), # 筹码穿透力指标
'chip_lock_ratio': chip_lock_ratio(df), # 筹码锁定度指标
'main_force_control': main_force_control(df.tail(period)), # 主力控盘度指标(使用最近period天数据)
'price_increase_5d': (close[-1] / close[-6] - 1) * 100, # 5日涨幅(当前收盘价相对于6天前收盘价的涨幅)
'price_increase_20d': (close[-1] / close[-21] - 1) * 100, # 20日涨幅(当前收盘价相对于21天前收盘价的涨幅)
'volume_ratio': volume[-1] / np.mean(volume[-20:]), # 量比(当日成交量相对于最近20日平均成交量的比例)
'turnover_rate': np.mean(volume[-5:]) / df['volume'].mean() * 100 # 换手率(最近5日平均成交量相对于历史平均的比例)
}
return indicators # 返回包含所有指标的字典
def monster_stock_criteria(self, indicators): # 定义妖股筛选条件的方法,参数为指标字典
"""
妖股筛选条件
"""
score = 0 # 初始化得分为0
# 条件1: 成本高度聚焦 (筹码聚焦度 < 15)
if indicators['cost_concentration'] < 15: # 如果成本聚焦度小于15
score += 25 # 加25分
# 条件2: 筹码穿透力强 (> 2.0)
if indicators['chip_penetration'] > 2.0: # 如果筹码穿透力大于2.0
score += 20 # 加20分
# 条件3: 筹码锁定度高 (> 3.0)
if indicators['chip_lock_ratio'] > 3.0: # 如果筹码锁定度大于3.0
score += 15 # 加15分
# 条件4: 主力控盘度 (> 30%)
if indicators['main_force_control'] > 30: # 如果主力控盘度大于30%
score += 15 # 加15分
# 条件5: 短期强势 (5日涨幅 > 20%)
if indicators['price_increase_5d'] > 20: # 如果5日涨幅大于20%
score += 10 # 加10分
# 条件6: 成交量放大 (量比 > 2.0)
if indicators['volume_ratio'] > 2.0: # 如果量比大于2.0
score += 10 # 加10分
# 条件7: 高换手 (> 8%)
if indicators['turnover_rate'] > 8: # 如果换手率大于8%
score += 5 # 加5分
return score # 返回总得分
def screen_stocks(self, stock_data_dict): # 定义批量筛选股票的方法,参数为股票数据字典
"""
批量筛选股票
stock_data_dict: {股票代码: DataFrame}
"""
monster_candidates = [] # 初始化妖股候选列表为空
for code, df in stock_data_dict.items(): # 遍历股票数据字典中的每个股票代码和数据框
if len(df) < 100: # 如果数据量不足100条
continue # 跳过该股票,继续下一个
try: # 尝试执行以下代码
# 计算筹码指标
indicators = self.calculate_chip_indicators(df) # 调用calculate_chip_indicators方法计算指标
# 计算妖股得分
score = self.monster_stock_criteria(indicators) # 调用monster_stock_criteria方法计算得分
if score >= 60: # 如果得分大于等于60分(及格分数)
candidate = { # 创建候选股票字典
'code': code, # 股票代码
'score': score, # 得分
'indicators': indicators, # 所有指标
'current_price': df['close'].iloc[-1], # 当前价格(最后一天的收盘价)
'signal_time': datetime.now() # 信号时间(当前时间)
}
monster_candidates.append(candidate) # 将候选股票添加到列表中
except Exception as e: # 如果发生异常
print(f"计算股票 {code} 时出错: {e}") # 打印错误信息
continue # 继续处理下一个股票
# 按得分排序
monster_candidates.sort(key=lambda x: x['score'], reverse=True) # 使用lambda函数按得分降序排序
return monster_candidates # 返回排序后的妖股候选列表
以上代码必定要核实修正后来,方可使用于实际的过程,切不可拿来就用。
代码功能总结:
这个MonsterStockScreener类是一个专门用于筛选”妖股”(指短期内涨幅巨大、波动剧烈的股票)的工具,主要包含:
- 筹码指标计算:计算成本聚焦度、筹码穿透力、筹码锁定度、主力控盘度等关键技术指标
- 评分系统:根据各项指标设定评分标准,总分100分
- 批量筛选:能够处理多只股票数据,自动筛选出符合条件的候选股票
- 异常处理:包含完整的错误处理机制,确保程序稳定性
该工具通过分析股票的筹码分布特征和价格行为,识别具备妖股潜力的股票。
这是我使用deepseek的一些结果,当然经验为先,结果次之,就是授人以鱼不如授人以渔。



运行结果怎样?
此指标是否可以对过去某个时间的股票进行评分?
可以复盘使用
梁就是用这个发财的
妖股的Deepseek筹码峰解析
这里的筹码峰是指 90% 还是 70。
这里的筹码集中度看的是日线还是周线?
你这个根本没法实盘
让他算一下你的人生终点
收藏了,感谢分享