首页 > 编程知识 正文

Python股票财务分析

时间:2023-11-21 11:22:07 阅读:287759 作者:BVFD

本文将介绍如何使用Python进行股票财务分析,并提供相应的代码实例

一、获取股票数据

要进行股票财务分析,首先需要获取相应的股票数据。可以使用Python的pandas库来获取股票数据。下面的代码将演示如何获取上证指数(000001.SS)的历史数据:

import pandas as pd
import yfinance as yf

df = yf.download('000001.SS', start='2010-01-01', end='2021-01-01')
print(df)

上面的代码中,通过yfinance库下载了000001.SS股票的历史数据,并将其存储在pandas DataFrame对象df中。下载的数据包括开盘价、最高价、最低价、收盘价、成交量和股票调整后的收盘价。

二、分析财务指标

获取股票数据后,我们可以使用Python的pandas和numpy库进行财务指标计算。比如,我们可以计算出股票的市盈率(PE)和市净率(PB):

import pandas as pd
import yfinance as yf
import numpy as np

df = yf.download('000001.SS', start='2010-01-01', end='2021-01-01')
df = df.dropna()

earnings = df.loc[:, 'Adj Close'].rolling(window=4).mean().fillna(method='bfill')
pe = df.loc[:, 'Adj Close'] / earnings
pb = df.loc[:, 'Adj Close'] / df.loc[:, 'Book Value']

print('PE ratio:', np.round(pe, 2))
print('PB ratio:', np.round(pb, 2))

上面的代码中,我们使用DataFrame的rolling方法计算出近4个季度的平均收益,从而计算出市盈率。市净率则是股票的市值除以所有者权益的净值。

三、绘制财务指标图表

使用Python的matplotlib库可以绘制财务指标的图表,以便更直观地观察股票的财务状况。下面的代码将绘制出上证指数的市盈率和市净率:

import pandas as pd
import yfinance as yf
import numpy as np
import matplotlib.pyplot as plt

df = yf.download('000001.SS', start='2010-01-01', end='2021-01-01')
df = df.dropna()

earnings = df.loc[:, 'Adj Close'].rolling(window=4).mean().fillna(method='bfill')
pe = df.loc[:, 'Adj Close'] / earnings
pb = df.loc[:, 'Adj Close'] / df.loc[:, 'Book Value']

fig, ax = plt.subplots()
ax.plot(df.index, pe, label='PE ratio')
ax.plot(df.index, pb, label='PB ratio')
ax.legend()
ax.set(title='Shanghai Composite Index PE and PB Ratio',
       xlabel='Date',
       ylabel='Ratio')
plt.show()

上面的代码将绘制一个包含PE比率和PB比率的折线图,并使用图例和标题使其更具可读性。

四、结论

使用Python进行股票财务分析可以更高效、准确地计算出财务指标,并通过图表更直观地呈现出来。希望读者可以在日后的股票分析中加以应用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。