问财量化选股策略逻辑
选股逻辑为:振幅大于1、按个股热度从大到小排序、非科创。将选股逻辑作为第一个标题放入段落中。
选股逻辑分析
该选股策略的逻辑如下:
- 振幅大于1:表明该股票交易活跃度较高;
- 按个股热度从大到小排序:表示在符合条件下,按照市场的热度进行排序;
- 非科创:科创股票具有高风险高回报,因此在此选股策略中排除。
综合以上三个点,在符合条件的股票中按市场热度从大到小排序,选出非科创股票,以寻求投资机会。
有何风险?
该选股策略可能存在以下风险:
- 仅考虑非科创因素,可能会忽略更为重要的因素,比如公司基本面、行业状况等;
- 振幅和非科创都具有一定的主观判断,因此可能存在不准确性;
- 完全依赖量化指标,可能忽略市场情绪和市场走势等其他非量化因素。
如何优化?
为了提高选股的准确性和降低风险,我们可以在以下方面对该选股策略进行优化:
- 引入其他技术指标,如MACD、BOLL等,进行多重指标判断;
- 对振幅和非科创指标的阈值进行动态调整,根据市场走势进行相应调整;
- 结合市场情绪、基本面等因素进行综合分析;
- 引入机器学习算法,进行选股结果的优化和预测。
最终的选股逻辑
综合以上分析和优化,我们最终的选股逻辑为:
在符合振幅大于1和非科创的要求下,按照市场热度从大到小排列,在多重指标和其他非量化因素的综合分析下,以尽可能降低风险并提高选股准确率。
同花顺指标公式代码参考
该策略可引入以下指标进行辅助分析:
1.振幅指标:
振幅:
((HIGH-LOW)/REF(CLOSE,1))>0.01
2.按个股热度排序的指标。
同花顺热度指标:
SORT_BY_DESC(stock_heat/)
3.非科创股票指标
同花顺非沪深300、创业板指、科创板指:
INDEXNOTTHS(1,300)+INDEXNOTTHS(2,300)+INDEXNOTTHS(2,90001)>0
Python代码参考
以下是使用Python进行选股的代码参考:
import pandas as pd
import tushare as ts
import talib as ta
def stock_selection():
# 获取股票数据
all_data = ts.get_k_data("002230", ktype="D")
all_data = pd.DataFrame(all_data, columns=["date", "open", "close", "high", "low", "volume", "code"])
# 按要求选股
condition1 = ((all_data["high"] - all_data["low"]) / all_data["close"].shift(1) > 0.01) # 振幅大于1
hot_code = ts.top_list().loc[1:10, 'code']
condition2 = all_data['code'].apply(lambda x: x in hot_code.to_list()) # 按个股热度排序
condition3 = ~(all_data['code'].apply(lambda x: '300' in x or '688' in x or '900' in x)) # 非科创股票
# 按照市场热度排序
all_data['pct_change'] = abs(all_data['close'] - all_data['open']) / all_data['open']
all_data.sort_values('pct_change', ascending=False, inplace=True)
# 返回符合条件的股票代码
return all_data[condition1 & condition2 & condition3]["code"].values.tolist()
# 选出符合条件的股票
selected_stocks = stock_selection()
print("符合条件的股票:", selected_stocks)
其中,在代码中需要根据实际需求进行相应的设置。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
