问财量化选股策略逻辑
选股逻辑为:振幅大于1,大单净量排行,10天内涨停天数大于2。该选股策略主要是结合了成交量的因素,筛选出近期有一定上涨动能的个股。
选股逻辑分析
该选股策略主要是关注涨势迅猛、成交量大、且近期走势活跃的个股。通过综合考虑振幅、大单净量和涨停天数这些指标来分析和确定选股。选择振幅大于1、大单净量排行和10天内涨停天数大于2这三个条件,可以找到近期有上涨趋势的股票,且有较强的市场优势和赚钱潜力。
有何风险?
该选股策略较为注重短期内的涨势情况,未考虑股票的基本面及长期的发展趋势,存在一定的风险。可能会选择出一些热门概念股或市场炒作的个股,但这些个股的价值可能并不够明确,存在较大的风险。
如何优化?
可以通过加入其他指标如财务数据、行业状况等来进行定量评估,筛选出更具有投资价值的股票。同时,也可以根据市场整体趋势和其他宏观经济因素,适度调整选股逻辑的参数和规则。
最终的选股逻辑
选股条件为:振幅大于1,大单净量排行,10天内涨停天数大于2,并结合股票的基本面综合评估其价值。
同花顺指标公式代码参考
SET MA_5 = MA(CLOSE,5);
SET MA_10 = MA(CLOSE,10);
SET VOLUME_AVG = (AMOUNT *1.0 / VOL_AMT * 100);
SET CON1 = (H - L)/REF(CLOSE,1) > 0.01;
SET CON2 = AMOUNT > 1000000000;
SET CON3 = MAX(HIGH,10) = REF(MAX(HIGH,10),1) AND C > REF(C,1);
SET CON4 = COUNT(C > REF(C,1) AND REF(C,1) = REF(C,2),10) > 2;
SET SELECTED = CON1 AND CON2 AND CON3 AND CON4;
Python代码参考
import pandas as pd
import tushare as ts
def select_stocks(length):
ts.set_token('your token')
pro = ts.pro_api()
# 获取股票数据
stock_data = pro.stock_basic(list_status='L', exchange='SSE', fields='ts_code,symbol,name,industry')
current_date = '20220308'
# 筛选符合条件的股票
selected_stocks = []
for index, row in stock_data.iterrows():
code = row['ts_code']
info = {}
info['code'] = code
info['name'] = row['name']
# 获取技术指标
tech_data = pro.query('daily_basic', ts_code=code, trade_date=current_date, fields='turnover_rate, amount')
if len(tech_data) > 0 and tech_data.iloc[0]['amount'] > 10 ** 9:
# 获取股价数据
price_data = pro.daily(ts_code=code, start_date='20200101', end_date=current_date, fields='high,low,close')
# 计算均线指标
price_data['ma5'] = price_data['close'].rolling(5).mean()
price_data['ma10'] = price_data['close'].rolling(10).mean()
# 判断是否符合条件
# 1. 满足振幅大于1条件
cond1 = (price_data.iloc[-1]['high'] - price_data.iloc[-1]['low']) / price_data.iloc[-2]['close'] > 0.01
# 2. 满足大单净量排行
cond2 = tech_data.iloc[0]['turnover_rate'] > 3
# 3. 满足10天内涨停天数大于2
price_data['diff'] = price_data['close'] - price_data['close'].shift(1)
price_data['rise'] = price_data['diff'] > 0
price_data['limit'] = price_data['rise'].rolling(10).sum() > 2
cond3 = price_data.iloc[-1]['limit']
if cond1 and cond2 and cond3:
selected_stocks.append(info)
if len(selected_stocks) >= length:
break
return selected_stocks
致辞
本次问答为问财量化选股策略逻辑的第三篇,主要是分析涨停天数及振幅等因素的选股策略,通过综合考虑多个指标来选股,希望投资者能通过本文了解更多量化选股方法。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
