问财量化选股策略逻辑
选股逻辑为:振幅大于1,大单净量排行,收盘价在<boll(upper值)且收盘价>boll(mid值)区间。该选股策略主要是结合了股价的趋势和波动性,同时考虑了大单净量因素,筛选出近期有一定上涨动能的个股。
选股逻辑分析
该选股策略主要是关注涨势迅猛、成交量大、且近期走势活跃的个股。通过综合考虑振幅、大单净量和股价是否在布林带的上半区间来分析和确定选股。选择振幅大于1、大单净量排行和股价在<boll(upper值)且收盘价>boll(mid值)区间这三个条件,可以找到近期有上涨趋势并且波动性不太会过大的股票,且有较强的市场优势和赚钱潜力。
有何风险?
该选股策略较为注重短期内的涨势情况,未考虑股票的基本面及长期的发展趋势,存在一定的风险。可能会选择出一些热门概念股或市场炒作的个股,但这些个股的价值可能并不够明确,并且短期内的波动性也可能会较大。
如何优化?
可以通过加入其他指标如财务数据、行业状况等来进行定量评估,筛选出更具有投资价值的股票。同时,也可以根据市场整体趋势和其他宏观经济因素,适度调整选股逻辑的参数和规则。
最终的选股逻辑
选股条件为:振幅大于1,大单净量排行,股价在<boll(upper值)且收盘价>boll(mid值)区间,并结合股票的基本面综合评估其价值。
同花顺指标公式代码参考
SET N1=20;
SET N2=2;
SET CLOSE_BOLL=BOLL(CLOSE,N1,N2);
SET C=REF(CLOSE,1);
SET VOL1=MA(VOL,5);
SET CON1=(HIGH-LOW)/C>0.01;
SET CON2=VOL>VOL1*1.8;
SET CON3=CLOSE>CLOSE_BOLL.UPPER AND CLOSE>CLOSE_BOLL.MID;
SET SELECTED=CON1 AND CON2 AND CON3;
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')
# 计算布林带指标
n = 20
k = 2
price_data['ma'] = price_data['close'].rolling(n).mean()
price_data['std'] = price_data['close'].rolling(n).std()
price_data['upper'] = price_data['ma'] + k * price_data['std']
price_data['mid'] = price_data['ma']
# 判断是否符合条件
# 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. 满足股价在<boll(upper值)且收盘价>boll(mid值)区间
cond3 = price_data.iloc[-1]['close'] > price_data.iloc[-1]['upper'] and price_data.iloc[-1]['close'] > price_data.iloc[-1]['mid']
if cond1 and cond2 and cond3:
selected_stocks.append(info)
if len(selected_stocks) >= length:
break
return selected_stocks
致辞
本次问答为问财量化选股策略逻辑的第四篇,主要是分析布林带指标及大单净量因素的选股策略,通过综合考虑多个指标来选股,希望投资者能通过本文了解更多量化选股方法。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
