问财量化选股策略逻辑
选股条件为:振幅大于1、昨日9:15匹配价跌停、昨日换手率乘以今日竞价成交量除以昨日成交量的比例大于0.5且小于2。
选股逻辑分析
振幅大的股票可能具有投资机会,昨日9:15匹配价跌停可以判断股票是否受到市场情绪的影响,昨日换手率乘以今日竞价成交量除以昨日成交量的比例则可以反映出股票市场流动性的变化,有一定的参考价值。
有何风险?
选股条件过于依赖短期波动和交易活跃度的指标,可能会忽略了公司的基本面情况,造成选股风险。
如何优化?
在选股时要综合考虑公司的基本面情况和技术面指标,结合股票的长期投资价值,同时要加入风险控制策略,避免盲目追求短期波动和活跃度的投机风险。
最终的选股逻辑
选股条件为:振幅大于1、昨日9:15匹配价跌停、昨日换手率乘以今日竞价成交量除以昨日成交量的比例大于0.5且小于2的股票,选取前n只。
同花顺指标公式代码参考
振幅大于1:SYNJZ('AMO', 0) > 1;
昨日9:15匹配价跌停:YESTODAY(CDPP('LAST'), 1) == YESTODAY(CDPP('OPEN'), 1) and REF(LOW, 1) == YESTODAY(CDPP('LAST'), 1) and LOW < YESTODAY(LOW, 1);
昨日换手率乘以今日竞价成交量除以昨日成交量的比例:SYNJZ('VOL', 1) * (SYNJZ('OPEN', 0) /SYNJZ('CLOSE', 1)) > 0.5 and SYNJZ('VOL', 1) * (SYNJZ('OPEN', 0) /SYNJZ('CLOSE', 1)) < 2;
注:SYNJZ为通达信指标计算函数,表示指标在当前周期的值。
python代码参考
import tushare as ts
def get_selected_stocks(n):
data = ts.get_stock_basics()
condition1 = SYNJZ('AMO', 0) > 1 # 振幅大于1
condition2 = YESTODAY(CDPP('LAST'), 1) == YESTODAY(CDPP('OPEN'), 1) and REF(LOW, 1) == YESTODAY(CDPP('LAST'), 1) and LOW < YESTODAY(LOW, 1) # 昨日9:15匹配价跌停
condition3 = SYNJZ('VOL', 1) * (SYNJZ('OPEN', 0) /SYNJZ('CLOSE', 1)) > 0.5 and SYNJZ('VOL', 1) * (SYNJZ('OPEN', 0) /SYNJZ('CLOSE', 1)) < 2 # 昨日换手率乘以今日竞价成交量除以昨日成交量的比例大于0.5且小于2
selected_data = data[condition1 & condition2 & condition3].sort_values(by='pe', ascending=True)[:n] # 按照市盈率排序
selected_stocks = selected_data.index.values
return selected_stocks
result = get_selected_stocks(5)
print(result)```
注:以上代码仅供参考,实际选股应结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
