问财量化选股策略逻辑
选股逻辑:选取10日涨幅大于0小于35、2021年RSI小于65、昨日主力控盘的股票。
选股逻辑分析
该选股策略相比于之前一种选股逻辑,新增了一个选股条件,即选取10日涨幅在0到35之间的股票。这种选股逻辑基于技术指标和资金流向来进行选股,旨在寻找处于相对低位但有一定上涨潜力的股票,通过结合10日涨幅可以更好地考虑短期趋势。
有何风险?
该选股策略可能会选取一些处于下跌趋势但涨幅在10日内出现了反弹的股票,具有一定的技术性质和风险,风险较高。
如何优化?
除了之前的技术指标和资金流向,可以综合考虑公司基本面信息,如盈利能力、财务状况、行业竞争等。 此外,可以考虑引入机器学习或者深度学习等技术,构建更加准确的选股模型。另外,可以考虑引入风险控制策略,如设置止损线,以更好地控制选股风险。
最终的选股逻辑
选取10日涨幅大于0小于35、2021年RSI小于65、昨日主力控盘的股票。
同花顺指标公式代码参考
选股条件:10日涨幅(收盘价/前复权开盘价)-1 > 0 AND 10日涨幅(收盘价/前复权开盘价)-1 < 0.35 AND 2021年RSI(14) < 65 AND 昨日主力资金净流入 > 0。选出股票并按照技术指标排序。
Python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list(rsi_threshold=65, main_money_threshold=0, profit_threshold=(0, 0.35)):
news = ak.stock_zh_a_latest()
stock_list = pd.DataFrame(columns=['股票代码', '名称', '收益'])
for i in range(len(news)):
symbol = news.iloc[i]['symbol']
if not symbol.startswith('60'):
continue
board_member = ak.stock_em_yjbb(date='20210331', symbol=symbol)
if len(board_member) == 0:
continue
kline = ak.stock_zh_a_daily(symbol=symbol, adjust='qfq', start_date='20210101')
if len(kline) < 10:
continue
profit = (kline.iloc[-1]['close'] / kline.iloc[0]['open']) - 1
if profit < profit_threshold[0] or profit > profit_threshold[1]:
continue
rsi = talib.RSI(kline['close'], timeperiod=14)
if rsi.iloc[-1] >= rsi_threshold:
continue
main_money = ak.stock_zh_a_hk_hold(symbol=symbol, indicator="主力资金净流入")
if main_money.iloc[0]['主力资金净流入'] <= main_money_threshold:
continue
stock_list = stock_list.append({'股票代码': symbol, '名称': news.iloc[i]['name'], '收益': profit}, ignore_index=True)
stock_list.sort_values('收益', ascending=False, inplace=True)
return stock_list
get_stock_list()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


