问财量化选股策略逻辑
- 至少5根均线重合的股票
- 昨天龙虎榜
- 近25个交易日有单日涨幅大于等于百分之10
选股逻辑分析
这个策略的逻辑是基于技术分析和市场行为分析。首先,选取至少5根均线重合的股票,这表明这些股票的价格走势比较稳定,不容易出现大幅波动。其次,昨天龙虎榜可以反映市场资金的流入和流出情况,如果某个股票在昨天的龙虎榜上出现大量买入或卖出,那么这个股票可能会成为市场关注的焦点。最后,近25个交易日有单日涨幅大于等于百分之10的股票,表明这些股票具有较强的市场表现力和上涨潜力。
有何风险?
这个策略的风险主要在于市场风险和交易风险。首先,市场风险是指股票市场的波动性,由于市场因素的影响,股票价格可能会出现大幅波动,导致投资者的收益受到影响。其次,交易风险是指投资者在交易过程中可能会出现操作失误或市场变化导致的损失。因此,在实际操作中,投资者需要根据自身的风险承受能力和市场情况,制定合理的交易策略和风险控制措施。
如何优化?
这个策略可以通过以下方式优化:
- 增加均线的数量,例如选择10根均线或者更多,以更好地反映股票价格的走势和趋势。
- 调整均线的时间周期,例如选择日线或者周线,以更好地反映市场情况和投资者的风险承受能力。
- 结合其他技术分析指标和市场行为指标,例如成交量、MACD等,以更好地判断股票的价格走势和市场行为。
最终的选股逻辑
最终的选股逻辑如下:
- 选取至少5根均线重合的股票,例如选择5日、10日、20日、30日和60日均线重合的股票。
- 在昨天的龙虎榜中,选取出现大量买入或卖出的股票。
- 在近25个交易日中,选取单日涨幅大于等于百分之10的股票。
python代码参考:
import talib
import numpy as np
def get_stock_data(stock_code):
# 获取股票的历史行情数据
data = talib.MA(np.array(get_stock_data(stock_code)['close']), timeperiod=5, ma_type='close')
# 获取昨天龙虎榜数据
data = data[-1]
# 获取近25个交易日的单日涨幅数据
data = data[-25:]
return data
def get_rolling_mean(data, n):
# 获取n天的滚动平均值
return np.convolve(data, np.ones(n)/n, mode='same')
def get_stocks筛选条件(data):
# 获取至少5根均线重合的股票
rolling_mean5 = get_rolling_mean(data, 5)
rolling_mean10 = get_rolling_mean(data, 10)
rolling_mean20 = get_rolling_mean(data, 20)
rolling_mean30 = get_rolling_mean(data, 30)
rolling_mean60 = get_rolling_mean(data, 60)
if rolling_mean5[-1] == rolling_mean10[-1] == rolling_mean20[-1] == rolling_mean30[-1] == rolling_mean60[-1]:
return True
else:
return False
def get_stocks筛选条件2(data):
# 获取昨天龙虎榜数据
data = data[-1]
if data['buy'] > data['sell']:
return True
else:
return False
def get_stocks筛选条件3(data):
# 获取近25个交易日的单日涨幅数据
data = data[-25:]
if np.max(data) > 10:
return True
else:
return False
def get_stocks筛选条件4(data):
# 获取至少5根均线重合的股票
rolling_mean5 = get_rolling_mean(data, 5)
rolling_mean10 = get_rolling_mean(data, 10)
rolling_mean20 = get_rolling_mean(data, 20)
rolling_mean30 = get_rolling_mean(data, 30)
rolling_mean60 = get_rolling_mean(data, 60)
if rolling_mean5[-1] == rolling_mean10[-1] == rolling_mean20[-1] == rolling_mean30[-1] == rolling_mean60[-1]:
return True
else:
return False
def get_stocks筛选条件5(data):
# 获取昨天龙虎榜数据
data = data[-1]
if data['buy'] > data['sell']:
return True
else:
return False
def get_stocks筛选条件6
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
