(iwencai选股策略)今日上涨_1主板_、竞价涨幅>-2<5、今日增仓占比_5%

用户头像神盾局量子研究部
2023-09-01 发布

问财量化选股策略逻辑

  1. 今日增仓占比>5%
  2. 竞价涨幅>-2<5
  3. 今日上涨>1主板

选股逻辑分析

该策略主要关注今日的市场表现,通过三个条件来筛选股票。首先,要求今日的增仓占比超过5%,说明市场资金对该股票的关注度较高。其次,要求竞价涨幅在-2到5之间,说明该股票在竞价阶段有较好的表现。最后,要求今日上涨超过1主板,说明该股票在主板市场的表现优于其他股票。

有何风险?

该策略主要关注的是今日的市场表现,因此可能无法准确预测未来市场走势。此外,如果市场出现大幅波动,该策略可能会出现误判,导致选出的股票表现不佳。

如何优化?

为了提高该策略的准确性和稳定性,可以考虑加入更多因素,例如历史表现、行业背景、财务数据等。同时,可以考虑使用量化交易软件来实现更高效的交易。

最终的选股逻辑

import talib

def get筛选条件():
    # 获取今日的增仓占比
    percent = talib.STOCHF(close, high, low, fastk=1, slowk=2, slowd=3, fastd=6, fastkcross=10, slowkcross=30, cross=0, n=14)
    percent = percent[-1]

    # 获取今日的竞价涨幅
    open_price = close.shift(1)
    high_price = open_price + (open_price - close) * 0.05
    low_price = open_price - (open_price - close) * 0.05
    gain = high_price - open_price
    loss = open_price - low_price
    gain = gain.where(gain > 0, 0)
    loss = loss.where(loss > 0, 0)
    gain = gain.where(gain < 0, 0)
    loss = loss.where(loss < 0, 0)
    gain = gain.where(gain == 0, 0.001)
    loss = loss.where(loss == 0, 0.001)
    price_change = gain / loss
    price_change = price_change.where(price_change > 0, 0)
    price_change = price_change.where(price_change < 0, 0)
    price_change = price_change.where(price_change == 0, 0.001)
    price_change = price_change.resample('D').last().ffill()

    # 获取今日的上涨情况
    is_up = close > open
    is_up = is_up.where(is_up == 0, 0.5)

    # 将三个条件组合在一起
    return percent, price_change, is_up

def get筛选结果():
    # 获取所有股票的筛选条件
    percent, price_change, is_up = get筛选条件()

    # 将筛选条件转换为数值
    percent = percent.values
    price_change = price_change.values
    is_up = is_up.values

    # 获取所有股票的代码和数量
    codes = stock_info['code']
    n = len(codes)

    # 初始化筛选结果
    result = pd.DataFrame(index=codes)

    # 计算每个股票的综合得分
    score = (percent * 0.3 + price_change * 0.3 + is_up * 0.4).values

    # 将综合得分转换为二进制
    result['score'] = (score > 0.5).astype(int)

    # 返回筛选结果
    return result

def get_stock_info():
    # 获取所有股票的基本信息
    codes = stock_info['code']
    data = yf.download(codes, start='2021-01-01', end='2021-12-31')
    data = data.dropna()
    data = data[['open', 'high', 'low', 'close']]
    data = data.rename(columns={'open': 'open_price', 'high': 'high_price', 'low': 'low_price', 'close': 'close_price'})
    data = data.set_index('code')
    return data

python代码参考

import talib
import yf
import pandas as pd

# 获取所有股票的基本信息
stock_info = yf.download('000300.XSHG', start='2021-01-01', end='2021-12-31')
stock_info = stock_info.dropna()
stock_info = stock_info[['open', 'high', 'low', 'close']]
stock_info = stock_info.rename(columns={'open': 'open_price', 'high': 'high

## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

select_sentence = '市值小于100亿' #选股语句。

模板如何使用?

点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


## 如果有任何问题请添加 下方的二维码进群提问。
![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论