个股和股票池的beta系数的估算
个股的beta系数的估算
代码
def test_gg_beta(symbol='000895.sz', start='2018-01-01',plot_price=True,align_to='gg',plot_k=True,):'''align_to: str, ['gg', 'dp'], 数据对齐的方式'gg': 表示对齐到个股, 改变大盘的数据, 以对齐到个股上'dp': 表示对齐到大盘, 改变个股的数据, 以对齐到大盘上>>> symbol='000895.sz'>>> start='2018-01-01'>>> beta, df = test_gg_beta(align_to='gg', plot_k=False)>>> beta2, df2 = test_gg_beta(align_to='dp', plot_k=False)>>> beta, df, plots = test_gg_beta('000933.sz')>>> beta, df = test_gg_beta('000933.sz', plot_price=False, plot_k=False)结果是: 0.83(双汇发展 @ 2018年)1.64(神火股份 @ 2018年)''' _date = datetime.datetime.now().date().isoformat()title='QC图件: 用于计算个股的Beta系数(DP:399317) \n 制作日期: {}'.format(_date)c=Context(symbol)stk = Stock(c,start)stk.grab_data_from_tdxhq()stk.qfq()stk.grab_index_from_tdxhq()stk.indicator()# 个股通常会有停牌的时候, 所以需要对齐# 比如以个股为准, 把大盘对齐到个股是时间戳里: # 将大盘的收盘线, 插入到个股的ohlc数据框里(用assign方法)if align_to == 'gg':f = stk.ohlc.close[0] / stk.aindex.close[0]df=stk.ohlc.assign(dp=stk.aindex.close * f)df=df.loc[:, ['close', 'dp']]beta = ttr.estimateBeta(df.close, df.dp)title += '\n{:s}({:s})的Beta系数: {:.4f}(数据对齐到个股)'.format(stk.context.name,stk.context.code, beta) if plot_price: plt.figure()df.plot(title=title)elif align_to == 'dp':f = stk.aindex.close[0] / stk.ohlc.close[0]df2 = stk.aindex.assign(gg=stk.ohlc.close * f)df2 = df2.loc[:, ['close', 'gg']]df2 = df2.fillna(method='ffill') # 向未来填充 (用老数据向下填充)beta2 = ttr.estimateBeta(df2.gg, df2.close)title += '\n{:s}({:s})的Beta系数: {:.4f}(数据对齐到大盘)'.format(stk.context.name,stk.context.code, beta2) if plot_price: plt.figure()df2.plot(title=title)if plot_k:
# fig,ax = plt.subplots(1,1)#stk.mycandlestick_ohlc(ax, [20,60])#stk.mycandlestick_ohlc(ax, with_raw_quotes=True)
# stk.mycandlestick_ohlc(ax, with_raw_quotes=False)subset = slice(-120*3,None) # '2017-07' '2017'subset = Noneplots = pl.Plotter(stk.context, stk, subset) #plot stk data
# plots.plot_candle_only( 'lday')plots.plot_candle_vol('lday')#plots.plot_candle_vol('lday', savefig=True)if align_to=='gg':return beta, dfelse:return beta2, df2
结果图
结论
用276天大盘交易日(同期个股是271个交易日)的数据, 采用两种方法, 得到的beta值为:
0.833 vs 0.830
非常接近.
小于1的beta, 揭示了该股在大盘下跌阶段的优异表现.
股票池的beta
代码
def study_block_beta(subset=(8,18,1),show=False):'''>>> beta, res = study_block_beta()>>> beta, res = study_block_beta(show=True)'''syms_, syms = read_zxg(subset)betas, names, codes=[],[],[]for enum, sym in enumerate(syms):stk=load_data(sym)sname = stk.context.namecode = stk.context.code names.append(sname)codes.append(code)pw=sname_print_width(sname)sdt = str(stk.sdt)[:10]edt = str(stk.edt)[:10]prompt = 'loaded data: {:<{pw}} {} {} {}'.format(sname, code, sdt, edt,pw=pw)print(prompt)beta=ttr.estimateBeta(stk.ohlc.close, stk.aindex.close)betas.append(beta)if show:#make plotclose = stk.ohlc.closeclose = close/close[0] * 10.0#if not isinstance(fig, plt.Figure):if enum==0:fig=plt.figure(); type(fig)aindex = stk.aindex.close/stk.aindex.close[0] * 10.ax = aindex.plot(label='国证A指', lw=4, logy=True, ) #use_index=)close.plot(axes=ax, label=sname, logy=True,)else:if enum< len(syms) - 1:close.plot(axes=ax, label=sname,logy=True,)else:close.plot(axes=ax, label=sname,logy=True, title='池子里的收盘线')ax.legend()resS = '{} {:8} {:6} {:6} \n'.format('Num','name', 'code', 'Beta')resS += '-' * 33 + '\n'for i in range(len(names)):pw=sname_print_width(names[i])resS += '{:3d} {:{pw}} {} {:.3f} \n'.format(i, names[i], codes[i], betas[i], pw=pw)print( resS)return betas, resS
结果:
Num name code Beta
0 深圳燃气 601139 0.732
1 分众传媒 002027 1.392
2 海康威视 002415 1.378
3 双汇发展 000895 0.839
4 柳 工 000528 1.336
5 上海银行 601229 0.561
6 华兰生物 002007 0.880
7 兖州煤业 600188 1.251
8 云铝股份 000807 1.586
9 神火股份 000933 1.627
300个交易日: 2017-11-28 -- 2019-02-22 时间段的数据:
520个交易日: 2017-01-03 -- 2019-02-22 时间段的数据:
转载于:https://www.cnblogs.com/duan-qs/p/10424497.html
个股和股票池的beta系数的估算相关推荐
- 每日涨停个股增量加入股票池,持续跟踪走势!股票量化分析工具QTYX-V2.6.5
功能概述 目前A股市场的股票每天是有限制最大涨幅的,也就是涨停的概念.比如主板个股最大涨幅是10%,创业板个股最大涨幅是20%等. 对于个股而言并不是随随便便就能被推到涨停板的.或是因为股票发生了重大 ...
- 微信号名称乱码什么情况_换手率数据透露一强烈信号;微组合保持谨慎;新基建股票池跌多涨少情况不佳……...
新微组合 (鱼有100种吃法,这里只是其中一种) 选股标准: 一.当日换手率20%~5%的个股(部分可放宽至4%):二.符合EXP指标买入条件的个股:三.数量限制为3只. 选股逻辑: 长期实践表明,根 ...
- python 大智慧股池_跟我从零开始学会大智慧股票池自动交易
自从上次发表关于自动交易系列教程后,很多朋友对自动交易产生了极大兴趣,然而还有很多朋友因为没接触过股票池和自动交易,相对比较陌生,希望我能从更简单详细的角度来让刚接触的朋友更快的掌握股票自动交易的方法 ...
- python 大智慧股池_自设股票池(擒牛) 大智慧股票池
量价推动(水涨船高的原理) --自设股票池(擒牛) 各位大智慧的投资朋友,鉴于目前市场震荡,行情以游资为首敢死队成为市场中的靓点. 那么游资的操作手法,快.准.狠,从布局,到拉升,时间短,扫单的速度很 ...
- python 大智慧股池_如何删除大智慧系统股票池以及运行自添加的股票池
打开软件目录下的userdata文件夹, 打开POOL文件夹,把你要自动启动的股票池文件,后缀为XML的, 复制到poolsys文件夹下 然后在poolsys文件夹下用记事本打开SYSPOOL文件, ...
- 高速版双底形态选股关联自选股票池!股票量化分析工具QTYX-V2.3.4
前言 本期我们介绍下,如何把高速版双底形态选股筛选出来的股票导入到自选股票中,这样就能把量化分析的那些好用的功能结合起来一起使用了. 我们先来回顾下QTYX设计的整体选股框架!框架结构图如下所示,详细 ...
- 通达信 移动平均算法_通达信组合指标,如何使用股票池进行自动交易?实现程序化交易...
除了使用股票池自动交易外,也可以使用预警指标公式自动下单或者图表自动交易来实现股票程序化交易.这一节先介绍利用股票池来实现自动化交易和实现股票程序化交易. 股票池自动交易图文 1.绑定 order.d ...
- python 大智慧股池_大智慧专业版股票池
大智慧专业版股票池(分类:股票软件下载)大智慧专业版股票池是国内最权威,最专业,操作最便捷的一款精英型炒股软件. 大智慧专业版股票池的特点: 1.大智慧专业版股票池包含深度机构版.机构版.专业版等. ...
- 8.20 新股票池操作建议(ZZ)
8.20 新股票池操作建议(ZZ)[@more@] 一.价值型(属于低估类,适合中线投资) 600056中技贸易 推荐价7.90 现价16.90目标价调高到20.涨停报收,再创新高.空间打开.业绩支持 ...
- 8.26新股票池操作建议(ZZ)
8.26新股票池操作建议[@more@]一.价值型(属于低估类,适合中线投资) 600056中技贸易 推荐价7.90 现价16.78目标价20小幅下跌,跌破五日线.连续上涨后获利回吐,关注10日线支持 ...
最新文章
- 如何以战斗为基础驱动玩家追求更多角色(一)
- EC20模组使用MQTT库对接EMQX,基于STM32F407
- phpcmsV9视频模块开发——盛大游戏通行证注册与密码找回
- 非线性降维-核主成分分析KPCA
- 【Kafka】kafka This may indicate that authentication failed due to invalid credentials
- 数据质量管理的核心要素和技术原则
- Android studio中常用快捷键
- 单例模式(懒汉模式)
- 通过在群晖上安装虚拟机,实现群晖与115网盘的双向同步
- 使用 TF-IDF 算法将文本向量化
- 凑个热闹 谈谈网红沈大师
- 对全文检索引擎xapian的学习(一)---索引
- 2021年危险化学品经营单位主要负责人考试内容及危险化学品经营单位主要负责人考试资料
- 【Python】定时获取卫星地球图像作为电脑壁纸
- 浅析Web表单美化CSS框架Topcoat
- linux下编译安装ntfs,内核编译安装 (用NTFS模块)
- ai作文批改_AI批改作文到底靠不靠谱
- 关于活动开始时间大于结束时间的验证
- 百度网盘安装权限限制
- 忘记无线服务器密码怎么查,wifi密码忘记了要怎么查看?
热门文章
- python读取手机通讯录_python爬取通讯录
- android手机 联系人迁移,有什么软件能快速将手机通讯录的联系人传到另一个手机上...
- 禅定是否一定要打坐,为什么?
- 2020 Q4营收环比增长27.5%,前程无忧找回增长节奏
- git恢复已删除的本地分支
- android socket 丢包,socket timeout exception和常见网络丢包情况
- 可计算性理论与复杂性介绍
- JSP常用内置对象方法
- 组策略设置桌面显示计算机图标,计算机组策略应用设置大全
- Airprint across subnets(2)