问财量化选股策略逻辑
选股逻辑为:振幅大于1,企业性质良好,9点25分涨幅小于6%。
选股逻辑分析
该选股逻辑综合考虑了价格波动、企业基本面和市场波动等多个方面,能够筛选出具有一定投资价值的股票。振幅大于1表明股票价格有一定波动性,企业性质良好则保障了其投资价值,9点25分涨幅小于6%则体现了该股票风险较小。
有何风险?
该选股逻辑存在的风险是过于注重9点25分的涨幅情况,可能会错过一些有潜力的标的。此外,该选股策略的时间和空间限制较强,可能会导致选股的时效性和普适性不足。
如何优化?
可以考虑在选股策略中引入其他可靠的企业基本面指标,以更全方位地筛选出高质量的标的。同时,可以把9点25分的涨幅限制改为比较昨日收盘价与9点25分价格的涨跌幅,以便更客观地评估风险。另外,应当通过更精准的市场数据和计算方法来优化选股策略。
最终的选股逻辑
综合以上分析,最终的选股逻辑如下:
- 振幅大于1;
- 企业性质良好,包括但不限于盈利能力强、成长性、市值、ROE等;
- 涨跌幅在一定范围内,可通过收盘价和9点25分价格进行计算;
- 根据市场情况和个人风险偏好,选择适当的排名范围;
- 结合技术指标、基本面指标和市场宏观指标等多个方面进行综合判断,选取符合策略的股票。
同花顺指标公式代码参考
该选股逻辑的同花顺指标公式如下:
/* 选股公式 */
A:(HIGH-LOW)/REF(CLOSE,1)>0.01;
B:XX企业性质;
C:(CLOSE / REF(CLOSE,240) - 1) * 100 < 6;
A AND B AND C <= N; /* N为排名范围 */
其中,A:(HIGH-LOW)/REF(CLOSE,1)>0.01
表示振幅大于1, B:XX企业性质
表示企业性质良好, C:(CLOSE / REF(CLOSE,240) - 1) * 100 < 6
表示收盘价涨跌幅小于6%,A AND B AND C <= N
表示逻辑与且排名不高于N。
Python代码参考
适用于tushare库的Python选股代码如下:
import tushare as ts
import numpy as np
def is_selected(code, eps=1, rank_range=(1, 50)):
# 判断股票是否满足选股逻辑
df_basic = ts.get_stock_basics()
if not XX企业性质:
return False
price = ts.get_realtime_quotes(code)['price']
df_hist = ts.get_hist_data(code)
close = df_hist['close'].iloc[-1]
pre_close = ts.get_realtime_quotes(code)['pre_close'][0]
if np.abs(float(close) / float(pre_close) - 1) * 100 > 6:
return False
if (df_hist['high'] - df_hist['low']).mean() / close <= 0.01:
return False
df_moneyflow = ts.get_money_flow(code)
rank = ts.top_list(df_moneyflow.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库实时获取股票的价格、历史行情和大单净量等信息进行计算判断,并利用选股结果进行股票交易。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
