股票分析python代码
时间: 2023-07-22 12:17:54 浏览: 46
以下是一个简单的股票分析Python代码示例:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 读取股票数据
df = pd.read_csv('stock_data.csv')
# 计算移动平均线
df['MA20'] = df['Close'].rolling(window=20).mean()
df['MA60'] = df['Close'].rolling(window=60).mean()
# 计算股票收益率
df['Returns'] = df['Close'].pct_change()
# 绘制股票走势图
plt.figure(figsize=(12,6))
plt.plot(df['Date'], df['Close'])
plt.plot(df['Date'], df['MA20'], label='MA20')
plt.plot(df['Date'], df['MA60'], label='MA60')
plt.legend(loc='upper left')
plt.title('Stock Price')
plt.xlabel('Date')
plt.ylabel('Price')
plt.show()
# 绘制收益率分布图
sns.distplot(df['Returns'].dropna(), bins=50, color='purple')
plt.title('Returns Distribution')
plt.xlabel('Returns')
plt.show()
# 计算收益率统计量
returns_mean = np.mean(df['Returns'])
returns_std = np.std(df['Returns'])
returns_sharpe_ratio = np.sqrt(252) * (returns_mean / returns_std)
print('Mean:', round(returns_mean, 4))
print('Standard Deviation:', round(returns_std, 4))
print('Sharpe Ratio:', round(returns_sharpe_ratio, 4))
```
这段代码使用pandas库读取股票数据,并计算了股票的移动平均线和收益率。然后,使用matplotlib库绘制了股票走势图,并使用seaborn库绘制了收益率分布图。最后,计算了收益率的统计量,包括均值、标准差和夏普比率,并将结果打印出来。这些统计量可以用来评估股票的风险和收益表现。