问财量化选股策略逻辑
高点为两日最高,涨幅<2.6且涨幅>-5,30日平均线向上
选股逻辑分析
这个策略的逻辑是基于技术分析和趋势跟踪。首先,它选择在两天内达到最高点的股票,这表明这些股票已经经历了一定的上涨。然后,它筛选出涨幅小于2.6并且涨幅大于-5的股票,这表明这些股票的涨幅相对较小,但仍然在上涨趋势中。最后,它选择30日平均线向上运行的股票,这表明市场趋势是向上的。
有何风险?
这个策略的潜在风险是它可能过于依赖技术分析和趋势跟踪,而忽略了其他重要的基本面因素。此外,如果市场出现极端情况,如突发的金融危机或政治事件,这个策略可能会失效。
如何优化?
为了优化这个策略,可以考虑加入一些基本面因素,如公司的财务状况、盈利能力、市场份额等。此外,可以考虑使用更长期的平均线,如60日或120日平均线,以更好地反映市场趋势。
最终的选股逻辑
以下是最终的选股逻辑:
def select_stock():
# 选择两天内达到最高点的股票
high_prices = get_high_prices()
stocks = [stock for stock in high_prices if stock['date'] == max(high_prices['date'])]
# 筛选出涨幅小于2.6并且涨幅大于-5的股票
stocks = [stock for stock in stocks if stock['price_change'] > 2.6 and stock['price_change'] < -5]
# 选择30日平均线向上运行的股票
stocks = [stock for stock in stocks if stock['sma'] > stock['sma'].shift(1)]
return stocks
python代码参考
import talib
def get_high_prices():
# 获取过去20天的最高价
prices = get_prices()
high_prices = prices.resample('2D').max()
high_prices = high_prices.reset_index()
high_prices.columns = ['date', 'high']
return high_prices
def get_prices():
# 获取股票的历史价格数据
# 请根据实际情况替换为实际数据源
return ...
def calculate_sma(prices):
# 计算简单移动平均线
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
