问财量化选股策略逻辑
- 今日增仓占比>5%, 表示最近一段时间内,该股票的买入量超过了卖出量,说明市场资金对该股票比较看好。
- 竞价主力净买大于0, 表示在竞价交易中,主力资金买入量大于卖出量,说明主力资金对该股票比较看好。
- 30日平均线向上, 表示该股票的30日均线趋势向上,说明该股票的长期趋势是上涨的。
选股逻辑分析
- 今日增仓占比>5% 表明市场资金对该股票比较看好,有利于股票的上涨。
- 竞价主力净买大于0 表明主力资金对该股票比较看好,有利于股票的上涨。
- 30日平均线向上 表明该股票的长期趋势是上涨的,有利于股票的上涨。
有何风险?
- 今日增仓占比>5% 表明市场资金对该股票比较看好,但也有可能是主力资金在拉高出货。
- 竞价主力净买大于0 表明主力资金对该股票比较看好,但也有可能是主力资金在拉高出货。
- 30日平均线向上 表明该股票的长期趋势是上涨的,但也有可能是股票已经涨了很多,需要警惕回调风险。
如何优化?
- 可以加入更多技术指标来综合分析,例如MACD、RSI等。
- 可以加入股票的基本面分析,例如市盈率、市净率等。
最终的选股逻辑
- 今日增仓占比>5%, 竞价主力净买大于0, 30日平均线向上
- 结合技术指标和基本面分析,综合判断股票的上涨趋势和投资价值。
python代码参考
import pandas as pd
import talib
def get筛选条件():
# 获取所有股票的今日增仓占比数据
df = pd.read_csv('data.csv')
df['今日增仓占比'] = df['今日增仓占比'].astype(float)
df['今日增仓占比'] = df['今日增仓占比'].fillna(0)
df['今日增仓占比'] = df['今日增仓占比'] / df['流通市值']
df['今日增仓占比'] = df['今日增仓占比'].apply(lambda x: x if x > 0.05 else 0.0)
df['今日增仓占比'] = df['今日增仓占比'].rolling(window=30).mean()
# 获取所有股票的竞价主力净买数据
df = pd.read_csv('data.csv')
df['竞价主力净买'] = df['竞价主力净买'].astype(float)
df['竞价主力净买'] = df['竞价主力净买'].fillna(0)
df['竞价主力净买'] = df['竞价主力净买'] / df['流通市值']
df['竞价主力净买'] = df['竞价主力净买'].apply(lambda x: x if x > 0.001 else 0.0)
df['竞价主力净买'] = df['竞价主力净买'].rolling(window=30).mean()
# 获取所有股票的30日平均线数据
df = pd.read_csv('data.csv')
df['30日平均线'] = df['30日平均线'].astype(float)
df['30日平均线'] = df['30日平均线'].fillna(0)
df['30日平均线'] = df['30日平均线'].rolling(window=30).mean()
# 将筛选条件合并到一起
df = df.merge(df['今日增仓占比'], left_on='股票代码', right_on='股票代码')
df = df.merge(df['竞价主力净买'], left_on='股票代码', right_on='股票代码')
df = df.merge(df['30日平均线'], left_on='股票代码', right_on='股票代码')
# 返回筛选条件
return df
def get筛选结果(df):
# 获取所有股票的筛选结果
df = df[df['今日增仓占比'] > 0.05]
df = df[df['竞价主力净买'] > 0.001]
df = df[df['30日平均线'] > df['30日平均线'].rolling(window=30).mean()]
# 返回筛选结果
return df
def main():
# 获取筛选条件
df = get筛选条件()
# 获取筛选结果
df = get筛选
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
