问财量化选股策略逻辑
本选股策略选取振幅大于1、昨日非涨停板,且收盘价在Boll上轨与中轨之间的股票作为投资标的。
选股逻辑分析
该选股策略选取振幅大于1、昨日非涨停板的股票,结合Boll线指标来筛选潜在的短期上涨股票,Boll线可以较好地反映出股票价格在正常波动范围内的变化情况。
有何风险?
Boll线指标相比于其他技术指标来说,算法相对简单,可能无法很好地反映出市场的复杂情况。同时,该策略选股范围过于狭窄,可能存在投资组合不够多样化的风险。
如何优化?
可以加入其他技术面和基本面的指标,如KDJ等,综合考虑股票的价值和成长潜力。同时,在策略执行中需要根据实际情况灵活调整,防范市场风险。
最终的选股逻辑
本策略选取振幅大于1、昨日非涨停板水平,且收盘价在Boll上轨与中轨之间的股票作为投资标的,并综合考虑技术面和基本面的多个指标进行深度分析和筛选,选出优秀的成长股和价值股,搭建多样化的投资组合。
同花顺指标公式代码参考
BOLL(N,M)= MA(N)+/- M * STD(N)
其中,N代表周期,M代表标准差的倍数,MA代表移动平均线,STD代表移动标准差。
python代码参考
# 引入Tushare库、Numpy库
import tushare as ts
import numpy as np
# 连接Tushare库
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
# 振幅大于1、昨日非涨停板,且收盘价在Boll上轨与中轨之间的股票作为投资标的
quote = pro.stock_basic(exchange='', list_status='L', fields='ts_code, name, market, list_date, total_mv')
for ts_code in quote["ts_code"]:
stock_data = pro.daily(ts_code=ts_code, start_date='20210101', end_date='today', fields='ts_code, trade_date, close')
if len(stock_data) >= 21: # N=20
# 判断振幅
amplitude = (stock_data["high"] - stock_data["low"]) / stock_data["pre_close"]
if amplitude.iloc[-1] <= 0.01:
continue
# 判断昨日是否是涨停板
if stock_data.iloc[-2]["pct_chg"] == 10:
continue
# 判断收盘价是否在Boll上轨与中轨之间
MA = stock_data["close"].rolling(20).mean()
STD = stock_data["close"].rolling(20).std()
upBoll = MA + 2 * STD
midBoll = MA
if stock_data.iloc[-1]["close"] >= midBoll.iloc[-1] and stock_data.iloc[-1]["close"] <= upBoll.iloc[-1]:
selected_stocks.append(ts_code)
if len(selected_stocks) == n:
return selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
