如何计算股票回调

时间:2015-09-01 18:23:15

标签: python pandas dataframe

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

在我填补空白的地方,我不知道从哪里开始找到股票后股票的最高点。我可以找到每个股票的高点,但是如何修剪该列以使其仅>后的股票价格

 public List<ImportItem<T>> ProcessReportResult(CSVTable resultData, ICollection<ImportItem<T>> data, Func<T, string> keyFilter)
    {
        WriteLog("{1}{0} records found.{1}", resultData.Rows.Length, Environment.NewLine);

        //key = Order Number; value = Order ID
        var idDictionary = resultData.Rows.Select((row => row.Split(','))).ToDictionary(id => id[0], id => id[1]);

        idDictionary.ForEach(id => WriteLog("Input Id = {0} - Matching record Id = {1}", id.Key, id.Value));

        var processList = data.Where(item => idDictionary.ContainsKey(keyFilter(item.DataItem))).ToList();

        processList.ForEach(item => item.Id = idDictionary[keyFilter(item.DataItem)]);


        return processList;
    }

从这里开始,我有5列,每个库存一列,以及每天的后续价格。我很难过......

1 个答案:

答案 0 :(得分:1)

首先,您需要使用Adj Close价格,以便您可以准确地衡量每日回报(即因此您的结果不会受到拆分和股息的影响)。

要计算前向最小值(即最近一次最高值之后的最低点),请按相反顺序排序的价格执行arrayList,然后再反转:Artists

累积最高价格的回调是1减去此远期最低价格与累计最高价格的比率:cummin

df[::-1].cummin()[::-1]

enter image description here