问财量化选股策略逻辑
选股逻辑为:振幅大于1,企业性质良好,价格小于12。
选股逻辑分析
该选股逻辑继承了上一次的振幅和基本面选股逻辑,同时增加了价格因素,可以更精准地找到价格较低的标的。
有何风险?
该选股逻辑可能会过分依赖价格因素,忽略了高质量低价股的选择可能性。此外,由于市场变化可能导致价格对公司价值的衡量不准确,从而选股结果可能存在一定的误差。
如何优化?
针对以上的缺点,可以采取以下措施进行优化:
- 加入更多的基本面因素进行综合考虑,如盈利能力、市值、财务稳定性、成长性等;
- 设定价格区间而非固定价值,避免忽略其他可能的优质标的;
- 根据市场情况和个人投资策略选择适当的排名范围;
- 结合其他技术分析指标进行综合判断。
最终的选股逻辑
综合以上考虑,最终的选股逻辑如下:
- 振幅大于1;
- 企业性质良好,包括但不限于:盈利能力强,稳定的财务状况,成长性,市值,ROE等;
- 价格在某一设定区间内;
- 根据市场情况和个人投资策略选择适当的排名范围;
- 根据市场情况和个人投资策略,选择不同的交易策略,并适当加入其他技术指标、基本面指标等多个角度进行综合判断。
同花顺指标公式代码参考
该选股逻辑的同花顺指标公式如下:
/* 选股公式 */
A:(HIGH-LOW)/REF(CLOSE,1)>0.01;
B:XX企业性质;
C:CLOSE<12;
A AND B AND C <= N; /* N为排名范围 */
其中,A:(HIGH-LOW)/REF(CLOSE,1)>0.01
表示振幅大于1,B:XX企业性质
表示企业性质良好,C:CLOSE<12
表示价格小于12,A AND B AND C <= N
表示逻辑与且排名不高于N。
Python代码参考
适用于tushare库的Python选股代码如下:
import tushare as ts
def is_selected(code, eps=1, price_range=(0, 12), rank_range=(1, 50)):
# 判断股票是否满足选股逻辑
df = ts.get_hist_data(code)
if (df['high'] - df['low']).mean() / df['close'].iloc[-1] <= 0.01:
return False
if not XX企业性质:
return False
if df['close'].iloc[-1] > price_range[1] or df['close'].iloc[-1] < price_range[0]:
return False
rank = ts.top_list(df.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, price_range=(0, 12), rank_range=(1, N)):
selected_stocks.append(code)
# 利用选股结果进行股票交易
for code in selected_stocks:
pass # 参考其他策略
其中需要根据选股策略修改参数,通过tushare库获取股票的基本面和历史行情进行计算判断,通过top_list函数获取热度排名数据并进行处理。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
