股票高频数据(分钟数据)的入门分析方法

您所在的位置:网站首页 市场波动率计算公式 股票高频数据(分钟数据)的入门分析方法

股票高频数据(分钟数据)的入门分析方法

2023-05-31 03:07| 来源: 网络整理| 查看: 265

本文摘要

本文叙述了对股票市场高频数据分析一个简单方法,即已实现波动率的计算和后续的相关研究。 采用上证综指2019年至2021年3年间实时交易价格的每分钟数据,在已实现方差法下计算了各抽样频率下上证综指日已实现波动率的数值(Realized Volatility,以下简称RV),分析了上证综指在不同抽样频率下计算得到的RV之间的统计特征与关联。

研究背景

波动率的种类多种多样,如历史波动率、实际波动率,隐含波动率等等,在诸多的形形色色的波动率种类中,有一种波动率独树一帜,其以可以准确描绘股市微观结构,充分反映股市波动信息而备受关注,即已实现波动率(Realized Volatility),其由Merton(1980)基于日内高频数据提出这一全新的概念。已实现波动率是由日内高频数据计算得出的,在充分利用了日内交易信息的同时,包含了日内收益率变化的全部信息,因此在理论上可以使波动率的估计更加准确。

已实现波动率的计算 什么是已实现波动率

已实现波动率衡量的是股票价格在一天内波动的剧烈情况

计算原理

本文的计算RV的方法如下:对于第 t t t个交易日,整个交易时间段记为[0,1],将其分成 n = 1 / Δ n=1/\Delta n=1/Δ( Δ \Delta Δ为采样频率)个子区间,RV 被定义为该日所有高频收益率的平方和: R V t = ∑ i = 1 1 / Δ r t , i 2 RV_t=\sum_{i=1}^{1/\Delta }r_{t,i}^2 RVt​=∑i=11/Δ​rt,i2​ 其中 r t , i r_{t,i} rt,i​是第 t t t天第 i i i个交易间隔内的对数收益率,按照以下公式计算: r , i = l n P t , i − l n P t , i − 1 r_{,i}=lnP_{t,i}-lnP_{t,i-1} r,i​=lnPt,i​−lnPt,i−1​ 式中, P t , i P_{t,i} Pt,i​为上证指数在 𝑡 𝑡 t日 𝑖 𝑖 i时刻的收盘价, P t , i − 1 P_{t,i-1} Pt,i−1​为上证指数在 𝑡 𝑡 t日 𝑖 𝑖 i时刻的前一个时刻的收盘价, 𝑡 𝑡 t取样本中交易日。

代码实现

首先要导入使用的相关包

# -*- coding: utf-8 -*- """ Created on Thu Apr 21 19:59:23 2022 @author: Tang @e-mail: [email protected] """ import pandas as pd import numpy as np import matplotlib.pylab as plt import math

读入原始高频数据数据(本文使用的高频数据原始数据见作者上传的下载文件包)

#读入excel文件 filepath1 = r"C:\Users\admin\Desktop\上证综指\2019.xlsx" df1 = pd.read_excel(filepath1) filepath2 = r"C:\Users\admin\Desktop\上证综指\2020.xlsx" df2 = pd.read_excel(filepath2) filepath3 = r"C:\Users\admin\Desktop\上证综指\2021.xlsx" df3 = pd.read_excel(filepath3)

将读到的三个数据文件整合到一起,同时由于上证综合指数高频数据不是一般股票交易数据,其交易时间从9点到下午3点半之间都有,而且是不规则的,这里还需要对9点半和下午3点后的数据去除,中午休市的时候价格不变动,因此不影响计算结果。 去除方法是引入“时间戳”。

#合并3年数据 df=pd.concat([df1,df2,df3]) #改写列名 new_col = ['date', 'time' ,'close'] df.columns = new_col #引入时间数据 df['time'] = pd.to_datetime(df['time']) #清洗数据 df=df[(df['time'] >=pd.to_datetime('09:30:00')) & (df['time']


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3