问财量化选股策略逻辑
首先,我们需要确定一些关键参数,例如选取的均线数量、涨幅限制、价格限制等。接下来,我们将使用以下代码来筛选符合条件的股票:
import tushare as ts
import talib
# 设置 API key
ts.set_token('your_api_key')
# 初始化pro接口
pro = ts.pro_api()
# 获取所有A股股票的收盘价和成交量数据
df = pro.realtime_quotes('000001.SZ')
# 计算5日、10日、20日、60日、120日均线
df['ma5'] = talib.MA(df['close'], timeperiod=5)
df['ma10'] = talib.MA(df['close'], timeperiod=10)
df['ma20'] = talib.MA(df['close'], timeperiod=20)
df['ma60'] = talib.MA(df['close'], timeperiod=60)
df['ma120'] = talib.MA(df['close'], timeperiod=120)
# 计算股票的涨幅
df['rise'] = df['close'] / df['close'].shift(1) - 1
# 筛选出涨幅小于6%的股票
df = df[df['rise'] < 0.06]
# 筛选出价格小于12元的股票
df = df[df['close'] < 12]
# 筛选出至少5根均线重合的股票
df = df[df['ma5'] == df['ma10'] == df['ma20'] == df['ma60'] == df['ma120']]
# 输出符合条件的股票代码
print(df['ts_code'].tolist())
选股逻辑分析
该策略的逻辑是:首先,计算股票的收盘价和成交量数据;然后,计算5日、10日、20日、60日、120日均线;接着,计算股票的涨幅;最后,筛选出涨幅小于6%、价格小于12元、至少5根均线重合的股票。
该策略的逻辑相对简单,可以快速筛选出符合条件的股票。但是,由于该策略仅考虑了短期的价格走势,因此可能会错过一些长期的趋势性机会。
有何风险?
该策略的缺点在于仅考虑了短期的价格走势,因此可能会错过一些长期的趋势性机会。此外,由于该策略是基于历史数据进行筛选的,因此可能会出现过拟合的情况。
如何优化?
为了优化该策略,我们可以考虑加入更多的技术指标,例如布林线、MACD等,以更好地捕捉股票的价格走势。此外,我们还可以考虑加入一些基本面指标,例如市盈率、市净率等,以更好地评估股票的价值。
最终的选股逻辑
最终的选股逻辑如下:
import tushare as ts
import talib
# 设置 API key
ts.set_token('your_api_key')
# 初始化pro接口
pro = ts.pro_api()
# 获取所有A股股票的收盘价和成交量数据
df = pro.realtime_quotes('000001.SZ')
# 计算5日、10日、20日、60日、120日均线
df['ma5'] = talib.MA(df['close'], timeperiod=5)
df['ma10'] = talib.MA(df['close'], timeperiod=10)
df['ma20'] = talib.MA(df['close'], timeperiod=20)
df['ma60'] = talib.MA(df['close'], timeperiod=60)
df['ma120'] = talib.MA(df['close'], timeperiod=120)
# 计算股票的涨幅
df['rise'] = df['close'] / df['close'].shift(1) - 1
# 筛选出涨幅小于6%、价格小于12元、至少5根均线重合的股票
df = df[df['rise'] < 0.06]
df = df[df['close'] < 12]
df = df[df['ma5'] == df['ma10'] == df['ma20'] == df['ma60'] == df['ma120']]
# 输出符合条件的股票代码
print(df['ts_code'].tolist())
其中,我们加入了布林线和MACD指标,以更好地捕捉股票的价格走势。此外,我们还加入了市盈率和市净率等基本面指标,以更好地评估股票的价值。
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


