问财量化选股策略逻辑
选取振幅大于1、股票均价站在五日均线之上、流通市值大于100亿元的股票。
选股逻辑分析
振幅大于1代表股票价格波动较大,存在一定的交易机会;股票均价站在五日均线之上代表着该股票可能处于上升趋势中,有一定的上涨空间;选取流通市值大于100亿元的股票可以筛选出规模相对较大且相对稳定的企业,能够在投资过程中降低一些风险。
有何风险?
该选股策略仍然忽略了一些公司基本面的因素,存在一定的投资风险。
如何优化?
该策略可以适当加入一些重要的基本面指标,如ROE、EPS等,对这些指标进行适当的筛选,进一步降低选股的风险。
最终的选股逻辑
选取振幅大于1、股票均价站在五日均线之上、流通市值大于100亿元的股票,加入重要的基本面指标进行进一步筛选,建立合理的止损和盈利控制机制,进行适当的风险控制。
同花顺指标公式代码参考
// 挑选振幅大于1的股票
amplitude = (HIGH - LOW) / REF(CLOSE,1)
amplitude_bool = amplitude > 1
// 挑选股票均价站在5日均线之上的股票
ma5 = MA(CLOSE, 5)
price_over_ma5_bool = CLOSE > ma5
// 挑选流通市值大于100亿元的股票
market_value = CAPITAL * CLOSE
market_value_bool = market_value > 10000000000
// 挑选符合条件的股票
result = amplitude_bool & price_over_ma5_bool & market_value_bool
// 输出筛选结果
result
python代码参考
import tushare as ts
# 获取所有股票的基本信息
all_stocks = ts.get_stock_basics()
# 获取所有股票的历史行情信息
hist_data = ts.get_hist_data(all_stocks.index.tolist(), ktype='D')
# 获取股票的日线成交量、振幅以及均价等信息
volume = hist_data['volume']
amplitude = (hist_data['high'] - hist_data['low']) / hist_data['pre_close']
ma5 = hist_data.groupby('code')['close'].rolling(window=5).mean().reset_index(name='ma5')
final_data = all_stocks.merge(ma5)
# 获取流通市值
capital = all_stocks['totals'] * all_stocks['price']
market_value_bool = capital > 10000000000
# 挑选振幅大于1的股票
amplitude_bool = amplitude >= 0.01
# 挑选股票均价站在5日均线之上的股票
price_over_ma5_bool = final_data['close'] > final_data['ma5']
# 获取ROE、EPS等重要基本面指标
roe = all_stocks['roe']
eps = all_stocks['esp']
# 挑选符合条件的股票
result = final_data[(amplitude_bool & price_over_ma5_bool & market_value_bool & (roe > 0) & (eps > 0))]
# 输出筛选结果
print(result)
注:以上代码仅供参考,实际选股需结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
