如何计算股票价格

2024-04-30 02:46:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在计算从高点回落(百分比变化)。不一定是从高点到今天,而是百分比从高点到高点之后的最低点。在

我的空白是,我不知道从哪里开始寻找股票的最低点,在股票的最高点之后。我可以找到每只股票的最高点,但是我该如何删减这个列,使它只有在这个高点之后的股票价格?在

import numpy as np
import pandas as pd
import datetime as dt
import pandas.io.data as web

stocks = ['AAPL', 'NFLX', 'MSFT', 'MCD', 'DIS']
start = dt.datetime(2015, 1, 1)
end = dt.datetime.today()

df = web.DataReader(stocks, 'yahoo', start, end)
df = df['Close']
dfMax = df.max()

从这里,我有5列,每只股票一列,以及每天的后续价格。我被难住了。。。在


Tags: importwebpandasdfdatetimeasdtstart
1条回答
网友
1楼 · 发布于 2024-04-30 02:46:36

首先,你需要使用调整收盘价,这样你就可以准确地衡量每日回报(也就是说,这样你的业绩就不会受到拆分和分红的影响)。在

要计算正向最小值(即最近的最高点之后的最低点),对按相反顺序排序的价格执行cummin,然后再次反转:df[::-1].cummin()[::-1]。在

从累计最高价格的回落是1减去这个远期最低价格与累计最高价格的比率:1 - df[::-1].cummin()[::-1] / df.cummax()

df = web.DataReader(stocks, 'yahoo', start, end)['Adj Close']

df_pullback = 1 - df[::-1].cummin()[::-1] / df.cummax()
df_pullback.plot()

enter image description here

相关问题 更多 >