python 股票数据分析、绘制K线图、价格走势图、收益率计算 完整代码+数据 可直接运行
时间: 2023-09-10 22:07:57 浏览: 60
好的,以下是一个简单的股票数据分析、绘制K线图、价格走势图、收益率计算的Python代码。
首先,我们需要安装一些必要的库:
```python
pip install pandas numpy matplotlib mplfinance
```
然后,我们需要获取股票数据。这里我们以阿里巴巴(BABA)为例,使用Yahoo Finance API来获取数据:
```python
import pandas as pd
import numpy as np
import yfinance as yf
# 获取阿里巴巴(BABA)的股票数据
baba = yf.download('BABA', start='2019-01-01', end='2021-01-01')
```
接下来,我们可以对数据进行一些基本的处理和分析。例如,我们可以计算每天的涨跌幅和收盘价的移动平均值:
```python
# 计算每天的涨跌幅
baba['Daily Return'] = baba['Adj Close'].pct_change()
# 计算收盘价的5日移动平均值和30日移动平均值
baba['MA5'] = baba['Adj Close'].rolling(5).mean()
baba['MA30'] = baba['Adj Close'].rolling(30).mean()
```
然后,我们可以使用mplfinance库来绘制K线图和价格走势图:
```python
import mplfinance as mpf
# 绘制K线图
mpf.plot(baba, type='candle', mav=(5, 30), volume=True)
# 绘制价格走势图
mpf.plot(baba['Adj Close'], type='line', mav=(5, 30))
```
最后,我们可以计算收益率,并打印出来:
```python
# 计算收益率
cumulative_return = (1 + baba['Daily Return']).cumprod()
print('Cumulative Return:', cumulative_return[-1])
```
完整代码如下:
```python
import pandas as pd
import numpy as np
import yfinance as yf
import mplfinance as mpf
# 获取阿里巴巴(BABA)的股票数据
baba = yf.download('BABA', start='2019-01-01', end='2021-01-01')
# 计算每天的涨跌幅
baba['Daily Return'] = baba['Adj Close'].pct_change()
# 计算收盘价的5日移动平均值和30日移动平均值
baba['MA5'] = baba['Adj Close'].rolling(5).mean()
baba['MA30'] = baba['Adj Close'].rolling(30).mean()
# 绘制K线图
mpf.plot(baba, type='candle', mav=(5, 30), volume=True)
# 绘制价格走势图
mpf.plot(baba['Adj Close'], type='line', mav=(5, 30))
# 计算收益率
cumulative_return = (1 + baba['Daily Return']).cumprod()
print('Cumulative Return:', cumulative_return[-1])
```
这个代码可以直接运行,会输出阿里巴巴股票的K线图、价格走势图和累计收益率。当然,你也可以将代码中的阿里巴巴股票替换成其他股票,进行相应的数据分析和绘图。