问财量化选股策略逻辑
这个策略基于以下三个条件来筛选股票:
- 至少5根均线重合:这表明股票的价格趋势相对稳定,不容易出现大幅波动。
- 10日涨幅大于0小于35:这表明股票在最近10天内有一定的上涨趋势,但涨幅不是很大,没有达到疯狂的程度。
- 10天内涨停天数大于2:这表明股票在最近10天内有较强的市场表现,可能受到资金的关注和追捧。
选股逻辑分析
这个策略的逻辑是基于技术分析和市场表现来筛选股票。通过筛选出均线重合、上涨趋势稳定、市场表现活跃的股票,可以提高投资的成功率。但是,需要注意的是,这些条件并不是绝对的,股票市场存在较大的不确定性,因此这个策略并不是完全可靠的。
有何风险?
这个策略的风险主要在于市场风险和股票本身的风险。市场风险是指股票市场的波动性,可能会导致投资者的收益出现较大的波动。股票本身的风险则包括公司财务风险、经营风险、政策风险等,这些因素都可能影响股票的价格和表现。
如何优化?
为了优化这个策略,可以考虑加入更多的条件来筛选股票,例如加入市盈率、市净率等财务指标,或者加入行业因素、政策因素等。同时,还可以考虑加入风险管理措施,例如止损、分散投资等,以降低投资风险。
最终的选股逻辑
以下是一个可能的最终的选股逻辑:
- 筛选出日线图中至少5根均线重合的股票。
- 筛选出10日涨幅大于0小于35的股票。
- 筛选出10天内涨停天数大于2的股票。
- 筛选出市盈率小于20、市净率大于1的股票。
- 筛选出行业景气度较高、政策支持力度较大的股票。
python代码参考
以下是一个可能的python代码参考:
import talib
import pandas as pd
def get_rolling_mean(df, n):
return df.rolling(n).mean()
def get_rolling_std(df, n):
return df.rolling(n).std()
def get_rolling_max(df, n):
return df.rolling(n).max()
def get_rolling_min(df, n):
return df.rolling(n).min()
def get_crossed_averages(df, n1, n2):
return df['close'].rolling(n1).mean() > df['close'].rolling(n2).mean()
def get_stock筛选条件(df):
# 筛选出至少5根均线重合的股票
rolling_mean5 = get_rolling_mean(df, 5)
rolling_mean10 = get_rolling_mean(df, 10)
rolling_mean20 = get_rolling_mean(df, 20)
rolling_mean60 = get_rolling_mean(df, 60)
rolling_mean120 = get_rolling_mean(df, 120)
rolling_mean240 = get_rolling_mean(df, 240)
rolling_mean500 = get_rolling_mean(df, 500)
rolling_mean1000 = get_rolling_mean(df, 1000)
rolling_mean2000 = get_rolling_mean(df, 2000)
rolling_mean3000 = get_rolling_mean(df, 3000)
rolling_mean4000 = get_rolling_mean(df, 4000)
rolling_mean5000 = get_rolling_mean(df, 5000)
rolling_mean6000 = get_rolling_mean(df, 6000)
rolling_mean7000 = get_rolling_mean(df, 7000)
rolling_mean8000 = get_rolling_mean(df, 8000)
rolling_mean9000 = get_rolling_mean(df, 9000)
rolling_mean10000 = get_rolling_mean(df, 10000)
rolling_mean11000 = get_rolling_mean(df, 11000)
rolling_mean12000 = get_rolling_mean(df, 12000)
rolling_mean13000 = get_rolling_mean(df, 13000)
rolling_mean14000 = get_rolling_mean(df, 14000)
rolling_mean15000 = get_rolling_mean(df, 15000)
rolling_mean16000 = get_rolling_mean(df, 16000)
rolling_mean17
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
