问财量化选股策略逻辑
此选股策略选取振幅大于1,周线MA5金叉MA10,流通盘小于等于55亿股的股票进行投资,旨在挖掘出具有一定波动性、趋势性和成长性的优质股票,以谋求投资收益。
选股逻辑分析
此选股策略选取了振幅、均线金叉和流通盘等指标进行筛选,将重点放在了波动性和流通性上。振幅和均线金叉可反映出股票的波动性和趋势性,流通盘则可以反映出股票的流通性和市场参与度。综合这几个指标进行筛选,能够筛选出具有一定投资价值和成长性的个股。
有何风险?
此选股策略可能会过于偏重于技术指标而忽略了基本面分析,同时流通盘大小也可能会因不同情况出现误判,造成投资风险。
如何优化?
可以加入其他技术指标和基本面指标进行综合分析,比如加入强弱指标、KDJ等技术指标,以及EPS、ROE、PE等基本面指标,以提高筛选的准确性和精度。
最终的选股逻辑
本选股策略选取振幅大于1,周线MA5金叉MA10,流通盘小于等于55亿股的股票进行投资,并需结合其他技术指标、基本面等进行综合分析,以提高选股的精度和准确性。
同花顺指标公式代码参考
- 均线公式:
- MA(N) = SUM(CLOSE, N) / N
- KDJ公式:
- RSV = (CLOSE - LLV(LOW, 9)) / (HHV(HIGH, 9) - LLV(LOW, 9)) * 100
- K = SMA(RSV, 3, 1)
- D = SMA(K, 3, 1)
- J = 3 * K - 2 * D
- 流通盘公式:
- CIRC_MV / CLOSE
- 强弱指标公式:
- RS=N日内收盘价涨数和平数的平均数/N日内收盘价跌数和平数的平均数
- RSI=100-100/(1+RS)
python代码参考
import tushare as ts
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
for code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,industry,market,circ_mv,total_mv')['ts_code']:
df = pro.daily(ts_code=code, start_date='20200101', end_date=pd.datetime.now().strftime('%Y%m%d'), fields='ts_code,trade_date,open,high,low,close,vol,circ_mv,total_mv')
if len(df) == 0:
continue
ma5 = df['close'].rolling(5).mean()
ma10 = df['close'].rolling(10).mean()
amplitude = (df['high'] - df['low']) / df['close'].shift(1)
rsv = (df['close'] - df['low'].rolling(9).min()) / (df['high'].rolling(9).max() - df['low'].rolling(9).min()) * 100
k = rsv.rolling(3).mean()
d = k.rolling(3).mean()
j = 3 * k - 2 * d
circ = df['circ_mv'] / df['close']
rs = df['close'].diff().clip(lower=0).rolling(window=12).mean() / df['close'].diff().clip(upper=0).abs().rolling(window=12).mean()
rsi = 100 - 100 / (1 + rs)
if amplitude[-1] > 0.01 and ma5[-1] > ma10[-1] and circ[-1] <= 5.5e10 and rsi[-1] > 50 and j[-1] > 80:
selected_stocks.append(code)
return selected_stocks[:n]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
