问财量化选股策略逻辑
- 至少5根均线重合的股票
- 前25天有涨停
- 2019分红比例>25%
选股逻辑分析
- 这个策略的逻辑是寻找均线密集的股票,这些股票可能有更多的买入和卖出压力,因此可能会有更大的交易机会。
- 前25天有涨停的股票可能表明该股票有较强的市场关注度和交易活跃度。
- 2019分红比例>25%的股票可能表明该股票的盈利能力较强,也可能会有更多的投资者愿意投资。
有何风险?
- 这个策略的逻辑是基于历史数据进行分析,因此可能会忽略一些新的市场趋势或公司变化。
- 选择均线密集的股票可能会导致选择到过于拥挤的市场,从而降低交易的成功率。
- 前25天有涨停的股票可能表明该股票已经经历了较大的涨幅,因此可能存在回调的风险。
- 2019分红比例>25%的股票可能表明该股票的盈利能力较强,但也可能会存在高估的风险。
如何优化?
- 可以考虑加入更多的筛选条件,例如公司的财务数据、行业背景等,以提高策略的准确性和可靠性。
- 可以考虑加入技术分析指标,例如布林线、移动平均线等,以更好地判断股票的价格走势和交易机会。
- 可以考虑加入风险管理措施,例如止损点、风险分散等,以降低交易的风险。
最终的选股逻辑
- 选择至少5根均线重合的股票
- 前25天有涨停
- 2019分红比例>25%
- 加入财务数据、行业背景等筛选条件
- 加入技术分析指标,例如布林线、移动平均线等
- 加入风险管理措施,例如止损点、风险分散等
python代码参考
- 以下是一个简单的Python代码示例,用于筛选符合上述策略条件的股票:
import talib
import pandas as pd
def get_top_ma_crossovers(df):
ma = talib.MA(df['close'], timeperiod=5)
ma2 = talib.MA(df['close'], timeperiod=10)
ma3 = talib.MA(df['close'], timeperiod=20)
ma4 = talib.MA(df['close'], timeperiod=50)
ma5 = talib.MA(df['close'], timeperiod=100)
crossovers = []
for i in range(len(ma)):
if ma[i] > ma[i+1] and ma[i] > ma[i+2] and ma[i] > ma[i+3] and ma[i] > ma[i+4]:
crossovers.append(i)
return crossovers
def get_top_stocks(df):
stocks = []
for index, row in df.iterrows():
if row['close'] > row['close'].rolling(window=25).max() and row['close'] > row['close'].rolling(window=50).max() and row['分红比例'] > 25:
stocks.append(index)
return stocks
def get_top_ma_crossovers_and_top_stocks(df):
crossovers = get_top_ma_crossovers(df)
stocks = get_top_stocks(df)
return crossovers, stocks
def main():
df = pd.read_csv('data.csv')
crossovers, stocks = get_top_ma_crossovers_and_top_stocks(df)
print('Crossovers:', crossovers)
print('Stocks:', stocks)
if __name__ == '__main__':
main()
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


