问财量化选股策略逻辑
首先,我们选择至少5根均线重合的股票,这表明股票的价格趋势相对稳定,且短期和长期趋势一致。接下来,我们选择股价为18.5元的股票,这表明我们的目标股票价格相对适中,且不会过高或过低。最后,我们选择近25个交易日有单日涨幅大于等于百分之10的股票,这表明股票有一定的上涨潜力。
选股逻辑分析
以上三个逻辑可以看作是基于趋势和价格的筛选。首先,我们筛选出均线重合的股票,这表明股票的价格趋势相对稳定,且短期和长期趋势一致。其次,我们选择股价为18.5元的股票,这表明我们的目标股票价格相对适中,且不会过高或过低。最后,我们选择近25个交易日有单日涨幅大于等于百分之10的股票,这表明股票有一定的上涨潜力。
有何风险?
以上三个逻辑没有考虑公司的基本面情况,也没有考虑市场的整体情况。因此,这些股票可能存在一定的风险。例如,如果公司业绩不佳,或者市场整体表现不佳,这些股票可能会出现下跌的情况。
如何优化?
为了降低风险,我们可以考虑结合公司的基本面情况和市场的整体情况来进行筛选。例如,我们可以选择市盈率较低、业绩稳定、行业前景看好的股票。同时,我们也可以关注市场的整体情况,例如政策变化、经济周期等因素,以更好地判断股票的投资价值。
最终的选股逻辑
以下是基于趋势和价格的优化策略:
- 选择至少5根均线重合的股票。
- 选择股价为18.5元的股票。
- 选择近25个交易日有单日涨幅大于等于百分之10的股票。
- 结合公司的基本面情况和市场的整体情况,对股票进行进一步筛选。
python代码参考
以下是基于以上策略的python代码:
import talib
def get_stock_prices(ticker):
# 获取股票的历史价格数据
prices = get_data(ticker)
# 计算5日、10日、20日、60日和120日均线
ma5 = talib.MA(prices, timeperiod=5)
ma10 = talib.MA(prices, timeperiod=10)
ma20 = talib.MA(prices, timeperiod=20)
ma60 = talib.MA(prices, timeperiod=60)
ma120 = talib.MA(prices, timeperiod=120)
# 将均线按时间顺序排列
ma_prices = pd.DataFrame({'ma5': ma5, 'ma10': ma10, 'ma20': ma20, 'ma60': ma60, 'ma120': ma120})
# 计算股票的收盘价与均线的偏离度
ma_diff = ma_prices['ma5'] - ma_prices['ma10']
ma_diff = ma_diff.replace([np.inf, -np.inf], np.nan)
ma_diff = ma_diff.fillna(method='ffill')
ma_diff = ma_diff.replace([np.inf, -np.inf], np.nan)
ma_diff = ma_diff.fillna(method='bfill')
ma_diff = ma_diff.apply(lambda x: x if x > 0 else 0)
# 获取股票的收盘价
prices = get_data(ticker)
prices = prices['Close']
# 计算股票的单日涨幅
daily_rises = prices.diff() > 0
daily_rises = daily_rises.astype(int)
# 获取股票的单日涨幅大于等于10%的天数
days_with_rise = daily_rises.sum()
# 根据以上条件筛选股票
filtered_stocks = prices[(prices > 18.5) & (ma_diff > 0) & (days_with_rise >= 25)]
return filtered_stocks
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


