问财量化选股策略逻辑
- 至少5根均线重合的股票
- 圆弧形
- 500日内至少2次涨停
选股逻辑分析
- 这个策略基于均线和形态的结合,寻找股票在短期内有强烈的上涨趋势。
- 首先,筛选出至少5根均线重合的股票,这表明这些股票的短期和中期趋势较为一致,有利于上涨。
- 然后,寻找股票形态上的圆弧形,这表明股票价格在短期内有明显的上涨趋势,并且可能即将突破。
- 最后,筛选出500日内至少2次涨停的股票,这表明股票在短期内有较强的爆发力和上涨动力。
有何风险?
- 这个策略可能过于侧重于短期趋势,而忽略了长期趋势的影响。
- 如果股票形态上的圆弧形不够明显,或者股票在短期内没有达到2次涨停的目标,那么这个策略可能会失效。
- 在使用这个策略时,需要密切关注市场动态和股票的基本面,以避免因为市场变化而带来的风险。
如何优化?
- 可以考虑加入更多均线的筛选条件,以更准确地判断股票的趋势。
- 可以尝试使用其他形态来代替圆弧形,以提高策略的准确性和可靠性。
- 可以考虑加入更多的筛选条件,例如股票的市值、市盈率等,以更全面地评估股票的价值和风险。
最终的选股逻辑
- 筛选出至少5根均线重合的股票
- 筛选出形态上符合圆弧形的股票
- 筛选出500日内至少2次涨停的股票
- 考虑加入更多均线的筛选条件
- 考虑加入其他形态来代替圆弧形
- 考虑加入更多的筛选条件,例如股票的市值、市盈率等
python代码参考
-
import talib
-
import pandas as pd
-
import numpy as np
-
def check_ma_convergence(df, ma_list):
- for i in range(1, len(ma_list)):
-
if ma_list[i] > ma_list[i-1]: -
if df['close'].iloc[i] > df['close'].iloc[i-1] * (1+ma_list[i]): -
return True -
else: -
if df['close'].iloc[i] < df['close'].iloc[i-1] * (1-ma_list[i]): -
return True - return False
-
def check_rounding(df):
- for i in range(1, len(df)):
-
if df['close'].iloc[i] - df['close'].iloc[i-1] > 0.001: -
if df['close'].iloc[i] - df['close'].iloc[i-1] > df['close'].iloc[i-1] * 0.05: -
return True -
else: -
if df['close'].iloc[i] - df['close'].iloc[i-1] < -0.001: -
return True - return False
-
def get_rounding(df):
- df['rounding'] = np.where(df['close'].diff() > 0, 1, np.where(df['close'].diff() < 0, -1, 0))
- df['rounding'] = np.where(df['rounding'] > 0.05, 1, np.where(df['rounding'] < -0.05, -1, df['rounding']))
- df['rounding'] = np.where(df['rounding'] > 0, 1, np.where(df['rounding'] < 0, -1, df['rounding']))
- df['rounding'] = np.where(df['rounding'] > 0.001, 1, np.where(df['rounding'] < -0.001, -1, df['rounding']))
- return df
-
def get_ma(df, ma_list):
- ma = pd.Series(df['close'].rolling(window=ma_list).mean(), name='ma_' + ma_list[0])
- for i in range(1, len(ma_list)):
-
ma = pd.Series(ma * (1+ma_list[i]), name='ma_' + ma_list[i]) - return ma
-
def get_rounding_ma(df):
- df = get_rounding(df)
- ma_list = [10, 20, 30, 40,
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


