问财量化选股策略逻辑
本选股策略选取振幅大于1、周线MA5金叉MA10以及按个股热度从大到小排序的股票。该选股逻辑通过振幅、均线和个股热度选出走势较好且市场关注度较高的股票,有助于选出具备投资潜力的股票。
选股逻辑分析
本选股策略是在第一个选股策略的基础上,加入了按个股热度排序的逻辑。个股热度从大到小排序意味着市场对该股的关注度较高,有可能有资金热炒,进而带动股价上涨。
有何风险?
该选股策略中的个股热度指标可能受到市场涨跌、个别资讯等因素的影响,存在一定的不确定性。排名靠前的股票也不一定适合投资,仍需深入研究分析。
如何优化?
可以加入其他基本面指标进行筛选,如ROE、净利润增长率等指标,综合考虑股票的走势、估值和质量等因素,更准确地选出优质股票。
最终的选股逻辑
本选股逻辑的选股策略是振幅大于1、周线MA5金叉MA10、按个股热度从大到小排序的股票。在实际操作中,可以灵活调整选股策略,结合市场热点和个股特点进行选股。
同花顺指标公式代码参考
- 振幅公式:
- Amplitude = (HIGH - LOW) / PRE_CLOSE
- 均线公式:
- MA(N) = SUM(CLOSE, N) / N
- 个股热度公式:
- Heat = (CIRC_MV / CIRC_MV.max()).rank(ascending=False)
- 满足条件公式:
- condition = (amplitude > 0.01) & (ma5 > ma10)
python代码参考
import tushare as ts
import datetime
PRO = ts.pro_api('your_token')
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,pe,pb,area,list_date')['ts_code']:
if code.startswith('300') or code.startswith('688'):
continue
df = PRO.daily(ts_code=code, start_date='20180101', end_date=datetime.datetime.now().strftime('%Y%m%d'), fields='ts_code,trade_date,open,high,low,close,vol')
if len(df) == 0:
continue
amplitude = (df['high'] - df['low']) / df['close'].shift(1)
ma5 = df['close'].rolling(5).mean()
ma10 = df['close'].rolling(10).mean()
circ_mv = PRO.daily_basic(ts_code=code, trade_date=datetime.datetime.now().strftime('%Y%m%d'))['circ_mv'][0]
heat = (circ_mv / PRO.stock_basic(ts_code=code, fields='circ_mv')['circ_mv'].max()).rank(ascending=False)
if amplitude[-1] > 0.01 and ma5[-1] > ma10[-1]:
selected_stocks.append((code, heat))
selected_stocks = sorted(selected_stocks, key=lambda x: x[1])
return [s[0] for s in selected_stocks][:n]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
