[QUANTAXIS量化分析]成长股内在价值投资策略

基本原理
  • 以一个十分简便的成长股估价公式计算出的数据,十分接近于一些更加复杂的数学计算所得出的结果
  • 格雷厄姆成长股内在价值公式:

    Value = Current(Normal)Earnings * (8.5 plus twice the excepted annual growth rate)
  • 可直接表示为:value = E * (8.5 + 2 * R)
  • E 表示每股收益( EPS) ,决定了公司内在价值的基准; R 表示预期收益增长率,体现了公司的未来盈利能力;数值 8.5 被格雷厄姆认为是一家预期收益增长率为 0 的公司的合理市盈率,故( 8.5+2*R) 可以被视为预期收益增长率为 R 的公司的合理市盈率。股票每股收益和其合理市盈率的乘积则直观的给出了合理的估值水平。
策略实现
  • 选取市盈率0-20的股票作为将要执行的股票,共332支
  • 初始资金100万,时间段:2017-01-01~2018-01-01
  • R 表示预期收益增长率,用线性回归拟合前n个EPS,得到EPS=a+bt,用b/整个回归时间区间的平均EPS近似为增长率
  • 选取 Value/Price 在 1 到1.2 之间的股票进入组合。
  • 最多持有十支股票,已持有的重复买入,每天排序一次
  • 运行截图:
    在这里插入图片描述
  • 8.5 倍的市盈率对于 A 股市场普遍的高市盈率来说可能偏低,调整为9后的运行截图:
    在这里插入图片描述
  • 再调整为10:
    在这里插入图片描述
代码如下
# coding: utf-8
# @author: lin
# @date: 2018/11/20


import QUANTAXIS as QA
import pandas as pd
import time
import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model


pd.set_option('max_colwidth', 5000)
pd.set_option('display.max_columns', 5000)
pd.set_option('display.max_rows', 5000)


class InherentValue:
    def __init__(self, start_time, stop_time, n_stock=10, stock_init_cash=1000000, n_EPS_before=5):
        self.Account = QA.QA_Account()  # 初始化账户
        self.Account.reset_assets(stock_init_cash)  # 初始化账户
        self.Account.account_cookie = 'inherent_value'
        self.Broker = QA.QA_BacktestBroker()
        self.time_quantum_list = ['-12-31', '-09-30', '-06-30', '-03-31']
        self.start_time = start_time
        self.stop_time = stop_time
        self.n_EPS_before = n_EPS_before
        self.n_stock = n_stock
        self.stock_pool = []
        self.data = None
        self.ind = None
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值