问财量化选股策略逻辑
- 至少5根均线重合的股票
- 昨天龙虎榜
- 30日平均线向上
选股逻辑分析
这个策略的逻辑是基于技术分析和市场情绪的。首先,要求股票至少有5根均线重合,这表明股票价格在短期内有较强的支撑和阻力,同时也表明市场参与者的分歧较小。其次,要求昨天龙虎榜上有买入量大于卖出量的情况,这表明市场情绪较积极,有资金流入,股票价格有望上涨。最后,要求30日平均线向上,这表明股票价格在长期趋势上是向上的,有利于投资者进行长期投资。
有何风险?
这个策略的潜在风险包括市场风险、技术分析误差和市场情绪波动。首先,市场风险是指股票价格受整体市场因素影响,可能无法达到预期的收益。其次,技术分析误差是指对股票价格走势的分析可能存在偏差,导致策略失效。最后,市场情绪波动是指市场参与者的情绪变化可能影响股票价格的走势,使得策略无法达到预期的收益。
如何优化?
为了优化这个策略,可以考虑以下几点:
- 使用更多的技术指标来分析股票价格走势,以提高策略的准确性。
- 对市场情绪进行更深入的研究,以更好地预测市场走势。
- 根据不同的市场环境和股票特点,调整策略的参数和参数组合,以提高策略的适应性。
最终的选股逻辑
- 股票价格至少有5根均线重合
- 昨天龙虎榜上有买入量大于卖出量的情况
- 30日平均线向上
- 使用更多技术指标来分析股票价格走势
- 对市场情绪进行更深入的研究
- 根据不同的市场环境和股票特点,调整策略的参数和参数组合
python代码参考
import talib
import pandas as pd
def check_5_ma_cross(df):
# 计算股票价格的5日移动平均线
ma5 = talib.MA(df['close'], timeperiod=5)
# 判断股票价格是否穿越5日移动平均线
if ma5[-1] > ma5[-2]:
return True
else:
return False
def check_yesterday_volume(df):
# 获取昨天的龙虎榜数据
df_yesterday = df[df['date'] == pd.to_datetime('yesterday')]
# 获取昨天的买入量和卖出量
buy_volume = df_yesterday['buy_volume'].sum()
sell_volume = df_yesterday['sell_volume'].sum()
# 判断昨天是否有买入量大于卖出量的情况
if buy_volume > sell_volume:
return True
else:
return False
def check_30_ma_direction(df):
# 计算股票价格的30日移动平均线
ma30 = talib.MA(df['close'], timeperiod=30)
# 判断股票价格是否在30日移动平均线的上方
if ma30[-1] > ma30[-2]:
return True
else:
return False
def select_stock(df):
# 根据以上三个条件筛选股票
stocks = df[(df['close'].rolling(window=5).apply(check_5_ma_cross, raw=True)
& df['close'].rolling(window=1).apply(check_yesterday_volume, raw=True)
& df['close'].rolling(window=30).apply(check_30_ma_direction, raw=True))]
# 返回符合条件的股票列表
return stocks['symbol'].tolist()
# 读取股票数据
df = pd.read_csv('stock_data.csv')
# 筛选出符合条件的股票
selected_stocks = select_stock(df)
# 输出符合条件的股票列表
print(selected_stocks)
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


