问财量化选股策略逻辑
- 至少5根均线重合的股票
- 前25天有涨停
- 换手率>2%且<9%
选股逻辑分析
- 该策略选择至少5根均线重合的股票,意味着这些股票的走势较为稳定,且有较强的支撑和阻力位,有利于投资者进行操作。
- 选择前25天有涨停的股票,意味着这些股票在短期内有较强的上涨动力,有可能成为市场热点。
- 选择换手率>2%且<9%的股票,意味着这些股票的流动性较好,且有一定的活跃度,有利于投资者进行交易。
有何风险?
- 该策略选择的股票可能过于集中于某一行业或板块,导致投资组合的分散程度较低,增加了投资风险。
- 该策略选择的股票可能受到市场整体环境的影响较大,导致投资回报率不稳定。
- 该策略选择的股票可能受到政策法规、公司业绩等因素的影响较大,导致投资风险增加。
如何优化?
- 可以考虑加入更多的筛选条件,例如市值、市盈率等,以更好地筛选出优质股票。
- 可以考虑加入技术指标的分析,例如MACD、布林线等,以更好地判断股票的走势和趋势。
- 可以考虑加入市场情绪的分析,例如投资者情绪、市场人气等,以更好地判断股票的短期走势。
最终的选股逻辑
- 选择5日、10日、20日、60日、120日均线重合的股票。
- 选择前25天有涨停的股票。
- 选择换手率>2%且<9%的股票。
- 选择市值在50亿-500亿之间的股票。
- 选择市盈率在10-30之间的股票。
- 选择技术指标MACD金叉且布林线向上开口的股票。
- 选择市场情绪稳定、投资者情绪积极的股票。
python代码参考
import talib
import pandas as pd
def get_stock_data():
# 获取股票数据
data = pd.read_csv('stock_data.csv')
return data
def get_stock_bollinger(data):
# 计算布林线指标
upper = talib.BBANDS(data['close'], timeperiod=20, type=1)
lower = talib.BBANDS(data['close'], timeperiod=20, type=2)
middle = talib.BBANDS(data['close'], timeperiod=20, type=3)
return upper, lower, middle
def get_stock_macd(data):
# 计算MACD指标
ema12 = talib.EMA(data['close'], timeperiod=12)
ema26 = talib.EMA(data['close'], timeperiod=26)
macd, macdsignal, macdhist = talib.MACD(data['close'], fastperiod=12, slowperiod=26, signalperiod=9)
return macd, macdsignal, macdhist
def get_stock筛选条件(data):
# 筛选条件
conditions = []
conditions.append(data['close'].rolling(window=5).mean() > data['close'].rolling(window=10).mean())
conditions.append(data['close'].rolling(window=5).mean() > data['close'].rolling(window=20).mean())
conditions.append(data['close'].rolling(window=5).mean() > data['close'].rolling(window=60).mean())
conditions.append(data['close'].rolling(window=5).mean() > data['close'].rolling(window=120).mean())
conditions.append(data['close'].rolling(window=5).std() < data['close'].rolling(window=10).std())
conditions.append(data['close'].rolling(window=5).std() < data['close'].rolling(window=20).std())
conditions.append(data['close'].rolling(window=5).std() < data['close'].rolling(window=60).std())
conditions.append(data['close'].rolling(window=5).std() < data['close'].rolling(window=120).std())
conditions.append(data['close'].rolling(window=5).mean() > data['close'].rolling(window=20).mean() * data['close'].rolling(window=60).mean() / data['close'].rolling(window=120).mean())
conditions.append(data['close'].rolling(window=5).mean() > data['close'].rolling
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
