问财量化选股策略逻辑
选股逻辑为:振幅大于1,企业性质,换手率3%-12%。
选股逻辑分析
选股逻辑中振幅大于1表示选股对短期波动相对敏感,企业性质体现了选股策略对公司基本面的关注。同时,选股逻辑中加入换手率的概念,表示了对市场流动性的关注。
有何风险?
选股逻辑中忽略了一些重要的因素,如市场整体走势、公司估值等因素,可能会导致选股结果与市场整体走势不相符。另外,选股逻辑中加入了换手率的因素,但仅采用静态的换手率的数据,不能反映市场流动性的动态变化。
如何优化?
选股逻辑可以从以下两个方面进行优化:
- 在企业基本面和市场流动性方面的选择上,可以综合多指标进行分析,如市盈率、市净率、PEG等来深度挖掘公司基本面的实质和市场整体走势的方向;
- 采用动态的换手率数据,如加入当日换手率/平均换手率/标准差等指标进行分析,更加全面地考虑市场流动性的影响。
最终的选股逻辑
最终的选股逻辑如下:
- 振幅大于1;
- 选择指定企业性质;
- 当日换手率在3%-12%之内。
同花顺指标公式代码参考
选股逻辑的同花顺指标公式代码如下:
/* 选股公式 */
SELECT: (HIGH-LOW)/REF(CLOSE,1)>0.01 AND XX企业性质 AND (VOL/CAPITAL)*100>=3 AND (VOL/CAPITAL)*100<=12;
Python代码参考
适用于tushare库的Python选股代码如下:
import tushare as ts
from datetime import datetime, timedelta
def is_selected(code):
# 判断股票是否满足选股逻辑
hist_data = ts.get_hist_data(code)
if hist_data is None or len(hist_data) < 20:
return False
if (hist_data['high']-hist_data['low'])/hist_data['close'].shift(1) <= 0.01:
return False
if not XX企业性质:
return False
# 获取当日换手率
today_data = ts.get_today_ticks(code)
if today_data is None or len(today_data) < 10:
return False
vol = today_data['vol'].sum() # 当日总成交量
capital = ts.get_stock_basics()['totals'][code] * today_data['price'].iloc[0] / 10000 # 当日总市值(单位:亿元)
if (vol/capital)*100 < 3 or (vol/capital)*100 > 12:
return False
return True
# 获取股票列表,遍历股票进行选股
stocks = ts.get_stock_basics()
selected_stocks = []
for code, row in stocks.iterrows():
if is_selected(code):
selected_stocks.append(code)
# 利用选股结果进行股票交易
for code in selected_stocks:
pass # 参考其他策略
注意选股策略中存在的风险和局限性,要综合考虑多种因素,做出接近的分析和判断。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
