问财量化选股策略逻辑
选择 振幅大于1、股票均价站在五日均线之上、上市天数大于n天(n为自定义参数)的股票进行选股。
选股逻辑分析
振幅大于1表示股票价格较为波动,较适合进行短线操作;股票均价站在五日均线之上表示股价处于上涨趋势,有一定的增涨潜力;上市天数大于n天衡量了股票的业务稳定性和历史表现。
该选股策略主要考虑股票的价格变动及交易量的变化,结合上市天数来筛选具备潜力的股票,以期望赚取投资收益。
有何风险?
该选股逻辑存在一定的过度拟合的风险,过度关注历史数据,忽略了市场前景和竞争格局的变化。同时,过多关注短期行情波动,可能会造成交易频繁,交易成本增加,影响投资收益。
如何优化?
需要加强市场前景和公司竞争格局的分析,结合股票的技术面和基本面进行综合判断,选择具有较高长期价值的股票进行投资。
此外,可以对选股条件进行调整,例如可以加入公司盈利情况、行业前景等因素进行综合评估,选择具有较高成长性的股票进行投资。
最终的选股逻辑
选择振幅大于1、股票均价站在五日均线之上、上市天数大于n天(n为自定义参数),且结合公司盈利情况、行业前景等因素进行综合筛选,选择具有长期价值及成长性的股票进行投资。
同花顺指标公式代码参考
// 挑选振幅大于1的股票
amplitude = (HIGH - LOW) / REF(CLOSE,1)
amplitude_bool = amplitude >= 1
// 挑选股票均价站在5日均线之上的股票
ma5 = MA(CLOSE, 5)
price_over_ma5 = CLOSE > ma5
// 挑选上市天数大于n天的股票(n为自定义参数)
days_listed = (TODAY - LISTDAY) / 365
days_listed_bool = days_listed > n
// 挑选符合条件的股票
result = amplitude_bool & price_over_ma5 & days_listed_bool
// 输出筛选结果
result
python代码参考
import tushare as ts
# 获取所有股票的基本信息
all_stocks = ts.get_stock_basics()
# 挑选上市天数大于n天的股票(n为自定义参数)
n = 365
days_listed_bool = all_stocks['timeToMarket'].apply(lambda x: ((pd.Timestamp.now() - pd.Timestamp(str(x))) / pd.Timedelta(days=1)) > n)
# 获取所有股票的实时行情信息
all_data = ts.get_today_all()
# 合并数据
merge_data = pd.merge(all_stocks,all_data,on='code',how='inner')
final_data = merge_data[days_listed_bool]
# 挑选振幅大于1的股票
amplitude = (final_data['high'] - final_data['low']) / final_data['pre_close']
amplitude_bool = amplitude >= 0.01
# 挑选股票均价站在5日均线之上的股票
symbol_list = final_data.index.tolist()
hist_data = ts.get_hist_data(symbol_list[-1])
temp_data = pd.DataFrame()
for symbol in symbol_list:
single_data = ts.get_hist_data(symbol)
temp_data = pd.concat([temp_data,single_data],ignore_index=False)
ma5 = temp_data.groupby('code')['close'].rolling(window=5).mean().reset_index(name='ma5')
final_data = final_data.merge(ma5)
price_over_ma5_bool = final_data['close'] > final_data['ma5']
# 挑选符合条件的股票
result = final_data[(amplitude_bool & price_over_ma5_bool).values]
# 输出筛选结果
print(result)
注:以上代码仅供参考,具体实现还需要根据实际情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
