使用Elasticsearch计算布林带宽度指标

本文介绍如何利用Elasticsearch计算股票型基金的布林带宽度,以工银高端制造股票基金为例,展示从数据收集到计算波动率指标的完整过程,通过布林带宽度评估基金波动性。
摘要由CSDN通过智能技术生成

布林带宽度(Bollinger Band Width)是美国股市分析家约翰·布林于2010年发明,用于测量布林带(Bollinger Bands于1980年发明)上下轨道线之间的相对距离。它随带宽变窄而减小,而随着带宽放宽而增加。因为布林带基于标准差,所以带宽的波动幅度可以反映波动性,并且可视为波动率指标。布林带由三条不同的线组成,包括简单移动平均线及正负距离两个标准差的上下轨道线。可为日常股票交易决策提供参考依据,是金融市场常用的技术指标之一。

要計算布林带宽度,第一步要先計算布林带,计算方法如下:

在这里插入图片描述

在公式中:

  • p = 价格

  • window = 移动平均线涉及的滑动窗口(通常为20或26)

  • SMA = 使用简单模型的移动平均值

  • SD = 標準差

  • n = 数字(通常为2,即2倍標準差)

  • BBU =布林带上轨道线

  • BBL = 布林带下轨道线

  • BBW = 布林带宽

    一般来说,布林带指标常用于股票市场,在本文中,我们尝试将其用于股票型公募基金,以复权单位净值代替价格。 并且使用Elasticsearch作为分析的计算工具。以下示例使用基金名称工银高端制造股票基金,代码为000793.OF,日期从2021年01月01日到2021年04月30日的数据。假設我们的 Elasticsearch 服务器有一个索引,包括三个字段,基金代码(ts_code)、复权单位净值(adj_nav)和公告截止日期(end_date)。数据映射如下:

"mappings": {
	"dynamic": "false",
	"properties": {
    	"ts_code": { "type": "keyword" },
        "adj_nav": { "type": "double" },
        "end_date": { "type": "date",  "format": "yyyyMMdd" }
    }
}

以下步骤说明操作流程,同时演示REST API请求主体的代码:

  1. 通过搜索操作收集所有相关文档:
    使用带有必要条件(must)子句的布林查询(bool query)来收集基金代码为000793.OF,和公告截止日期从2020年12月01日到2021年04月30日的文档。 由于需要计算移动平均值,因此多增加了前一个月的数据(从2020年12月01日到2020年12月31日)。
{
	"query":{
		"bool":{
			"must": [
				{"range":{"end_date":{"gte":"20201201", "lte":"20210430"}}},
		    	{"term": {"ts_code":"000793.OF"}}
			]
		}
	},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值