问财量化选股策略逻辑
选择振幅大于1、股票均价站在五日均线之上、集中度在20%以下、市值在50亿以下的股票,选择拥有稳定业绩和优质基本面的个股进行投资。
选股逻辑分析
振幅大于1意味着该股票的价格波动较大,可能具备长期投资价值;股票均价站在五日均线之上,说明该股票趋势向上;集中度在20%以下则意味着该股票分散性较高,可能风险相对较低;市值在50亿以下则意味着该股票市值较小,可能容易受到资金流入和流出的影响。选股策略将这些因素进行综合考虑,旨在挑选具备稳定业绩和优质基本面的个股,从而实现长期稳健的投资收益。
有何风险?
该选股策略可能导致选出的股票数量较少,而且过度依赖技术指标可能掩盖了许多与企业内部基本面全面相关的信息。
如何优化?
应该采用综合股票基本面、技术面、行业环境等多方面因素的选股策略,充分考虑潜在风险和不确定性。同时,对于选股策略结果中的每只股票,应该深入了解其业绩和基本面等因素,建立投资组合,同时注意合理分散化。
可以结合机器学习、大数据等技术对企业基本面、行业状况等因素进行分析和预测,增强选股策略的科学性。
最终的选股逻辑
选择振幅大于1、股票均价站在五日均线之上、集中度在20%以下、市值在50亿以下的股票,在综合考虑企业基本面、行业状况、技术面等因素的情况下,选出具有稳定业绩和优质基本面的个股进行投资。
同花顺指标公式代码参考
// 挑选振幅大于1的股票
amplitude = (HIGH - LOW) / REF(CLOSE,1)
amplitude_bool = amplitude >= 1
// 挑选股票均价站在5日均线之上的股票
ma5 = MA(CLOSE, 5)
price_over_ma5_bool = CLOSE > ma5
// 挑选集中度在20%以下的股票
share_pct = IF(SUM(HOLDERS[1, 1]), HOLDER_SUM(HOLDERS[1, 1])/CAPITAL, 0)
share_pct_bool = share_pct <= 0.2
// 挑选市值在50亿以下的股票
market_cap_bool = CAPITAL < 50亿
// 挑选符合条件的股票
result = amplitude_bool & price_over_ma5_bool & share_pct_bool & market_cap_bool
// 输出筛选结果
result
python代码参考
import tushare as ts
import pandas as pd
# 获取所有股票的基本信息和行情信息
all_stocks = ts.get_stock_basics()
symbol_list = all_stocks.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)
# 挑选振幅大于1的股票
amplitude = (temp_data['high'] - temp_data['low']) / temp_data['pre_close']
amplitude_bool = amplitude >= 0.01
# 挑选股票均价站在5日均线之上的股票
ma5 = temp_data.groupby('code')['close'].rolling(window=5).mean().reset_index(name='ma5')
final_data = all_stocks.merge(ma5)
price_over_ma5_bool = final_data['close'] > final_data['ma5']
# 挑选集中度在20%以下的股票
holders = ts.get_top10_holders(final_data.index[0])
share_pct = 0 if not holders.values.any() else holders.iloc[0]['hold_ratio'] / 100
share_pct_bool = share_pct <= 0.2
# 挑选市值在50亿以下的股票
market_cap_bool = final_data['totals'] * final_data['price'] < 5e10
# 挑选符合条件的股票
result = final_data[(amplitude_bool & price_over_ma5_bool & share_pct_bool & market_cap_bool).values]
# 输出筛选结果
print(result)
注:以上代码仅供参考,具体实现还需要根据实际情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
