问财量化选股策略逻辑
选股逻辑:振幅大于1,今日控盘>21,按今日竞价金额排序前5。
选股逻辑分析
该选股策略同样考虑了技术面和基本面的指标,综合考虑了股票的波动性、市场资金流入和竞价情况。其中振幅和控盘指标反映了股票当前的波动性和资金的情况;竞价金额则反映了当前股票的市场需求和交易情况。
有何风险?
该选股策略主要风险来自于市场情况、市场风险或若干其他风险。不同的股票交易的时刻和流动性在变,可能会对指标带来较大的干扰,并使选股策略的精度出现波动。此外,按照竞价金额排序可能会对热门股票有所偏好,存在未能发掘低价股票的风险。
如何优化?
为了降低风险并提高策略的精度,我们可以考虑以下优化措施:
- 加入其他技术指标、基本面数据或其他数据,如流通股本,来加强策略的全面性和鲁棒性;
- 对数据来源进行多方面的验证和检验,提高选股策略的准确性和可靠性;
- 根据市场状况不断调整策略参数和选股条件,避免高风险股票的选出,注意分散风险;
- 按照不同的投资目标和风险偏好,灵活调整选股策略和资产配置,以求稳健的收益。
最终的选股逻辑
综合考虑风险和优化需求,我们可以最终选择以下选股逻辑:
- 振幅大于1;
- 今日控盘大于21;
- 按今日竞价金额排序;
- 选出排名前5的股票。
同花顺指标公式代码参考
以下是同花顺实现此策略的部分指标公式代码:
C1 = AMP() > 1;
C2 = ABS(CONTROLLING_SHARES_DAY_CHG()) > 21;
SORT_AMOUNT = SORT(J(), J() * VOL() * O()); // 按照今日竞价金额排序
C3 = RANK(REF(SORT_AMOUNT, 0), 1) <= 5; // 选出前5只股票
SELECTOR = C1 AND C2 AND C3;
RESULT = REF(SORT(RANK(SELECTOR), 1), 0) == 0;
python代码参考
以下是Python实现此策略的部分代码:
def select_stocks():
selected_stocks = []
for stock in get_all_stocks():
c1 = get_price(stock, end_date=datetime.now(), frequency='1d', fields='amplitude')[-1] > 0.01
c2 = abs(get_controlling_shareholders(stock, end_date=datetime.now(), frequency='1d')['controlling_shareholders_day_pct_change'][-1]) > 0.21
j = get_price(stock, end_date=datetime.now(), frequency='1d', fields='open')[-1] * get_volume(stock, end_date=datetime.now(), frequency='1d')[-1]
total_j = sum([get_price(stock, end_date=datetime.now(), frequency='1d', fields='open')[i] * get_volume(stock, end_date=datetime.now(), frequency='1d')[i] for i in range(5)]) # 前5日竞价金额总和
c3 = j >= (total_j / 5)
if c1 and c2 and c3:
selected_stocks.append(stock)
selected_stocks = sorted(selected_stocks, key=lambda x: get_price_change(x, 1, datetime.now(), frequency='1d'), reverse=True)
return selected_stocks[:5]
result = select_stocks()
print(result)
以上Python代码仅供参考,具体实现还需要根据自己的需求调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
