(supermind量化策略)task17/a/换手率3%-12%、外盘除内盘大于1

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

问财量化选股策略逻辑

选股逻辑为:在换手率3%到12%、外盘/内盘比例大于1.3、收益大于0的股票中选择。

选股逻辑分析

这个选股逻辑会同时考虑到流动性和收益率。相较于其他策略,这个策略同时考虑了股票达到一定的交易量和交易额之后的收益情况,能够较好地发掘出具有收益潜力的标的。

有何风险?

这个选股逻辑可能会漏选一些交易量不大但是收益率很高的股票,同时也可能会选出一些交易量很大,但收益率并不理想的股票。此外,一些外部风险,例如政策不确定性等,也可能对选股结果产生影响。

如何优化?

可以考虑增加选股逻辑,去掉时间限制条件,以便更多的股票能够被选择出来。同时,可以加入其他指标标准,如股票行业、估值等来综合评估股票的投资价值。

最终的选股逻辑

在换手率3%到12%、外盘/内盘比例大于1.3、收益大于0的股票中选择。

同花顺指标公式代码参考

以下是同花顺指标所需公式:

选股公式:
SELECT code FROM (
    SELECT code FROM STOCK_BASIC
        WHERE (outstanding+totals)*per_share>1000000000 AND CURRENT_RATIO>1 AND quick_ratio>1
    UNION ALL
    SELECT code FROM STOCKS_NEW AS a
        WHERE (a.trade_date BETWEEN '20220110' and '20220215')
            AND (exists(SELECT month_high_id FROM MONTH_HIGH AS b WHERE a.code=b.code 
                AND ((a.close-b.high)/b.high<=-0.1) AND a.trade_date=b.date))
            AND (exists(SELECT quarter_report_id FROM CQF_REPORT AS c WHERE a.code=c.code 
                AND a.trade_date=c.date))
            AND a.changepercent BETWEEN -5 AND 2
            AND a.amount BETWEEN 2000 AND 4000
    UNION ALL
    SELECT code AS code FROM STOCK_BASIC
        WHERE turnoverratio between 3 and 12 
        AND (sell_deal_num/buy_deal_num) >= 1.3
        AND (volume_ratio > 1.5) 
        AND (((amt-b_amt)-(sell_amt-b_sell_amt))/(amt+b_amt+0.01))<0 
        AND (((amt-b_amt)+(buy_amt-b_buy_amt))/(amt+b_amt+0.01))<0 
        AND (((sell_amt-b_buy_amt)-(buy_amt-b_sell_amt))/(sell_amt+b_sell_amt+0.01))<0 
        AND (((sell_vol-buy_vol)-(buy_vol-sell_vol))/(sell_vol+buy_vol+0.01))<0 
        AND netchange_ratio > 0
        AND TIME_TO_SEC(hs_time) = 34200
) AS s1
WHERE code LIKE '00%' OR code LIKE '30%' OR code LIKE '60%'

Python代码参考

import pandas as pd
from typing import List

def select_stock(data: pd.DataFrame) -> List[str]:
    selected_stocks = []

    for code, df in data.groupby(level=0):
        if (df['turnoverratio'].iloc[-1] > 3 and \
            df['turnoverratio'].iloc[-1] < 12 and \
            df['outvolume'].iloc[-1] / df['involume'].iloc[-1] > 1.3 and \
            df['netchange_ratio'].iloc[-1] > 0):
            selected_stocks.append(code)

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

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

    模板如何使用?

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


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

评论