python股票统计分析实践:创建股票统计指标的excel文件,数据量不能太少,做如下分析 (1)计算成交量加权平均价格 (2)计算最大值和最小值 (3)计算极差 (4)计算中位数 (5)计算方差 计算股票年波动率以及月波动率
时间: 2023-10-08 22:05:54 浏览: 87
基于Python实现成交量的股票数据分析系统【100010993】
5星 · 资源好评率100%
好的,我来为您讲解如何实现这些统计分析。
首先,需要使用pandas模块读取数据,可以使用read_csv函数,例如:
```python
import pandas as pd
df = pd.read_csv('stock_data.csv')
```
其中,'stock_data.csv'是股票数据的文件名,需要根据实际情况进行修改。
接下来,需要计算成交量加权平均价格,可以使用如下代码:
```python
weighted_price = (df['close'] * df['volume']).sum() / df['volume'].sum()
```
其中,'close'是收盘价列,'volume'是成交量列。
然后,需要计算最大值和最小值,可以使用max和min函数,例如:
```python
max_price = df['close'].max()
min_price = df['close'].min()
```
接着,需要计算极差和中位数,可以使用ptp和median函数,例如:
```python
range_price = df['close'].ptp()
median_price = df['close'].median()
```
最后,需要计算方差,可以使用var函数,例如:
```python
var_price = df['close'].var()
```
接下来,需要计算股票年波动率和月波动率,可以使用如下代码:
```python
import numpy as np
# 计算日收益率
df['return'] = df['close'].pct_change()
# 计算年波动率
annual_volatility = np.sqrt(252) * df['return'].std()
# 计算月波动率
monthly_volatility = np.sqrt(12) * df['return'].std()
```
其中,sqrt函数是计算平方根,252和12分别是一年和一个月的交易日数量。
最后,将上述统计指标写入excel文件,可以使用pandas的to_excel函数,例如:
```python
writer = pd.ExcelWriter('stock_statistics.xlsx')
pd.DataFrame({'weighted_price': [weighted_price]}).to_excel(writer, sheet_name='Sheet1', index=False)
pd.DataFrame({'max_price': [max_price], 'min_price': [min_price], 'range_price': [range_price], 'median_price': [median_price], 'var_price': [var_price]}).to_excel(writer, sheet_name='Sheet2', index=False)
pd.DataFrame({'annual_volatility': [annual_volatility], 'monthly_volatility': [monthly_volatility]}).to_excel(writer, sheet_name='Sheet3', index=False)
writer.save()
```
其中,'stock_statistics.xlsx'是存储统计指标的excel文件名,需要根据实际情况进行修改。Sheet1、Sheet2、Sheet3是分别存储成交量加权平均价格、最大值和最小值、股票年波动率以及月波动率的工作表名,可以根据需要进行修改。
阅读全文