问财量化选股策略逻辑
- 至少5根均线重合的股票: 这个逻辑意味着股票的短期和中期趋势是相似的,可能表明股票价格在未来会保持稳定或上涨。
- 9点25分涨幅小于6%: 这个逻辑意味着股票在开盘时的价格没有出现大幅上涨,可能表明市场对该股票的未来表现不太乐观。
- 竞价主力净买大于0: 这个逻辑意味着在股票开盘时,主力资金净流入量大于流出量,可能表明市场对该股票的未来表现比较乐观。
选股逻辑分析
以上三个逻辑结合起来,可能会筛选出一些有潜力的股票,这些股票的短期和中期趋势相似,且在开盘时市场表现比较稳定。然而,这并不意味着这些股票一定会表现良好,因为市场走势是不可预测的,而且这些逻辑也存在一定的局限性。
有何风险?
- 过于依赖技术指标:使用技术指标进行股票筛选可能会导致过度依赖这些指标,而忽略了其他重要的因素,如公司的基本面和财务状况。
- 忽视市场情绪:市场情绪对股票价格的影响是不可预测的,因此使用技术指标进行股票筛选时,可能会忽略市场情绪的影响。
- 筛选出的股票可能不够多样化:使用技术指标进行股票筛选可能会导致选出的股票过于集中,从而增加了投资组合的风险。
如何优化?
- 结合多种技术指标:除了使用至少5根均线重合的股票这个逻辑外,还可以结合其他技术指标,如MACD、RSI等,来筛选股票。
- 考虑市场情绪:除了考虑股票的价格走势外,还可以考虑市场情绪对股票价格的影响,例如使用新闻、社交媒体等数据来分析市场情绪。
- 筛选出的股票要进行多样化:除了使用技术指标进行股票筛选外,还可以通过基本面分析等方式,筛选出具有不同行业、不同地域等特点的股票,从而实现投资组合的多样化。
最终的选股逻辑
以下是最终的选股逻辑:
- 股票的短期和中期趋势相似。
- 9点25分涨幅小于6%。
- 竞价主力净买大于0。
- 结合多种技术指标,如MACD、RSI等。
- 考虑市场情绪,使用新闻、社交媒体等数据来分析市场情绪。
- 筛选出的股票要进行多样化,包括不同行业、不同地域等特点的股票。
python代码参考
以下是基于上述策略的python代码参考:
import talib
import pandas as pd
def get_stock_data(stock_code):
# 获取股票的历史数据
df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
df = df[['Adj Close']]
df = df.resample('D').last()
df = df.dropna()
return df
def get_stock_trend(df):
# 计算股票的短期和中期趋势
MA5 = talib.MA(df['Adj Close'], timeperiod=5)
MA20 = talib.MA(df['Adj Close'], timeperiod=20)
MACD = talib.MACD(df['Adj Close'], fastperiod=12, slowperiod=26, signalperiod=9)
RSI = talib.RSI(df['Adj Close'], timeperiod=14)
trend = pd.DataFrame({'MA5': MA5, 'MA20': MA20, 'MACD': MACD['MACD'], 'RSI': RSI})
trend['trend'] = trend['MA5'] > trend['MA20']
trend['trend'] = trend['trend'] & (MACD['MACD'] > 0) & (RSI > 30)
return trend
def get_stock筛选结果(df, threshold):
# 根据筛选条件筛选股票
filtered_df = df[df['trend'] == True]
filtered_df = filtered_df[(filtered_df['Adj Close'] > threshold) & (filtered_df['Adj Close'] < (threshold + 6))]
filtered_df = filtered_df[df['Net买'] > 0]
return filtered_df
# 示例
df = get_stock_data('600036')
trend = get_stock_trend(df)
filtered_df = get_stock筛选结果(df, 10)
print(filtered_df)
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。