问财量化选股策略逻辑
- 至少5根均线重合的股票
- 现量大于1万手
- 高开
- 10天内涨停天数大于2
选股逻辑分析
- 这个策略首先寻找至少5根均线重合的股票,这表明这些股票的短期和中期趋势可能比较一致,有可能出现共同上涨的趋势。
- 然后,策略要求股票的现量大于1万手,这表明该股票有一定的成交量,表明市场对该股票的关注度较高。
- 最后,策略要求股票在高开的情况下,10天内涨停天数大于2,这表明该股票在短期内有较强的上涨动力。
有何风险?
- 这个策略可能无法准确预测股票的未来表现,因为股票的价格和趋势受到许多因素的影响,包括市场情绪、公司业绩、政治经济等。
- 此外,该策略可能无法考虑到一些重要的因素,例如公司的财务状况、管理团队的能力等。
如何优化?
- 为了优化这个策略,可以考虑加入更多的过滤条件,例如股票的市值、市盈率等,以更准确地筛选出有潜力的股票。
- 另外,可以考虑加入一些技术指标,例如布林线、移动平均线等,以更准确地判断股票的趋势和价格波动。
最终的选股逻辑
- 选取至少5根均线重合的股票
- 股票的现量大于1万手
- 股票在高开的情况下,10天内涨停天数大于2
- 加入市值、市盈率等过滤条件
- 加入布林线、移动平均线等技术指标
python代码参考
- 以下是一个简单的Python代码示例,用于实现上述策略:
import talib
import pandas as pd
def get_top_moving_average(df):
# 计算股票的5日、10日、20日、60日和120日移动平均线
ma5 = talib.MA(df['close'], timeperiod=5)
ma10 = talib.MA(df['close'], timeperiod=10)
ma20 = talib.MA(df['close'], timeperiod=20)
ma60 = talib.MA(df['close'], timeperiod=60)
ma120 = talib.MA(df['close'], timeperiod=120)
# 计算股票的5日、10日、20日、60日和120日移动平均线的均值
ma5_avg = ma5.mean()
ma10_avg = ma10.mean()
ma20_avg = ma20.mean()
ma60_avg = ma60.mean()
ma120_avg = ma120.mean()
# 计算股票的5日、10日、20日、60日和120日移动平均线的差值
ma5_diff = ma5[-1] - ma5_avg
ma10_diff = ma10[-1] - ma10_avg
ma20_diff = ma20[-1] - ma20_avg
ma60_diff = ma60[-1] - ma60_avg
ma120_diff = ma120[-1] - ma120_avg
# 返回移动平均线的均值和差值
return ma5_avg, ma10_avg, ma20_avg, ma60_avg, ma120_avg, ma5_diff, ma10_diff, ma20_diff, ma60_diff, ma120_diff
def get_top_stocks(df):
# 获取所有股票的代码和收盘价
codes = df['code'].unique()
prices = df['close'].values
# 初始化一个空列表,用于存储符合条件的股票代码
top_stocks = []
# 遍历所有股票的代码和收盘价
for code in codes:
# 获取该股票的5日、10日、20日、60日和120日移动平均线
ma5_avg, ma10_avg, ma20_avg, ma60_avg, ma120_avg, ma5_diff, ma10_diff, ma20_diff, ma60_diff, ma120_diff = get_top_moving_average(df[df['code'] == code])
# 如果该股票的收盘价在5日、10日、20日、60日和120
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
