简介:
专栏简介:本专栏是本人系统化学习与整理量化交易相关知识内容,而开设的专栏,并定期在里面更新文章。个人学习方法多为看视频教程、个人实践、看书等,在此基础上,持续撰写相关技术文章,进而促进个人学习,同时分享学习资源,普惠大众。
作者简介:工程师,金融、图像、电子、互联网领域多年经验,爱好涉猎广泛。
谢谢大家!!!
一、基于numpy股价统计分析实战
通过NumPy实现股价统计分析,主要从数据样本说明和常用股价指标两个方向展开,后续将进入编码环节。
1.股价统计分析
股价统计分析包含数据基本结构说明和常用指标算法介绍,具体实现将通过代码演示完成。
1) 数据样本
数据样本包含7列字段:
- 股票代码(下标0)
- 交易日期(下标1)
- 收盘价(下标2)
- 开盘价(下标3)
- 最高价(下标4)
- 最低价(下标5)
- 成交量(下标6)
- 示例数据为平安银行(代码000001)2019年初7个交易日的截取数据,交易日期字段对时间序列分析至关重要。
2) 股价常用指标
核心指标包括:
- 极差:最高价最大值与最低价最小值的差值,反映股价波动幅度
- 成交量加权平均价格(VWAP):金融资产平均价格的加权计算指标,权重为成交量
- 收益率
- 对数收益率:用于波动率计算,取对数后两点差值
- 简单收益率:即涨跌幅,本次未展开
- 波动率
- 年波动率:对数收益率标准差除以均值,按250个交易日计算
- 月波动率:算法同年波动率,样本空间为12个月
3) 测试代码
已预置基础测试用例,后续将逐步实现核心功能。
- 读取文件
使用numpy.loadtxt读取CSV文件,关键参数包括:
- fname:文件路径
- delimiter:分隔符(逗号)
- usecols:指定读取列(如收盘价、成交量)
- unpack:默认为True
- 示例代码读取第三列(收盘价)和最后一列(成交量),输出单位为元和手。
- 计算最大值与最小值
通过numpy.max和numpy.min计算最高价/最低价极值:
- 最高价对应数组下标4
- 最低价对应数组下标5
- 结果通过格式化输出显示,反映股价波动区间。
- 计算极差
极差计算采用numpy.ptp函数,分别对最高价和最低价数组求极差,结果反映平安银行股价稳定性。
- 计算成交量加权平均价格
VWAP实现步骤:
- 计算简单平均价格(numpy.average)
- 添加成交量权重参数(weights)
- 对比结果显示加权后价格( - 768)低于算术均值( - 01),中位数计算使用numpy.median函数。
- 计算方差
方差计算两种方式:
- numpy.var函数
- 数组对象内置var方法
- 计算结果一致( - 335217),为后续波动率计算提供基础。
- 计算股票收益率、年波动率及月波动率
- 对数收益率的计算需使用numpy的diff函数取差值,再取对数
- 年度波动率计算步骤
- 取标准差
- 除以均值
- 乘以250个交易日的平方根
- 月度波动率计算采用与年度波动率相同的函数结构
- 实际计算结果对比显示:年化波动率数值显著大于月度波动率,零波动率表示价格无变化
2.小结
-
股票数据样本标准字段包含:股票代码、交易日期、收盘价、开盘价、最高价、最低价、成交量
-
基础股价分析指标
涵盖:
- 均值、最大值、最小值
- 极差
- 收益率与波动率(含年度/月度波动率)
-
实践应用建议:可通过示例数据重复计算过程进行巩固练习



715

被折叠的 条评论
为什么被折叠?



