700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 教你量化投资001——使用聚宽实现基于价值投资的选股

教你量化投资001——使用聚宽实现基于价值投资的选股

时间:2024-09-18 01:38:03

相关推荐

教你量化投资001——使用聚宽实现基于价值投资的选股

使用聚宽有一段时间了,目前已经略有小成。所以分享一些使用心得,帮助大家入门。

目前价值投资的理念越来越深入人心,那么如果基于安全边际与低估来选择理想的好价格股票呢。

永续年金估值模型为我们提供了一个选项,下面我们看如何实现。

首先,基于一些基本的指标来选择股票。具体的参数含义可以查询聚宽的数据字典。/help/api/help?name=Stock

from jqdata import financedf = get_fundamentals(query(valuation.code,valuation.capitalization, valuation.pcf_ratio,valuation.market_cap,#总市值valuation.pb_ratio,_operate_cash_flow,#经营活动产生的现金流量净额(元)_invest_cash_flow, #投资活动产生的现金流量净额(元)cash_flow.subtotal_invest_cash_inflow, #投资活动现金流入小计(元)cash_flow.subtotal_invest_cash_outflow,#投资活动现金流出小计(元)cash_flow.cash_and_equivalents_at_end,cash_flow.statDate).filter(valuation.pe_ratio < 50,valuation.pe_ratio >0,_operate_cash_flow>10000000,indicator.inc_operation_profit_year_on_year>=20,indicator.inc_net_profit_year_on_year >=20,valuation.pb_ratio <10,_profit_margin > 20,indicator.gross_profit_margin > 40,# 这里不能使用 in 操作, 要使用in_()函数#valuation.code.in_(['000651.XSHE','002848.XSHE','603416.XSHG','603040.XSHG','002273.XSHE', '603079.XSHG', '300673.XSHE','603605.XSHG','603585.XSHG'])), statDate='q4')df['info'] = df.apply(lambda row: get_security_info(row['code']), axis=1)df['name'] = df.apply(lambda row: row['info'].name, axis=1)df['display_name'] = df.apply(lambda row: row['info'].display_name, axis=1)df['free_cash'] = df['net_operate_cash_flow'] - df['net_invest_cash_flow']df['current_data'] = df.apply(lambda row: get_price(security=row['code'],end_date='-08-13',frequency='daily', fields=['close'],count=1).iloc[0,:]['close'], axis=1)df

然后实现估值函数。

def get_guzhi(cash, capitalization):current_cash = cash#print("自由现金流",current_cash)current_cap = capitalization#print("总股本",current_cap/10000)cash_increase_ratio = 0.1zhexian_r_ratio = 0.1yongxu_g_ratio = 0.03def get_cash_in_x_year(init_cash, cash_increase_ratio, zhexian_r_ratio, year_n):all_cash = []zhexian_cash = []for i in range(0, year_n):c = init_cash*pow(1+cash_increase_ratio, i)all_cash.append( c )zhexian_cash.append(c/pow(1+zhexian_r_ratio, i))return all_cash,zhexian_cashcash_year,zhexian_year = get_cash_in_x_year(current_cash,cash_increase_ratio,zhexian_r_ratio,10)#print( cash_year ) #print( zhexian_year,sum(zhexian_year) ) yongxu = cash_year[-1]*(1+yongxu_g_ratio)/(zhexian_r_ratio - yongxu_g_ratio)yongxu_zhexian = yongxu/pow(1+zhexian_r_ratio,10)#print(yongxu, yongxu_zhexian)guzhi = yongxu_zhexian + sum(zhexian_year)#print("估值",guzhi,guzhi/100000000,"亿元")#print("股价",guzhi/(current_cap*10000))#print("40%安全边际价格",0.6*guzhi/(current_cap*10000))#print("=====================")return guzhi/(current_cap*10000)

这样我们就可以基于的数据获得结果了。部分示例如下。

坤彩科技自由现金流 70420826.97总股本 4.68估值 164649.948052 16.46499480518 亿元股价 3.517523824675324740%安全边际价格 2.1105142948051947=====================蓝晓科技自由现金流 19622371.65总股本 2.0239375估值 458704791.81818175 4.587047918181818 亿元股价 2.266398007933455440%安全边际价格 1.3598388047600731=====================青松股份自由现金流 45427619.59总股本 3.8592估值 1061944354.0519482 10.619443540519482 亿元股价 2.751721481270595240%安全边际价格 1.6510328887623573=====================国瓷材料自由现金流 349758540.89总股本 6.42227383估值 8176173683.142856 81.76173683142855 亿元股价 12.73096398498295740%安全边际价格 7.638578390989775=====================新余国科自由现金流 26228449.82总股本 0.8估值 613132593.1948051 6.1313259319480515 亿元股价 7.66415741493506440%安全边际价格 4.598494448961038=====================

如果买入GCCL,那么到现在已经3倍收益了哦!

抛砖引玉,大家可以利用聚宽实现更多策略。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。