gpt4 book ai didi

python - 如何计算股票回调

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:39 25 4
gpt4 key购买 nike

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

我空白的是,我不知道从哪里开始寻找股票最高点之后的最低点。我可以找到每只股票的最高价,但如何修剪该列,使其仅包含该最高价之后的股票价格?

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 列,每只股票一列,以及每天的后续价格。我被难住了...

最佳答案

首先,您需要使用调整收盘价,以便能够准确衡量每日返回(即,您的结果不会受到分割和股息的影响)。

要计算远期最小值(即最近最高点之后的最低点),请对按相反顺序排序的价格执行 cummin,然后再次反转:df[: :-1].cummin()[::-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

关于python - 如何计算股票回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32338484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com