问财量化选股策略逻辑
挑选振幅大于1、股票均价站在五日均线之上、流通盘小于等于55亿股的股票。
选股逻辑分析
振幅大于1代表股票价格波动较大,存在一定的交易机会;股票均价站在五日均线之上代表着该股票可能处于上升趋势中,有一定的上涨空间;流通盘小于等于55亿股可以为股票提供一定的上涨空间,同时具备一定的价值投资属性。同时,这三个条件可以相互印证,可以有效地提高选股的准确性。
有何风险?
该选股策略可能存在一定的价值陷阱风险,流通盘小的股票容易被少数股东操纵价格,存在一定的不稳定性;同时,需要注意流通盘与股票市值的关系,不只是流通盘小即为低市值股票,有可能存在市值较大但流通盘较小的股票。
如何优化?
可以引入一些其他的形态指标,如蜡烛图形态、趋势指标等来增加选股策略的稳定性和准确性;同时,需要对流通盘数据进行校准,以避免流通盘与股票市值的不匹配问题。
最终的选股逻辑
选取符合振幅大于1、股票均价站在五日均线之上、流通盘小于等于55亿股、具备一定形态和趋势指标的股票。流通盘数据需校准,并辅以合理的止损和盈利控制机制,进行适当的风险控制。
同花顺指标公式代码参考
由于该选股策略涉及流通盘等自定义指标,通达信和同花顺中均没有提供直接的公式代码。
python代码参考
import tushare as ts
# 获取所有股票的基本信息
all_stocks = ts.get_stock_basics()
# 获取历史行情信息
hist_data = ts.get_hist_data(all_stocks.index.tolist(), ktype='D')
# 计算振幅、均线等指标
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')
# 计算流通盘数据
circulation = all_stocks['totals'] * all_stocks['outstanding']
# 合并数据
final_data = all_stocks.merge(ma5, on='code').merge(pd.DataFrame(circulation), left_index=True, right_index=True, suffixes=('', '_circulation'))
# 获取符合条件的股票
amplitude_bool = amplitude >= 0.01
price_over_ma5_bool = final_data['close'] > final_data['ma5']
circulation_bool = final_data['circulation'] <= 5.5e+09
result = final_data[(amplitude_bool & price_over_ma5_bool & circulation_bool)]
# 输出结果
print(result)
注:以上代码仅供参考,实际选股需结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
