我正在计算从高点回落(百分比变化)。不一定是从高点到今天,而是百分比从高点到高点之后的最低点。在
我的空白是,我不知道从哪里开始寻找股票的最低点,在股票的最高点之后。我可以找到每只股票的最高点,但是我该如何删减这个列,使它只有在这个高点之后的股票价格?在
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减去这个远期最低价格与累计最高价格的比率:
1 - df[::-1].cummin()[::-1] / df.cummax()
相关问题 更多 >
编程相关推荐