狗狗币历史价格走势分析:从2014年到2021年

狗狗币(Dogecoin)是世界上用户数量仅次于比特币的第二大虚拟货币。本文利用给定的狗狗币2014年9月17日至2021年3月1日的历史价格表DOGE-USD.csv,对该期间的价格走势进行分析。

1. 数据读取与预处理

import pandas as pd
import matplotlib.pyplot as plt
import math

df = pd.read_csv('DOGE-USD.csv')
print(df.dtypes)

输出结果:

Date       object
Open      float64
High      float64
Low       float64
Close     float64
Volume    float64
dtype: object

可以看出,日期字段并没有自动读取为日期类型,需要进行转换:

df['Date'] = pd.to_datetime(df['Date'])

接下来检查数据中是否存在缺失值,并进行填充:

# 检查缺失值
print(df.isnull().sum())

# 输出缺失值日期
print(df[df.isnull().any(axis=1)]['Date'])

# 前向填充缺失值
df = df.fillna(method='ffill')

输出结果:

Date      0
Open      1
High      1
Low       1
Close     1
Volume    1
dtype: int64

157    2015-04-05
Name: Date, dtype: datetime64[ns]

可以看出,数据中存在1个缺失值,缺失日期为2015-04-05。使用前一交易日的数据进行填充。

2. 价格最高值与最低值

# 输出最高值与最低值及其日期
print('最高价:', df['High'].max(), '日期:', df[df['High'] == df['High'].max()]['Date'].values[0])
print('最低价:', df['Low'].min(), '日期:', df[df['Low'] == df['Low'].min()]['Date'].values[0])

输出结果:

最高价: 0.088104 日期: 2021-02-08T00:00:00.000000000
最低价: 0.000086 日期: 2015-05-06T00:00:00.000000000

3. 价格走势图

# 画出每天最高价格的折线图
plt.plot(df['Date'], df['High'])
plt.xlabel('Date')
plt.ylabel('Highest Price')
plt.title('Dogecoin Daily Highest Price')
plt.show()

4. 成交量走势图

fig, axs = plt.subplots(2, 1, figsize=(12, 8))

# 原始成交量折线图
axs[0].plot(df['Date'], df['Volume'])
axs[0].set_xlabel('Date')
axs[0].set_ylabel('Volume')
axs[0].set_title('Dogecoin Daily Trading Volume')

# 对数成交量折线图
axs[1].plot(df['Date'], df['Volume'].apply(lambda x: math.log10(x)))
axs[1].set_xlabel('Date')
axs[1].set_ylabel('log10(Volume)')
axs[1].set_title('Dogecoin Daily Trading Volume (log10 scale)')

plt.tight_layout()
plt.show()

其中,对数折线图使用了math库中的log10函数,将成交量取对数后进行绘图。

总结

通过以上分析,我们可以了解狗狗币从2014年到2021年的价格走势。需要注意的是,本文仅是对历史数据的分析,不构成投资建议。

代码示例:

import pandas as pd
import matplotlib.pyplot as plt
import math

df = pd.read_csv('DOGE-USD.csv')
df['Date'] = pd.to_datetime(df['Date'])
df = df.fillna(method='ffill')

# 输出最高值与最低值及其日期
print('最高价:', df['High'].max(), '日期:', df[df['High'] == df['High'].max()]['Date'].values[0])
print('最低价:', df['Low'].min(), '日期:', df[df['Low'] == df['Low'].min()]['Date'].values[0])

# 画出每天最高价格的折线图
plt.plot(df['Date'], df['High'])
plt.xlabel('Date')
plt.ylabel('Highest Price')
plt.title('Dogecoin Daily Highest Price')
plt.show()

# 画出成交量的折线图及对数折线图
fig, axs = plt.subplots(2, 1, figsize=(12, 8))

# 原始成交量折线图
axs[0].plot(df['Date'], df['Volume'])
axs[0].set_xlabel('Date')
axs[0].set_ylabel('Volume')
axs[0].set_title('Dogecoin Daily Trading Volume')

# 对数成交量折线图
axs[1].plot(df['Date'], df['Volume'].apply(lambda x: math.log10(x)))
axs[1].set_xlabel('Date')
axs[1].set_ylabel('log10(Volume)')
axs[1].set_title('Dogecoin Daily Trading Volume (log10 scale)')

plt.tight_layout()
plt.show()

原文地址: https://www.cveoy.top/t/topic/oXcy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录