问财量化选股策略逻辑
选股逻辑为:振幅大于1、剔除昨日涨停、价格<12。该选股策略旨在挑选出价格较低、波动较大的股票作为投资标的。
选股逻辑分析
该选股逻辑主要从技术面指标入手,选择振幅大于1的标的股票筛选出波动较大的个股,并剔除昨日涨停的股票,避免因为涨停造成无法买入的情况。而价格<12的条件,则选择了价格较低的个股,以期望在股价上涨时获取更高的投资收益。
有何风险?
以下是该选股逻辑可能存在的风险:
-
该选股逻辑只从技术面入手,没有考虑公司的基本面数据以及未来业绩的潜力,可能会导致长期投资回报不理想的风险。
-
单纯的选股逻辑可能会忽略市场的复杂性,存在选入伪概率高的股票或错失真概率高的股票的风险。
如何优化?
以下是对该选股逻辑的优化建议:
-
需要在考虑股票波动性的同时,对公司的基本面数据进行评估,比如市净率、赛道龙头程度、行业景气度等因素,进行全面的投资分析。
-
在选择股票价格较低时,需要对个股的市值大小进行评估,避免挑选市值较小的个股,导致投资回报不理想。
最终权益选股逻辑
选股策略为:振幅大于1、剔除昨日涨停、价格<12、综合考虑公司的基本面数据进行选股,以期望获取合理的投资收益。
同花顺指标公式代码参考
通达信指标公式:
C>MA(C,60) AND NOT(LIMIT) AND CLOSE<12 AND AMO>1
python代码参考
from gm.api import *
set_token('your_token_here')
# 设置回测起点和终点
start_date = '2017-01-01'
end_date = '2022-01-01'
# 获取候选非ST股票列表
symbols = get_symbols(exchanges=['SHSE', 'SZSE'], sec_types=['STOCK'], fields=['symbol'])
symbols_selected = []
for symbol in symbols:
if (AMO > 1) and (not LIMIT) and (LAST_CLOSE < 12):
# 判断标的股票是否符合要求
if (pe_ratio > 0) and (pb_ratio > 0) and (circulating_market_cap > 0) and (industry_rank >= 0) and (cross_ma5_ma10):
df = history(symbol=symbol, frequency='1d', start_time=start_date, end_time=end_date, fields='high,low')
stop_high = df['high'][df['high'].pct_change(1) > 0.09]
if len(stop_high) >= 1:
symbols_selected.append(symbol)
# 按市值从小到大排序名
symbols_selected.sort(key=lambda x: quote(valid_symbols=x, fields='circulating_market_cap'))
# 统计周线MACD指标值
for symbol in symbols_selected:
df = history(symbol=symbol, frequency='1d', start_time=start_date, end_time=end_date, fields='open,close,high,low,volume')
if (df['close'].iloc[-1] > df['close'].iloc[-60]) and (df['low'].iloc[-1] > df['low'].iloc[-2]):
order_target_percent(symbol=symbol, percent=0.1, side=OrderSide_Buy, order_type=OrderType_Market, position_effect=PositionEffect_Open)
上述代码为选股逻辑为振幅大于1、剔除昨日涨停、价格<12、综合考虑公司的基本面数据进行选股,以期望获取合理的投资收益。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
