问财量化选股策略逻辑
选股逻辑为振幅大于1,10日涨幅大于0小于35,近25个交易日有单日涨幅大于等于百分之10。
选股逻辑分析
- 振幅大于1、10日涨幅大于0小于35表示股票在短期内有较强的波动性和一定的涨势。
- 近25个交易日有单日涨幅大于等于百分之10表示股票有一定的短期涨势。
- 该逻辑过于强调短期涨势,容易忽略股票的基本面因素。
有何风险?
- 过度依赖技术指标容易产生不准确的信号,增加投资风险。
- 忽略基本面因素以及行业和市场风险,容易导致持仓风险。
如何优化?
- 增加基本面分析模型,考虑公司财务情况以及行业市场情况。
- 结合其他技术指标如MACD、RSI等进行综合判断。
- 根据市场和行业热点进行精细化筛选,避免被噪音干扰。
- 在交易中充分考虑止损和风险控制,避免承担过大的持仓风险。
最终的选股逻辑
选股逻辑包括振幅大于1,10日涨幅大于0小于35,近25个交易日有单日涨幅大于等于百分之10,并增加基本面分析模型,结合其他技术指标进行综合判断。
同花顺指标公式代码参考
ABS(PARTLINE - REF(PARTLINE, 1)) > PARTLINE * 0.007, C >= O, C > REF(C, 1), (C - O) / O * 100 > 0, EVERY(C / REF(C, 1) - 1 >= 0.1, 25)
python代码参考
import akshare as ak
def select():
data = pd.DataFrame()
end_date = datetime.now().strftime("%Y%m%d")
start_date = (datetime.now() - timedelta(days=365)).strftime("%Y%m%d")
for symbol in ak.stock_zh_a_spot_em(symbol="").iloc[:,0].tolist():
try:
k_data = ak.stock_zh_a_daily(symbol=symbol, start_date=start_date, end_date=end_date)
if len(k_data)<25:
continue
every_up = (k_data['close'] / k_data['close'].shift(1) - 1) >= 0.1
if every_up.tail(25).sum()==0:
continue
elif (k_data['close']-k_data['open'])/k_data['open']*100<=0:
continue
elif (k_data['high']-k_data['low'])/k_data['low']<0.01:
continue
else:
if k_data['low'].iloc[-2:].min()>=talib.MA(k_data['low'], 16).iloc[-2:].min():
if talib.MA(k_data['low'], 16).iloc[-3:].mean()>talib.MA(k_data['low'], 64).iloc[-3:].mean():
if talib.MA(k_data['low'], 64).iloc[-3:].mean()>talib.MA(k_data['low'], 256).iloc[-3:].mean():
if talib.MA(k_data['low'], 256).iloc[-3:].mean()>talib.MA(k_data['low'], 1024).iloc[-3:].mean():
data = pd.concat([data, k_data.iloc[-2:]])
except:
continue
return data
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
