问财量化选股策略逻辑
1. 至少5根均线重合的股票
选取至少5根均线重合的股票,可以表示股票价格在不同时间周期内趋势较为一致,有利于捕捉到股票的走势。
2. 前25天有涨停
选取前25天有涨停的股票,可以表示股票短期内有较强的上涨动力,有利于捕捉到股票的上涨行情。
3. 9点25分涨幅小于6%
选取9点25分涨幅小于6%的股票,可以表示股票在开盘价附近有较强的上涨动力,有利于捕捉到股票的上涨行情。
选股逻辑分析
以上三个条件组合在一起,可以筛选出短期内有较强上涨动力、趋势较为一致的股票,有利于捕捉到股票的上涨行情。
有何风险?
虽然以上策略可以筛选出短期内有较强上涨动力的股票,但需要注意以下风险:
- 选取的均线数量过多,可能会导致信号过于复杂,难以判断股票的趋势。
- 选取的均线周期过长,可能会导致信号过于滞后,无法及时捕捉到股票的上涨行情。
- 选取的涨幅标准过低,可能会导致信号过于频繁,无法准确判断股票的趋势。
如何优化?
为了降低以上风险,可以考虑以下优化措施:
- 选择适当的均线数量,一般可以选择3-5根均线。
- 选择适当的均线周期,一般可以选择5-20日均线。
- 调整涨幅标准,可以根据股票的实际情况进行调整,例如可以选择涨幅超过10%的股票。
最终的选股逻辑
综合考虑以上因素,可以得出以下最终的选股逻辑:
- 选取至少3根均线重合的股票。
- 选取前20天有涨停的股票。
- 选取9点25分涨幅小于5%的股票。
python代码参考
以下为参考代码,用于筛选符合以上条件的股票:
import tushare as ts
# 设置token
ts.set_token('your_token')
# 初始化pro接口
pro = ts.pro_api()
# 获取所有A股股票的代码
codes = pro.realtime_quotes('600000.XSHG')
# 初始化策略
class MyStrategy:
def __init__(self):
self codes = codes
self.count = 0
def handle_data(self, data):
# 获取股票的均线数据
ma3 = data['600000.XSHG']['close'].rolling(window=3).mean()
ma5 = data['600000.XSHG']['close'].rolling(window=5).mean()
ma10 = data['600000.XSHG']['close'].rolling(window=10).mean()
ma20 = data['600000.XSHG']['close'].rolling(window=20).mean()
ma50 = data['600000.XSHG']['close'].rolling(window=50).mean()
# 获取股票的涨跌幅数据
open_price = data['600000.XSHG']['open']
close_price = data['600000.XSHG']['close']
price_change = close_price - open_price
price_change_percent = price_change / open_price * 100
# 判断是否符合条件
if ma3[-1] == ma5[-1] == ma10[-1] == ma20[-1] == ma50[-1]:
self.count += 1
if price_change_percent > 5 and price_change_percent < 6:
self.count += 1
# 输出结果
if self.count >= 5:
print('符合条件的股票数量:', self.count)
self.count = 0
# 创建策略对象
strategy = MyStrategy()
# 开始实时监控符合条件的股票
while True:
data = pro.realtime_quotes(codes)
strategy.handle_data(data)
time.sleep(1)
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


