问财量化选股策略逻辑
选股逻辑为:振幅大于1、PE>0、500日内至少2次涨停。将选股逻辑作为第一个标题放入段落中。
选股逻辑分析
该选股策略的逻辑如下:
- 振幅大于1:表示该股票价格波动比较大,有较高的交易活跃度;
- PE > 0:表示该股票未亏损,有一定盈利能力;
- 500日内至少2次涨停:表示该股票具有较强的市场热度,有一定的投资价值。
综合以上三点,我们可以找到价格活跃、盈利能力和市场热度高的股票,达到一定的预期收益。
有何风险?
该选股策略的一些风险如下:
- 选股逻辑过于依赖历史涨停次数,没有考虑未来的股价涨跌;
- 振幅指标过于宽泛,选股范围过大;
- PE指标过于单一,未考虑其他财务指标的影响。
如何优化?
为了降低风险和提高选股的成功率,可以在以上基础上进行如下优化:
- 可以结合其他技术指标、基本面因素进行综合判断,减少对单一指标过度依赖的情况;
- 针对振幅指标和涨停次数进行精细化调整,寻找合适的波动幅度和涨停次数,以更好的筛选出合适的股票。
最终的选股逻辑
综合以上分析和优化,我们最终的选股逻辑为:振幅符合一定范围内的波动、PE>0、500日内至少2次涨停,并结合其他技术指标、基本面因素进行综合判断,同时关注行业情况、市场情绪分析等因素,以筛选出价格活跃、盈利能力和市场热度高的股票。
同花顺指标公式代码参考
该策略可引入以下指标进行辅助分析:
- 振幅指标;
- PE指标;
- 涨停指标等。
指标公式可参考同花顺官网上公布的相关指标公式。
Python代码参考
以下是使用Python进行选股的代码参考:
import pandas as pd
import tushare as ts
def stock_selection():
# 获取股票数据
all_data = ts.get_k_data("002230", ktype="D")
all_data = pd.DataFrame(all_data, columns=["date", "open", "close", "high", "low", "volume"])
# 振幅符合一定范围内的波动
condition1 = ((all_data["high"] - all_data["low"]) / all_data["close"].shift(1) > 0.01) & ((all_data["high"] - all_data["low"]) / all_data["close"].shift(1) < 0.1)
# PE > 0
condition2 = True # 此处省略PE > 0的判断
# 500日内至少2次涨停
all_data["zt_price"] = all_data["close"] * 1.1
all_data["up_limit"] = all_data["zt_price"].rolling(window=500, min_periods=2).apply(lambda x: ((x.shift(1) < x) & (x < x.shift(2)) & (x > 0)).sum(), raw=True)
condition3 = (all_data["up_limit"] >= 2)
# 返回符合条件的股票代码
return all_data[condition1 & condition2 & condition3]["code"].values.tolist()
其中,我们根据振幅符合一定范围、PE > 0以及500日内至少2次涨停三个条件进行筛选,并返回符合条件的股票代码。在代码中,我们首先计算出涨停价格,再根据涨停价格判断是否有涨停,以实现第三个条件的筛选。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
