问财量化选股策略逻辑
选股逻辑为:振幅大于1,企业性质良好,10天内涨停天数大于2。
选股逻辑分析
该选股逻辑在振幅和企业性质的基础上,加入了涨停天数的限制条件,以此筛选出热度较高的股票。涨停天数的增加通常意味着股票市场情绪和热度较高,适合短期投资。同时,振幅大于1则体现股票的波动性较大,有较好的短期投资机会,企业性质良好则可以确保公司的财务状况和发展潜力。
有何风险?
该选股逻辑可能忽略公司的基本面情况,如盈利能力等,只关注市场热度和技术面指标。另外,在判断涨停天数时容易受到市场热度震荡、投机情绪等因素的干扰。
如何优化?
可以在原有逻辑基础上,增加其他技术指标和基本面指标,综合考虑市场和公司的各种因素,使选股策略更加综合化和准确。同时,在判断涨停天数的同时,可以结合其他技术指标进行多方式分析,例如股价走势、股票市场情绪、主力流入等等。
最终的选股逻辑
综合以上考虑,最终的选股逻辑如下:
- 振幅大于1;
- 企业性质良好,包括但不限于:盈利能力强,稳定的财务状况,成长性,市值,ROE等;
- 10天内涨停天数大于2;
- 根据市场情况和个人风险偏好,选择适当的振幅范围;
- 根据市场情况和个人风险偏好,选择不同的交易策略,并适当加入其他技术指标、基本面指标等多个角度进行综合判断。
同花顺指标公式代码参考
该选股逻辑的同花顺指标公式如下:
/* 选股公式 */
A:(HIGH-LOW)/REF(CLOSE,1)>0.01;
B:XX企业性质;
C:COUNT(IF((HIGH==REF(HIGH,1) AND CLOSE>REF(CLOSE,1)),1,0),10)>2;
A AND B AND C <= N; /* N为排名范围 */
其中,A:(HIGH-LOW)/REF(CLOSE,1)>0.01
表示振幅大于1,B:XX企业性质
表示企业性质良好, C:COUNT(IF((HIGH==REF(HIGH,1) AND CLOSE>REF(CLOSE,1)),1,0),10)>2
表示10天内涨停天数大于2,A AND B AND C <= N
表示逻辑与且排名不高于N。
Python代码参考
适用于tushare库的Python选股代码如下:
import tushare as ts
def is_selected(code, eps=1, rank_range=(1, 50)):
# 判断股票是否满足选股逻辑
df_basic = ts.get_stock_basics()
if not XX企业性质:
return False
df_hist = ts.get_hist_data(code)
if (df_hist['high'] - df_hist['low']).mean() / df_hist['close'].iloc[-1] <= 0.01:
return False
has_limit_up = (df_hist['high'] == df_hist['high'].shift()) & (df_hist['close'] > df_hist['close'].shift())
if has_limit_up.rolling(10).sum().iloc[-1] <= 2:
return False
rank = ts.top_list(df_hist.index[0])['code'].tolist().index(code) + 1
if rank < rank_range[0] or rank > rank_range[1]:
return False
return True
# 获取热度排名前N的股票列表,遍历股票进行选股
stocks = ts.top_list()
selected_stocks = []
for i in range(N):
code = stocks['code'].iloc[i]
if is_selected(code, rank_range=(1, N)):
selected_stocks.append(code)
# 利用选股结果进行股票交易
for code in selected_stocks:
pass # 参考其他策略
其中需要根据选股策略修改参数,通过tushare库获取股票的基本面和历史行情进行计算判断,通过top_list函数获取热度排名数据并进行处理,通过选股结果进行股票交易。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
