问财量化选股策略逻辑
选股逻辑为振幅大于1,60开头的股票,圆弧形。
选股逻辑分析
- 振幅大于1表明该股票波动性较高,选择60开头的股票可以筛选出特定市场的股票。
- 圆弧形指标能够帮助筛选处于下降趋势中、即将反转为上升趋势的个股。
有何风险?
- 只选择波动性较高的股票并不能保证股票的盈利性。
- 圆弧形指标具有一定的主观性,不同的分析师可能给出不同的结果,不同的股票同样存在异质性。
如何优化?
- 结合其他指标,如基本面、资金流向等进行筛选。
- 引入更多的技术分析指标,如KDJ、MACD等协同使用。
- 采用量化模型从历史数据中学习和预测个股的走势,提高选股有效性和稳健性。
最终的选股逻辑
选股逻辑为振幅大于1,60开头的股票,圆弧形指标。
同花顺指标公式代码参考
//选股逻辑为振幅大于1,60开头的股票,圆弧形指标。
COND1:= (HIGH-LOW)/OPEN > 0.01 AND LEFT(CODE,2) = '60';
COND2:= (HHV(HIGH,50)-CLOSE)/(HHV(HIGH,50)-LLV(LOW,50)) > 0.80;
CONDITION:= COND1 AND COND2;
//按圆弧形指标排序
SORTFIELD:= (HHV(HIGH,50)-CLOSE)/(HHV(HIGH,50)-LLV(LOW,50));
SIGNAL:= SORTBY(SORTFIELD, 1, CONDITION);
Python代码参考
import akshare as ak
def select(df):
df = df[(df['最高价'] - df['最低价']) / df['开盘价'] > 0.01]
df = df[df['股票代码'].str[:2] == '60']
hhv = df['最高价'].rolling(50).max()
llv = df['最低价'].rolling(50).min()
df = df[(hhv - df['收盘价']) / (hhv - llv) > 0.8]
df = df.sort_values(by=(hhv - df['收盘价']) / (hhv - llv), ascending=False)
return df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
