问财量化选股策略逻辑
选股条件为:振幅大于1、昨日9:15匹配价跌停、高点为两日最高。
选股逻辑分析
振幅大的股票更容易获得投资机会;9:15匹配价跌停可以判断股票是否受市场情绪影响;高点为两日最高则可以筛选出在短时间内出现过价格波动的个股。
有何风险?
同样忽略了公司的基本面因素,有可能引起误判,因为单纯的股价表现并不能充分反映公司的价值;同时,时间窗口设置过于短暂,可能会出现一两日价格波动对选股的过度依赖。
如何优化?
同样需要加入基本面因素如市盈率、市净率等指标进行筛选来辅助分析;可以加入其他技术指标如MACD、布林带等来进行综合分析,不仅依赖于单一的价格因素;时间窗口可以适当放宽来增加选股准确率。
最终的选股逻辑
选股条件为:振幅大于1、昨日9:15匹配价跌停、高点为3日最高。
同花顺指标公式代码参考
振幅大于1:SYNJZ('AMO',0) > 1
昨日9:15匹配价跌停:YESTODAY(CDPP('LAST'), 1) == YESTODAY(CDPP('OPEN'), 1) and REF(LOW, 1) == YESTODAY(CDPP('LAST'), 1) and LOW < YESTODAY(LOW, 1)
高点为3日最高:REF(CREATEHIGH, 1) == MAXA(CREATEHIGH, 2)
参考教程:https://www.iwencai.com/blog?url=https%3A%2F%2Fwww.iwencai.com%2Fstockpick%2Fapi%2Fwinvest%2Fw%2Fshowpage%2Fperformance.php
python代码参考
import tushare as ts
def get_selected_stocks(n):
data = ts.get_today_all()
condition1 = SYNJZ('AMO',0) > 1 # 振幅大于1
condition2 = YESTODAY(CDPP('LAST'), 1) == YESTODAY(CDPP('OPEN'), 1) and REF(LOW, 1) == YESTODAY(CDPP('LAST'), 1) and LOW < YESTODAY(LOW, 1) # 昨日9:15匹配价跌停
condition3 = REF(CREATEHIGH, 1) == MAXA(CREATEHIGH, 2) # 高点为3日最高
selected_data = data[condition1 & condition2 & condition3].sort_values(by='total_market_value', ascending=False)[:n] # 根据总市值倒序排列
selected_stocks = selected_data['code'].values
return selected_stocks
result = get_selected_stocks(5)
print(result)
注:以上代码仅供参考,实际选股应结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


