Python:Identify and display days with closing price higher than the 30-day average.
时间: 2024-10-08 13:19:07 浏览: 16
在Python中,你可以使用pandas库来处理股票数据并计算30天平均收盘价。以下是一个简单的步骤说明:
1. 首先,你需要安装必要的库,如果还没有安装可以使用pip安装:
```bash
pip install pandas numpy pandas_datareader matplotlib
```
2. 导入所需的库:
```python
import pandas as pd
import numpy as np
from pandas_datareader import data as pdr
import datetime
```
3. 使用`pandas_datareader`获取股票数据(这里以Yahoo Finance为例):
```python
# 替换'your_ticker'为你要查询的股票代码
data = pdr.get_data_yahoo('your_ticker', start=datetime.datetime.now() - pd.DateOffset(days=365), end=datetime.date.today())
```
4. 计算30天滚动平均收盘价,并将其添加到DataFrame中:
```python
data['30_day_avg'] = data['Close'].rolling(window=30).mean()
```
5. 筛选出收盘价高于30日平均的日期:
```python
up_days = data[data['Close'] > data['30_day_avg']]['Date']
```
6. 显示这些日期:
```python
print("Closing prices were higher than 30-day average on:")
for day in up_days.tolist():
print(day)
```
这将打印出最近30天内收盘价高于30日平均的所有日期。