问财量化选股策略逻辑
首先,我们需要找到至少5根均线重合的股票。这可以通过计算股票价格与5条不同时间周期的移动平均线之间的差异来实现。如果这些差异的值都接近于零,则表示这些均线重合。
接下来,我们需要找到圆弧形的股票。这可以通过计算股票价格在一定时间周期内的变化趋势来实现。如果股票价格呈现出圆弧形的趋势,则可以认为这是一个圆弧形。
最后,我们需要找到竞价涨幅>-2<5的股票。这可以通过计算股票在竞价交易中的涨跌幅来实现。如果股票的涨跌幅在-2到5之间,则可以认为这是一个符合要求的股票。
选股逻辑分析
以上三个逻辑可以有效地帮助我们筛选出符合要求的股票。首先,找到至少5根均线重合的股票可以确保股票的价格趋势稳定。其次,找到圆弧形的股票可以确保股票的价格变化趋势稳定。最后,找到竞价涨幅>-2<5的股票可以确保股票的价格波动不会过大。
有何风险?
以上三个逻辑虽然可以帮助我们筛选出符合要求的股票,但是它们也存在一定的风险。首先,找到至少5根均线重合的股票可能会导致我们忽略一些价格趋势不稳定的股票。其次,找到圆弧形的股票可能会导致我们忽略一些价格变化趋势不稳定的股票。最后,找到竞价涨幅>-2<5的股票可能会导致我们忽略一些价格波动过大的股票。
如何优化?
为了减少以上风险,我们可以考虑使用更多的技术指标来筛选股票。例如,我们可以使用布林线来确定股票的价格波动范围,从而避免忽略价格波动过大的股票。此外,我们还可以使用移动平均线的交叉来确定股票的价格趋势,从而避免忽略价格趋势不稳定的股票。
最终的选股逻辑
以下是最终的选股逻辑:
- 计算股票价格与5条不同时间周期的移动平均线之间的差异,并筛选出差异值接近于零的股票。
- 计算股票价格在一定时间周期内的变化趋势,并筛选出呈现出圆弧形的趋势的股票。
- 计算股票在竞价交易中的涨跌幅,并筛选出涨跌幅在-2到5之间的股票。
python代码参考:
import talib
def get_stock_prices(stock_code):
# 获取股票价格数据
prices = get_prices(stock_code)
# 计算5条不同时间周期的移动平均线
ma5, ma10, ma20, ma30, ma60 = talib.MA(prices, timeperiods=[5, 10, 20, 30, 60])
# 计算股票价格与5条不同时间周期的移动平均线之间的差异
diff = prices - ma5
# 筛选出差异值接近于零的股票
filtered_diff = diff[(diff > -0.05) & (diff < 0.05)]
# 计算股票价格在一定时间周期内的变化趋势
trend = talib.CDL_TREND(prices)
# 筛选出呈现出圆弧形的趋势的股票
filtered_trend = trend[(trend == 'uptrend') | (trend == 'downtrend')]
# 计算股票在竞价交易中的涨跌幅
open_price, close_price = get_open_and_close_prices(stock_code)
price_diff = close_price - open_price
# 筛选出涨跌幅在-2到5之间的股票
filtered_price_diff = price_diff[(price_diff > -2) & (price_diff < 5)]
# 返回符合要求的股票
return filtered_diff, filtered_trend, filtered_price_diff
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。