低估价值选股策略(含源代码)

低估价值选股法是一位美国传奇式的基金经理人—迈克尔.普里斯提出的。

迈克尔.普里斯的低估价值选股法基于三条原则:

  1. 股价低于资产价值,这一准则是典型的价值投资思想,即相对公司资产价值,股价处于相对低估的水平;

  2. 公司经营阶层持股越高越好,这一准则考虑的是上司公司普遍存在的委托代理问题。公司经营层持股越多,则高级管理层和股票权益持有人的利益目标就越一致,相对的,委托代理间的利益分歧就减少;

  3. 负债越少越好,这一准则考察的是公司的长期负债水平。一家运行良好的低负债公司,不仅能在当下保持健康的运作,也能在未来通过一定的举债来应对突发事件带来的冲击。

结合中国市场的实际情况,我们按如下方法进行选股:

  • 股价与每股净值比(市净率)小于2;
  • 负债比例低于市场平均值;
  • 流动资产至少是流动负债的1.2倍。

本策略运行所基于的环境:python3.8 掘金终端IDE

策略思路

  1. 在每月第一个交易日的 09:40 分定时获取全市股票;
  2. 剔除停牌股、st股、退市股和B股;
  3. 筛选市净率小于2的股票,按市净率将股票进行降序排序的前20只流动资产至少是流动负债的1.2倍,企业负债率低于市场平均值的股票;
  4. 平不在股票池的仓位,对股票池中的股票进行买入。

策略逻辑

  • 第一步:设置参数、设置定时任务
  • 第二步:每月第一个交易日定时执行algo任务,按策略思路筛选股票
  • 第三步:不在股票池的股票全部卖出,对股票池中的股票进行买入
  • 回测期:2019-01-01 08:00:00 到 2021-09-10 16:00:00
  • 回测初始资金:1000万
  • 手续费:0.0001
  • 滑点:0.0001

策略源代码

# coding=utf-8
from __future__ import print_function, absolute_import
from gm.api import *

'''
本策略采用定时任务结构(每月的第一个交易日的09:40:00执行策略algo),建立低估价值选股模型
选取市净率小于2、企业负债率低于市场平均值、流动资产至少是流动负债的1.2倍的20只股票进行买入,
对于不在被选取股票中的有持仓的股票直接平仓。
回测时间:2019-01-01 08:00:00 到 2021-09-10 16:00:00
'''

# 策略中必须有init方法
def init(context):
    # 每月的第一个交易日的09:40:00执行策略algo
    schedule(schedule_func=algo, date_rule='1m', time_rule='9:40:00')
    # 设置买入股票资金比例
    context.ratio = 0.8
    # 设置股票池的数量
    context.num = 20
    # 通过get_instruments获取所有的上市股票代码,剔除停牌股和st股
    context.stock = get_instruments(exchanges='SHSE, SZSE', sec_types=SEC_TYPE_STOCK, skip_suspended=True,
                                        skip_st=True, fields='symbol, delisted_date', df=True)

def algo(context):
    # 获取当前时间
    now = context.now.strftime("%Y-%m-%d %H:%M:%S")

    # 剔除退市股和B股
    stocks = context.stock[(context.stock['delisted_date'] > now) & (context.stock['symbol'].str[5] != '9')
                           & (context.stock['symbol'].str[5] != '2')]['symbol'].to_list()

以上仅展示部分代码,完整代码请点击下方地址获取。 

低估价值选股策略(附源码) - 掘金量化社区 - 量化交易者的交流社区掘金量化社区是量化投资者策略研讨、答疑解惑、资源共享的互动交流论坛。https://bbs.myquant.cn/topic/2396

声明:本内容首发至掘金量化公众号掘金量化社区,仅供学习、交流、演示之用,不构成任何投资建议!如需转载原创文章请联系掘金小Q(myquant2018)。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值