请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3128205 新帖:262

PEG选股HS300择时

dsajasd发表于:5 月 9 日 19:23回复(1)

PEG估值法(来自“彼得'林奇的成功投资”)

   那个谁谁谁说过:”把最复杂的变成最简单的,才是最高明的。“PEG估值法就很好的体现了这个思想。下面,给出PEG的估值原理。
一言以蔽之:计算每只股票的PEG值,并排序,取PEG值最小的前n支股票,作为待买股票即可!

PE:“市盈率TTM”
G:“净利润增长率”
PEG = PE / (G*100)

从以上公式可以看出,PE蕴含着股价的信息,PEG是一个股价相对于收益增长率的比值。直观来讲,PEG越高,代表该公司的股价有被高估的可能性,不建议买。反之,PEG越低,代表该公司的股价有被低估的可能性,考虑买入(*一般情况下,PEG越低越好)。

策略思路

step1:
   设置沪深300为初始股票池,将当日停牌的股票剔除,得到可行股票池。
step2:
   聚宽平台的取数据函数get_fundamentals可以直接取PE,G值
step3:
   对股票的PEG进行排序,取出PEG最小(且全都小于0.5)的前n只支股票,作为调仓时待买入的股票列表。
step4:
   每次调仓时,先卖后买,腾出资金。对不在待买入列表的股票,执行卖出操作。
   对在待买入列表的股票,分配资金,执行买入操作。

改良:

#通过回测选择合适的调仓间隔天数(可能会存在过拟合)#限制PEG,过滤掉收益突变的妖股(增长<0 或者 增长>200)#限制filter_PEG, 过滤掉前一年增长率大跌的品种#对需要卖出的股票设立一个缓冲池,当PEG排名跌出排名前15时才卖出此股票#双均线择时止损,当指数下降太快时空仓#pe均值止损,当整体pe偏低时,禁止止损,当pe偏高时,激活双均线止损(可能会存在一些过拟合)

择时止损使用的是双均线策略

n1 = 3n2 = 60# 取得过去多天的平均价格
   ma_hs1 = close_data['close'][-n1:].mean()            #当天平均价格ma_hs2 = close_data['close'][-n2:].mean()

    ma_hs1_pd2 = close_data['close'][-n1-1:-1].mean()    #昨天平均价格ma_hs2_pd2 = close_data['close'][-n2-1:-1].mean()if ma_hs1 > ma_hs2 and ma_hs1_pd2 <= ma_hs2_pd2:
        g.hs300_stoploss = False    # 昨天n1小于n2均线# 今日n1均线大于n2均线(10日均线上穿60日均线),正常持仓elif ma_hs1 < ma_hs2:
        g.hs300_stoploss = True        # 如果n1日均线小于n2日均线,进行止损

全部回复

0/140

量化课程

    移动端课程