问财量化选股策略逻辑
选股逻辑为:振幅大于1、换手率大于2%小于9%、2021年。该选股策略主要从波动性和市场交易情况角度进行考虑。
选股逻辑分析
该选股策略包含了三个条件,分别为振幅大于1、换手率大于2%小于9%以及时间为2021年。振幅大于1可以较好地筛选出波动性较大的股票,换手率大于2%小于9%表明了股票市场的交易活跃程度,时间为2021年则是筛选出最近一年市场表现较好的股票。
有何风险?
该选股策略只考虑了市场交易情况和波动性等因素,而未考虑公司的基本面和业绩情况等因素,可能存在遗漏和误判。同时,2021年的市场表现是受多种因素影响的,可能存在特殊情况,选股策略可能存在无法适应当前市场的风险。
如何优化?
可以结合其他技术指标和基本面指标进行综合筛选以提高选股的准确性和实用性。可以适当调整选股条件,例如可以将振幅和换手率的阈值适当调整,选择符合实际情况的股票。同时,可以针对不同市场环境和不同行业以及公司发展阶段进行分别考虑和优化,以提高选股策略的灵活性和准确性。
最终的选股逻辑
选股条件为:振幅大于1、换手率大于2%小于9%、2021年。该选股策略主要从波动性和市场交易情况角度进行考虑。
同花顺指标公式代码参考
选股条件为:振幅大于1、换手率大于2%小于9%、2021年。
C1: ABS((HIGH/LOW-1)*100)>=1;//振幅大于1
C2: TURNOVER_RATE>2 AND TURNOVER_RATE<=9;//换手率大于2%小于9%
C3: TRADE_DATE.year==2021;//2021年
SYMBOL: C1 AND C2 AND C3;
python代码参考
import pandas as pd
import tushare as ts
def select_stocks(length):
ts.set_token('your_token')
pro = ts.pro_api()
# 获取所有股票数据
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name')
# 筛选符合条件的股票
df_list = []
for code in data['ts_code']:
# 获取K线数据
k_data = pro.daily(ts_code=code, start_date='20210101', end_date='20211231')
if k_data.empty:
continue
# 判断是否符合要求
if abs((k_data.iloc[-1]['high'] / k_data.iloc[-1]['low'] - 1) * 100) < 1: # 振幅小于1
continue
turnover_rate = k_data.iloc[-1]['vol'] / (k_data.iloc[-2]['vol'] + k_data.iloc[-3]['vol'] + k_data.iloc[-4]['vol']) * 100 # 换手率
if turnover_rate < 2 or turnover_rate > 9: # 换手率不在2%~9%之间
continue
# 判断是否在2021年交易
trade_date = pd.to_datetime(k_data.iloc[-1]['trade_date'])
if trade_date.year != 2021:
continue
# 添加符合条件的股票
info = {}
info['ts_code'] = code
info['name'] = data[data['ts_code']==code].iloc[0]['name']
df_list.append(info)
# 根据个股热度排序
selected_stocks = pd.DataFrame(df_list)
selected_stocks = selected_stocks.head(length)
return selected_stocks
致辞
本次问答为选股逻辑:振幅大于1、换手率大于2%小于9%、2021年的问答。该选股策略主要从波动性和市场交易情况角度进行考虑,建议结合其他技术指标和基本面指标进行综合筛选以提高选股的准确性。所给出的通达信指标公式参考和python代码参考仅供参考,读者可以根据实际情况进行优化和修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
