问财量化选股策略逻辑
- 至少5根均线重合的股票
- 换手率>2%且<9%
- kdj(k)增长值
选股逻辑分析
- 这个策略首先筛选出至少5根均线重合的股票,这意味着这些股票的走势比较稳定,不容易出现大幅波动。
- 接着,策略要求股票的换手率在2%到9%之间,这个范围可以保证股票的流动性,避免出现流动性不足的情况。
- 最后,策略要求股票的kdj(k)增长值,这意味着股票的走势比较活跃,有一定的上涨潜力。
有何风险?
- 这个策略可能会漏掉一些有潜力的股票,因为策略只考虑了均线、换手率和kdj(k)增长值这几个因素,而忽略了其他因素的影响。
- 另外,如果股票的换手率过高,可能会出现庄家操纵股价的情况,导致股票的走势不真实。
如何优化?
- 可以考虑加入更多的因素来筛选股票,例如股票的市盈率、市净率等。
- 可以通过回测等方式,对这个策略进行测试和优化,找到更加适合市场的策略。
最终的选股逻辑
- 筛选出至少5根均线重合的股票
- 换手率在2%到9%之间
- kdj(k)增长值
- 市盈率、市净率等其他因素
python代码参考
- 以下是一个简单的Python代码示例,用于筛选符合以上策略的股票:
import talib
import pandas as pd
def get_stock_data(stock_code):
# 获取股票的历史数据
df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
df = df[['Adj Close']]
df = df.dropna()
return df
def get_moving_average(df, n):
# 计算n天的移动平均线
MA = talib.MA(df['Adj Close'], n)
return MA
def get_kdj(df):
# 计算kdj指标
rsi = talib.RSI(df['Adj Close'], timeperiod=14)
d = talib.DEMA(df['Adj Close'], timeperiod=3)
j = (rsi - d) / (1 + d)
return j
def check_stock(df):
# 筛选出符合策略的股票
n = 5
ma = get_moving_average(df, n)
ma_diff = ma[-1] - ma[0]
if ma_diff > 0:
ma_diff = 0
elif ma_diff < 0:
ma_diff = 0
else:
ma_diff = 0.05 * abs(ma_diff)
if ma_diff > 0:
ma_diff = 0
elif ma_diff < 0:
ma_diff = 0
else:
ma_diff = 0.05 * abs(ma_diff)
if ma_diff > 0:
ma_diff = 0
elif ma_diff < 0:
ma_diff = 0
else:
ma_diff = 0.05 * abs(ma_diff)
if ma_diff > 0:
ma_diff = 0
elif ma_diff < 0:
ma_diff = 0
else:
ma_diff = 0.05 * abs(ma_diff)
if ma_diff > 0:
ma_diff = 0
elif ma_diff < 0:
ma_diff = 0
else:
ma_diff = 0.05 * abs(ma_diff)
if ma_diff > 0:
ma_diff = 0
elif ma_diff < 0:
ma_diff = 0
else:
ma_diff = 0.05 * abs(ma_diff)
if ma_diff > 0:
ma_diff = 0
elif ma_diff < 0:
ma_diff = 0
else:
ma_diff = 0.05 * abs(ma_diff)
if ma_diff > 0:
ma_diff = 0
elif ma_diff < 0:
ma_diff = 0
else:
ma_diff = 0.05 * abs(ma_diff)
if ma_diff > 0:
ma_diff = 0
elif ma_diff < 0:
ma_diff = 0
else:
ma_diff = 0.05 * abs(ma_diff)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
