问财量化选股策略逻辑
本选股策略选取振幅大于1、昨日非涨停板,且9点25分涨幅小于6%的股票作为投资标的。
选股逻辑分析
9点25分是股票交易日的开盘时间,选择9点25分涨幅小于6%的股票,是希望在开盘时避免大幅上涨的股票,以降低投资风险。同时,振幅大于1、昨日非涨停板的限制,可以限制投资标的的波动性,保证整体市值规模。
有何风险?
选股策略只考虑了开盘时的涨跌情况,没有考虑盘中交易的涨跌幅情况。同时,由于过早进行选股,可能会忽略股票在整个交易日内的波动性,需要注意风险控制。
如何优化?
可以加入盘中交易的涨跌幅情况,进行深入的分析和筛选,例如选取盘中涨幅变化较小的稳健股,或选择根据成交量等指标进行综合排序选取。同时,可以结合其他基本面和技术面指标,多角度分析和筛选,提高选股准确性和风险控制能力。
最终的选股逻辑
本策略选取振幅大于1、昨日非涨停板,且9点25分涨幅小于6%的股票作为投资标的,同时基于综合考虑盘中涨跌幅、成交量、基本面和技术面等多个指标进行深度分析和筛选,选出优秀的成长股和价值股,搭建多样化的投资组合。
同花顺指标公式代码参考
振幅:(HIGH-LOW)/REF(CLOSE,1);
开盘涨幅:(OPEN-REF(CLOSE,1))/REF(CLOSE,1);
python代码参考
# 引入Tushare库、Numpy库、Talib库、Pandas库
import tushare as ts
import numpy as np
import talib as ta
import pandas as pd
# 连接Tushare库
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
# 振幅大于1、昨日非涨停板,9点25分涨幅小于6%的股票作为投资标的
quote = pro.stock_basic(exchange='', list_status='L', fields='ts_code, name, market, list_date, total_mv, circ_mv')
for ts_code in quote["ts_code"]:
# 流通市值小于100亿元
if quote[quote["ts_code"] == ts_code]["circ_mv"].values[0] <= 10000000000:
continue
# 获取股票数据
stock_data = pro.bar(ts_code=ts_code, freq='1min', start_date='20210701', end_date='today', ma=[5, 20], factors=['tor', 'vr'])
if len(stock_data) > 1 and stock_data["open"].iloc[1] / stock_data["close"].iloc[0] - 1 < 0.06:
selected_stocks.append(ts_code)
if len(selected_stocks) == n:
return selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
