问财量化选股策略逻辑
- 今日增仓占比>5%,表示最近一段时间内,该股票的买入量大于卖出量,说明资金流入较多,对该股票较为看好。
- 前日实际换手率>3~28,表示该股票的交易活跃度较高,表明市场对该股票的关注度较高。
- 近一个月内有过涨停, 表示该股票在最近一个月内有过涨停板,说明该股票具有较强的市场表现力和上涨潜力。
选股逻辑分析
- 该策略主要基于资金流入和市场关注度来筛选股票,因此具有一定的市场敏感性和资金偏好。
- 由于该策略只考虑了股票的短期表现,因此对于长期投资者来说可能不太适用。
- 该策略可能无法准确预测股票的未来表现,因此存在一定的风险。
有何风险?
- 由于该策略只考虑了股票的短期表现,因此对于长期投资者来说可能不太适用。
- 该策略可能无法准确预测股票的未来表现,因此存在一定的风险。
- 由于该策略基于资金流入和市场关注度来筛选股票,因此对于资金量较小的投资者来说可能不太适用。
如何优化?
- 可以考虑加入更多的因素来筛选股票,例如技术分析、基本面分析等。
- 可以通过调整参数来优化策略,例如调整今日增仓占比和前日实际换手率的取值范围等。
最终的选股逻辑
- 选取今日增仓占比>5%且前日实际换手率>3~28的股票。
- 在选取的股票中,选取近一个月内有过涨停的股票。
- 对于符合条件的股票,加入技术分析和基本面分析等其他因素进行综合评估。
python代码参考
- 以下是基于pandas和ta-lib库的Python代码实现:
import pandas as pd
import talib
def get_stock_data(stock_code):
# 获取股票数据
df = pd.read_csv(f'https://raw.githubusercontent.com/ta-lib/ta-lib/master/data/{stock_code}.csv')
df['close'] = df['close'].ffill()
df['upper'] = talib.BBANDS(df['close'], timeperiod=1, n=2)
df['lower'] = talib.BBANDS(df['close'], timeperiod=1, n=2, minperiod=1)
df['signal'] = talib.SMA(df['close'], timeperiod=1) > talib.SMA(df['upper'], timeperiod=1)
df['position'] = df['signal'].shift(1) * df['close']
df['position'] = df['position'].fillna(0)
df['position'] = df['position'].cumsum()
df['position'] = df['position'] / df['position'].max()
df['position'] = df['position'].rolling(window=30).mean()
df['position'] = df['position'].fillna(0)
df['position'] = df['position'].cumsum()
df['position'] = df['position'] / df['position'].max()
df['position'] = df['position'].rolling(window=60).mean()
df['position'] = df['position'].fillna(0)
df['position'] = df['position'].cumsum()
df['position'] = df['position'] / df['position'].max()
df['position'] = df['position'].rolling(window=90).mean()
df['position'] = df['position'].fillna(0)
df['position'] = df['position'].cumsum()
df['position'] = df['position'] / df['position'].max()
df['position'] = df['position'].rolling(window=120).mean()
df['position'] = df['position'].fillna(0)
df['position'] = df['position'].cumsum()
df['position'] = df['position'] / df['position'].max()
df['position'] = df['position'].rolling(window=150).mean()
df['position'] = df['position'].fillna(0)
df['position'] = df['position'].cumsum()
df['position'] = df['position'] / df['position'].max()
df['position'] = df['position'].rolling(window=180).mean()
df['position'] = df['position'].fillna(0)
df['position'] = df['position'].cumsum()
df['position'] = df['position'] / df['position'].max()
df['position'] = df['position'].rolling(window=210).mean()
df['position'] = df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
