问财量化选股策略逻辑
选股逻辑为:振幅大于1、大单净量排行、周K线上穿30周线。该选股策略主要从技术指标角度选取股票,适用于中长期投资的投资者。
选股逻辑分析
该选股逻辑主要从技术指标角度考虑股票,综合考虑振幅、大单净量和周K线上穿30周线等指标,可以比较全面地评估股票的市场行情。该策略对于市场不稳定性较大的情况,可以起到一定的风险控制作用。但是,该选股策略也存在一定的局限性,不能完全依赖技术指标,需要综合考虑公司基本面情况等其他因素。
有何风险?
该选股策略主要从技术指标角度考虑股票,不能完全预测市场不确定性的风险。同时,该选股逻辑可能会受到市场行情变化的影响,存在一定的短期波动风险。
如何优化?
在选股时应综合考虑技术指标与公司基本面和市场整体情况等因素,以更全面的方式评估、筛选股票。可以加入其他指标,以综合考虑股票的市场表现。同时,可以在选股逻辑中加入其他条件,以限制风险。
最终的选股逻辑
选股条件为:振幅大于1、大单净量排行、周K线上穿30周线,同时综合考虑公司基本面和市场整体情况等因素。
同花顺指标公式代码参考
SELECT1 = MA(CLOSE, 30) > MA(CLOSE, 60)
SELECT2 = (HIGH - LOW) / REF(CLOSE, 1) > 0.01
SELECT3 = GET_DRBQ(CODE, NAME, LAST, LASTVOL) >= 0.8
SELECT = SELECT1 AND SELECT2 AND SELECT3
SORT_BY = '换手率'
SORT_ASCEND = True
Python代码参考
import pandas as pd
import numpy as np
import tushare as ts
def get_selected_stocks():
ts.set_token('your token')
pro = ts.pro_api()
# 获取股票数据
stock_data = pro.weekly(ts_code='000001.SZ', start_date='20220101', end_date='20220308')
stock_list = []
# 进行选股
for idx, row in stock_data.iterrows():
# 按条件筛选:振幅大于1,大单净量排行,周K线上穿30周线
if not (row['ma_v_30'] > row['ma_v_60']) or \
not ((row['high'] - row['low']) / stock_data[stock_data.index == idx-1].iloc[0]['close'] > 0.01) or \
get_drbd(row['ts_code'], row['name'], row['close'], row['vol']) < 0.8:
continue
selected_data = {}
selected_data['ts_code'] = row['ts_code']
selected_data['stock_name'] = row['name']
selected_data['stock_price'] = row['close']
selected_data['change_rate'] = 100 * (row['close'] - row['pre_close']) / row['pre_close']
selected_data['pct_chg'] = row['pct_chg']
selected_data['turnover_rate'] = row['vol'] / row['total_share']
# 可添加其他指标
stock_list.append(selected_data)
# 按换手率从小到大排序
selected_stocks_sorted = sorted(stock_list, key=lambda x: x['turnover_rate'], reverse=False)
return selected_stocks_sorted
选股逻辑为:振幅大于1、大单净量排行、周K线上穿30周线。该选股策略主要从技术指标角度选取股票,需要关注市场整体情况和公司基本面情况,以更全面地评估股票的价值,避免出现较大的风险。需要加入其他指标和因素,从更广泛的角度综合考虑股票的价值。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
