年化89.09%,夏普2.29,"质好价低"的股票——分红高、估值低、价格低、市值小。附策略代码和数据下载

原创内容第1105篇,专注AGI+,AGI量化投资、个人成长与财富自由。

此情可待成追忆,只是当时已惘然。

去年今日此门中,人面桃花相映红。

人面不知何处去,桃花依旧笑春风。

昨天我们分享的”小市值“股票的系统代码和策略:
年化54.08%,夏普1.73:小市值策略,沪深300成份股(系统和策略代码已发布)
今天咱们多加几个基本面的因子。
1、剔除上市不足250天的股票
2、剔除名称中包含"ST"、"*"、"退"的股票
3、股息率筛选(前25%),我们选中的都是愿意真金白银分红给股东的优质公司
4、仅有高分红还不够,我们还需要公司具备良好的盈利能力:
  • PE_TTM > 0:市盈率为正,说明公司盈利
  • 净利润同比增长率 > 0:说明公司在成长(dt_netprofit_yoy 归属母公司股东的净利润-扣除非经常损益同比增长率(%)

5、PEG筛选(0 < PEG < 3)

PEG指标是彼得·林奇最推崇的估值指标,公式为:PEG = PE / 净利润增长率

  • PEG < 1:表示股票被低估
  • PEG ≈ 1:表示估值合理
  • PEG > 1:表示股票被高估

我们选择PEG在0到3之间的股票,既排除估值过高的股票,也保留一定的成长性。

6、价格筛选(2元 ≤ 价格 ≤ 9元)

7、按总市值从小到大排序,先前10支。

我们先补充财务数据:

在”策略集“下提供了数据获取脚本:
有了数据之后,我们来计算这个”复杂“的多因子逻辑:
def get_column(col):    value = df.pivot_table(index='date',values=col,columns='symbol')    return value
close = get_column('close')real_close = get_column('real_close')peg = get_column('peg')dt_netprofit_yoy = get_column('dt_netprofit_yoy')total_mv = get_column('total_mv')
real_close_condition = (real_close>=2) & (real_close<=9)peg_condition = (peg>0)&(peg<3)pe_condition = get_column('pe_ttm') > 0dt_netprofit_yoy_condition = dt_netprofit_yoy>0signal = real_close_condition&peg_condition&pe_condition&dt_netprofit_yoy_conditionsignal
策略如下:
代码和数据已经提交到课程,请前往下载(文末二维码):
吾日三省吾身
在一个快速变化,不确定的时代,人生规划显得非常难。
很多职业,岗位,角色三年前没有,三年后也没有。
你会有什么样的际遇,不好说。
那只能随波逐流吗?当然不是。
长期主义的,像我们之前分享过的《拿铁因素》:
“先投资自己,让账户自动运转,从现在起,富有地生活。”
按我们人生计划之"ABCZ",这里就完成了Z计划的布局。这个布局越早就好。就算按部就班,也能“慢慢变富”的人生布局。
这样就可以从从容容面对不确定性。
还有,B计划,就算没有真正去开展一个计划,但有这个意识,在当下就业环境,超级个体和一人企业的能力,尤为重要。
今天重读《斯坦福人生设计课》。
人生确实不是“长期规划”,然后坚定执行的。而是“精益式“的。
但你还得有一个目标:喜欢、热爱、擅长且有价值(意义感)。
比如——”用科技去理解复杂的世界“。
”奥德赛计划“——人生的三个版本。
往前看五年,第一个版本是正在做的事情的延续。比如AGI+去理解金融,或者宏观经济。
第二个版本,假如你现在做的事情,都不能做的。这确实是个比较”悲观“的假设,但有时候,做一些这样的假设能帮助你打开思维。
第三个版本,如果没有约束,你财富自由,时间自由,身体健康,你会想做什么?——这个版本比较有意思,做事不用考虑赚钱,纯粹就是喜欢。现在想来——也许不一定对——传道授业,比如做讲师,培训师,交流,分享。谈更宏观的事情。
一些苗头和一些迹象,表明一种可能性。
有些事情,需要从长计议,需要早做准备。
B和Z可以自主掌控,C计划要立起来,六年计划不变,加油!