量化笔记_价值投资

news/2024/10/23 7:39:38/

前言

折腾量化交易的第二周,尝试按照价值投资的思想实现一个量化策略,底层运用模型为线性回归。文章的不足之处,望多多指正。

价值投资的思想原理

价值投资的底层逻辑是对处于低估期指标表现优良的资产进行买入,对已经处于高估期的优良资产进行卖出,低买高卖,实现套利。一个优秀价值投资者大多坚持:面向过去,背对未来,不做预测的投资思想。其中代表的投资者有巴菲特、芒格等,其投资策略可以分为如下几个步骤:

  • 选股:①基于基本面(如净资产、研发投入、负债、PE、PB等)选股优良发展的投资标的;②基于自身的评估方法选出其中市值被低估的公司(评估市值>平均市值)
  • 设立安全边际:即设立买点(如实际价值低于评估价值的30%时买入)、卖点(如实际价值高于于评估价值的10%时卖出)

在这里插入图片描述

  • 设立交易频率,执行设定的交易策略进行买卖,定期复盘策略适当优化改进

价值投资策略实现

这里,笔者选股上证50指数的公司股票作为优良的投资标的,基于简单的线性模型完成对上市公司的评估,并买入其中低估的投资标的,卖出相对而言高估实现一个基于线性模型实现低估值股票抓取的简单价投策略。
step1:获取上证50指数股票

 # 上证50作为股票池
stocks = get_index_stocks('000016.XSHG',date = None)

step2:根据股票各项指标对其市值进行评估

        # 获取股票代码和对应的因子数据q = query(valuation.code# 市值,valuation.market_cap# 净资产 = 总-负债,balance.total_assets-balance.total_liability# 资产负债率 取倒数,balance.total_assets/balance.total_liability# 净利润,income.net_profit# 年度收入增长,indicator.inc_revenue_year_on_year# 研发费用,balance.development_expenditure).filter(valuation.code.in_(stocks))# 数据表格化df = get_fundamentals(q,date = None)# 加表头df.columns = ['code','market_cap','na','1/DA_ratio','net_profit','growth','RD']# 模型训练df.index = df['code'].values# print(df.index)# 删除首行         df = df.drop('code',axis=1)df = df.fillna(0)X = df.drop('market_cap',axis = 1)y = df['market_cap']# 0填充表中的空值X =  X.fillna(0)y = y.fillna(0)# 线性拟合reg = LinearRegression().fit(X,y)# 模型预测值输入预测表内

step3:找出被低估的最多的10只股票

        # 模型预测值输入预测表内predict = pd.DataFrame(reg.predict(X),index = y.index,columns = ['predict_mcap'])#predict.head()predict['mcap'] = df['market_cap']diff = predict['mcap']-predict['predict_mcap']diff = pd.DataFrame(diff,index = y.index,columns=['diff'])diff = diff.sort_values(by = 'diff',ascending = True)stockset = list(diff.index[:10])

step4:执行交易

            # 执行交易    sell_list = list(context.portfolio.positions.keys())#print(sell_list)# 卖for stock in sell_list:if stock not in stockset[:g.stocknum]:stock_sell = stock# 清仓order_target_value(stock_sell,0)if len(context.portfolio.positions) <g.stocknum:num = g.stocknum - len(context.portfolio.positions)cash = context.portfolio.cash/num else:cash = 0num =0 # 买for stock in stockset[:g.stocknum]:#均仓购入if stock in sell_list:passelse:stock_buy = stockorder_target_value(stock_buy,cash)num = num -1if num == 0:break # 天数+1g.days +=1else:g.days = g.days+1

step5:模拟交易回测
在这里插入图片描述

选用2017年5-12月时期进行模拟交易,策略的年化收益率16.09%,最大回撤11.15%,该段时期的收益率为9.95%较大盘(基准收益8.02%)高出1.79%,不难看出,在17年时,利用简单的线性模型进行量化交易,也是可以跑赢大盘实现套利的


http://www.ppmy.cn/news/974815.html

相关文章

查理·芒格:分享12个顶级思维模型

网络资料整理&#xff0c;另见&#xff1a;https://blog.csdn.net/UFv59to8/article/details/79695476

学会这些思维模型,窥见查理·芒格的致胜秘笈(二)

目录 导语 模型五&#xff1a;SCQA模型 模型六&#xff1a;问题树模型 模型七&#xff1a;MECE原则 模型八&#xff1a;SWOT分析 模型九&#xff1a;波特五力模型 模型十&#xff1a;波斯顿矩阵 导语 读者朋友们好&#xff0c;在我上一篇文章介绍了几个最核心和底层的模…

产品读书《穷查理宝典:查理.芒格智慧箴言录》

要通过提升自己&#xff0c;来强化对世界的感知&#xff0c;内在的能力才能增长&#xff0c;和世界的大趋势才能互相匹配。这种匹配度提高了&#xff0c;无论你是用来投资、创业&#xff0c;还是做其他事情&#xff0c;都会无往而不利。 查理芒格在书中反复强调的4点内容有&a…

查理芒格的书单

1、《穷查理宝典》 2、《探索智慧&#xff1a;从达尔文到芒格》 3、《沃伦.巴菲特的投资组合&#xff1a;集中投资策略》 …

\t\t查理·芒格

查理芒格 查理.芒格 查理芒格&#xff08;Charles Thomas Munger&#xff0c;1924年1月1日—&#xff09;美国投资家&#xff0c; 沃伦巴菲特的黄金搭档,伯克夏哈撒韦公司的副主席 查理?芒格是沃沦巴菲特的黄金搭档&#xff0c;有“幕后智囊”和“最后的秘密武器”之称&#x…

巴菲特与搭档查理芒格手把手教你如何读财报,唯一一篇百看不厌炒股最实用文章

巴菲特与搭档查理芒格手把手教你如何读财报,唯一一篇百看不厌炒股最实用文章 来源投资快报 巴菲特和芒格是老乡,非常有缘分的是芒格和巴菲特爷爷的杂货铺只有六个街区,甚至小时候芒格还在杂货铺打过工,不过那个时候他们并不认识。芒格从小就很优秀,小小年纪就会谈判,就…

Sentinel授权规则与规则持久化

&#x1f333;&#x1f333;&#x1f333;&#x1f333;&#x1f333;&#x1f333;&#x1f333; 学习授权规则前&#xff0c;先想想SpringCloud Gateway的黑白名单&#xff0c;请求过网关&#xff0c;gateway会去鉴权。但如果有人把微服务信息泄露出去了呢&#xff1f;此时微…

碎语 二三

看了下&#xff0c;从上篇文章的4月起&#xff0c;至今已有4个月没有输出。 这期间&#xff0c;读了机械工业出版社的《linux内核设计与实现》&#xff0c;很有收获。曾尝试写点东西&#xff0c;但是内功还是欠缺&#xff0c;蹉跎半个月&#xff0c;写了五六百字&#xff0c;最…