(iwencai量化策略)按今日竞价金额排序前5_、大单净量排行、振幅大于1

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1,大单净量排行,按今日竞价金额排序前5。该选股策略综合考虑了价格波动、资金流向和市场热度等因素,能够筛选出市场活跃度高、投资热度高的股票,但相应也存在风险。

选股逻辑分析

该选股逻辑综合考虑了价格波动、资金流向和今日竞价金额等多方面因素,在综合筛选股票的同时,也考虑了市场整体情况和投资热度,能够更准确的找到潜在机会。

有何风险?

该选股逻辑只从市场热度的角度出发,未充分考虑公司基本面、行业发展等因素,选股精度可能会受到影响。同时,在市场风险较大时,选出的股票也可能面临下跌风险。

如何优化?

可以加入更多的指标和因素,如技术指标、资金流向和公司基本面等,从不同角度对股票的细节和潜在机会进行全面、精准的分析。同时,也应重视长期投资,以更深入、更全面和更长远的视野进行投资分析。

最终的选股逻辑

选股条件为:振幅大于1,大单净量排行,按今日竞价金额排序前5,并综合考虑市场整体情况、公司基本面、行业发展和市场热度等多方面因素综合评估股票的价值和风险。

同花顺指标公式代码参考

SELECT1 = (HIGH - LOW) > REF(CLOSE, 1) * 0.01;
SELECT2 = GET_JGMM(CODE, "5") > 0;

FILTER(SELECT1 AND SELECT2)
SORT_BY='五分钟竞价成交金额'
SORT_ASCEND=True
TOP(5)

Python代码参考

import pandas as pd
import numpy as np
import tushare as ts

def get_selected_stocks():
    ts.set_token('your token')
    pro = ts.pro_api()

    # 获取股票数据
    stock_data = pro.daily(ts_code='000001.SZ', start_date='20220201', end_date='20220308')
    stock_list = []

    # 进行选股
    for idx, row in stock_data.iterrows():
        # 按条件筛选:振幅大于1,大单净量排行,按今日竞价金额排序前5
        if not ((row['high'] - row['low']) > stock_data[stock_data.index == idx-1].iloc[0]['close'] * 0.01) or \
            get_jgmm(row['ts_code'], 5) <= 0:
            continue

        selected_data = {}
        selected_data['ts_code'] = row['ts_code']
        selected_data['stock_name'] = row['name']
        selected_data['stock_price'] = row['close']
        selected_data['change_rate'] = 100 * (row['close'] - row['pre_close']) / row['pre_close']
        selected_data['pct_chg'] = row['pct_chg']
        selected_data['turnover_rate'] = row['turnover_rate']
        selected_data['jgmm'] = get_jgmm(row['ts_code'], 5)
        # 可添加其他指标
        stock_list.append(selected_data)

    # 按竞价金额从大到小排序,选出前5只股票
    selected_stocks_sorted = sorted(stock_list, key=lambda x: x['jgmm'], reverse=True)[:5]

    return selected_stocks_sorted

def get_jgmm(code, count):
    df = ts.get_tick_data(code, date='2022-03-08', src='tt')
    if df is None or len(df) == 0:
        return 0
    jgmm_total = sum(df['amount'])
    return jgmm_total / count

在改进后的选股策略中加入了今日竞价金额的排序,以更全面的视角评估市场热度,提高选股精度。同时也应该进一步加入其他因素进行分析,提高选股精度和可操作性。

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

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧