问财量化选股策略逻辑
- 至少5根均线重合的股票
- 开盘价在十日线左右
- 换手率3%-12%
选股逻辑分析
- 这个策略的逻辑是基于技术分析的,通过分析股票的均线和换手率来筛选股票。
- 首先,需要找到至少5根均线重合的股票,这通常意味着股票价格在短期内会保持稳定。
- 其次,需要找到开盘价在十日线左右的股票,这通常意味着股票价格处于中期趋势的转折点。
- 最后,需要找到换手率在3%-12%之间的股票,这通常意味着股票的流动性较好,市场关注度较高。
有何风险?
- 这个策略的逻辑是基于技术分析的,而技术分析并不是完全可靠的,因此可能存在一定的风险。
- 另外,这个策略只考虑了股票的均线和换手率,而忽略了其他因素,例如公司的财务状况、行业前景等等,因此可能存在一定的风险。
如何优化?
- 可以考虑加入更多的技术指标,例如布林线、MACD等等,来提高策略的准确性和可靠性。
- 可以考虑加入更多的基本面指标,例如市盈率、市净率等等,来更好地评估股票的价值和风险。
最终的选股逻辑
- 首先,找到至少5根均线重合的股票。
- 其次,找到开盘价在十日线左右的股票。
- 再次,找到换手率在3%-12%之间的股票。
- 最后,加入更多的技术指标和基本面指标,以提高策略的准确性和可靠性。
python代码参考
- import talib
- import pandas as pd
-
读取股票数据
- df = pd.read_csv('stock_data.csv')
-
计算均线
- ma5 = talib.MA(df['close'], timeperiod=5)
- ma10 = talib.MA(df['close'], timeperiod=10)
- ma20 = talib.MA(df['close'], timeperiod=20)
-
找到至少5根均线重合的股票
- common = pd.DataFrame()
- for i in range(5, len(ma5)):
if ma5[i] == ma10[i] == ma20[i]:
common = common.append(df.iloc[i]) -
找到开盘价在十日线左右的股票
- df['ten_day'] = df['close'].rolling(window=10).mean()
- df['oversold'] = df['ten_day'] - df['close']
- df['overbought'] = df['close'] - df['ten_day']
- buy = df[df['oversold'] < 0]
- sell = df[df['overbought'] > 0]
-
找到换手率在3%-12%之间的股票
- df['turnover'] = df['volume'] / df['close'] * 100
- df['buy'] = df[df['turnover'] > 3]
- df['sell'] = df[df['turnover'] < 12]
-
找到符合条件的股票
- stocks = pd.concat([common, buy, sell])
-
输出结果
- stocks.to_csv('selected_stocks.csv')
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


