问财量化选股策略逻辑
选股逻辑为:振幅大于1、按个股热度从大到小排序、MACD零轴以上。将选股逻辑作为第一个标题放入段落中。
选股逻辑分析
该选股策略的逻辑如下:
- 振幅大于1:表示该股票交易活跃度较高;
- 按个股热度从大到小排序:表示在符合条件下,按照市场的热度进行排序;
- MACD零轴以上:表示该股票处于MACD的多头市场。
综合以上三个点,在符合阈值的股票中按市场热度从大到小排序,选出处于MACD的多头市场的股票。
有何风险?
该选股策略的可能风险包括:
- 过度依赖市场热度指标,可能忽略了一些中长期的价值;
- 对MACD指标的理解和判断不准确,可能会选出MACD口头上虽然处于多头市场,但实际并不稳定的股票。
如何优化?
为了提高选股的准确性和降低风险,我们可以在以下方面对该选股策略进行优化:
- 引入其他技术指标,如KDJ、RSI等,进行多重指标判断;
- 结合市场情绪、基本面等因素进行综合分析;
- 深入研究MACD指标的和相关股票特征,进行具体的设置;
- 调整策略的参数和阈值,根据市场走势进行动态调整;
- 引入机器学习算法,进行选股结果的优化和预测。
最终的选股逻辑
综合以上分析和优化,我们最终的选股逻辑为:
在符合振幅大于1的要求下,按照市场热度从大到小排列,加入MACD指标的判断,并结合多重技术指标和基本面指标的综合分析,以尽可能降低风险并提高选股准确率。
同花顺指标公式代码参考
该策略可引入以下指标进行辅助分析:
1.振幅的指标。
振幅:
((HIGH-LOW)/REF(CLOSE,1))>0.01
2.按个股热度排序的指标。
同花顺热度指标:
SORT_BY_DESC(stock_heat/)
3.MACD指标的判断。
MACD零轴以上:
(CLOSE-EMA12)/(EMA26-EMA12)>0
Python代码参考
以下是使用Python进行选股的代码参考:
import pandas as pd
import tushare as ts
from pyecharts import Kline
from ta.momentum import MACD
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()) # 按个股热度排序
# MACD零轴以上
macd = MACD(all_data["close"], window_fast=12, window_slow=26, window_signal=9)
condition3 = macd.macd_diff() > 0
# 按照市场热度排序
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()
# 展示股价走势
def show_kline(data):
kline = Kline()
kline.add("K线图", data[["date", "open", "close", "high", "low"]].values.tolist())
kline.render()
# 股票代码
code = "002230"
# 获取股票数据
all_data = ts.get_k_data(code, ktype="D")
# 展示股价走势
show_kline(all_data)
# 选出符合条件的股票
selected_stocks = stock_selection()
print("符合条件的股票:", selected_stocks)
其中,在代码中需要根据实际需求进行相应的设置。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
