从修订日期和预期的未来事件计算结果

时间:2018-05-28 17:01:43

标签: python pandas numpy series

我有一个严重的问题需要了解这个pandas / numpy数据帧/系列的详细信息。

我想解决的问题是我有两个指标 - MACD和AROON。

如果MACD高于零(时间t0),则AROON应该是100(t0,t1,t2等)的两倍,而MACD不会低于零(t1,t2等)。如果计数器为2且MACD持续高于零,则应生成买入信号。

def find_buy_signal(xDate, xMacd, xAroon):
    for n in range(0, len(xDate)):
        if (xMacd.shift(n).macd > 0)[n]:
            for m in range(n, len(xDate)):
                buy_signal_counter = 0
                if (xMacd.shift(m).macd > 0):
                    if (xAroon.shift(m).up == 100):
                        buy_signal_counter += 1
                        if buy_signal_counter == 2:
                            return True
                else:
                    return False
         else:
             return False   

data = read_data()
xMacd = macd(data, 10, 15, 1)    
xAroon = aroon(data, 12)
buy = find_buy_date(xMacd.index, xMacd, xAroon)
print(buy) # The result is False but should be a series

即使我知道伪代码,我也可以将两个时间帧放在一起。

以下是MACD的一些示例数据:

                    fast  hist       macd     signal          slow
Date                                                              
2018-04-08  12358.294033   0.0 -96.857954 -96.857954  12455.151987  
2018-04-15  12391.422390   0.0 -74.398098 -74.398098  12465.820488
2018-04-22  12425.867432   0.0 -54.334260 -54.334260  12480.201692
2018-04-29  12497.455100   0.0 -25.171331 -25.171331  12522.626432 
2018-05-04  12556.026829   0.0  -3.721250  -3.721250  12559.748079

这里有一些Aroon的样本数据:

             down          up
Date  
2018-04-08  83.333333    8.333333
2018-04-15  75.000000    0.000000
2018-04-22  66.666667    0.000000
2018-04-29  58.333333  100.000000

我知道我可以将两个数据帧合并为一个数据帧。

这是信号的预期结果而不是:

            macd        up
 Date
 t0      macd > 0   100.00 (counter == 1)
 t1      macd > 0    96.00
 t2      macd > 0   100.00 (counter == 2) signal

            macd        up
 Date
 t0      macd > 0   100.00 (counter == 1)
 t1      macd > 0    96.00
 t2      macd < 0   100.00 (counter == 0)

1 个答案:

答案 0 :(得分:0)

我找到的解决方案并不是我原先要求的。两个数据帧连接在一起并命名为concat。与

$mail->SMTPAuth = false;

至少我能够找到上限值为100的条目。也许我将来会找到正确的解决方案。