Как протестировать торговую стратегию с помощью фрейма данных панд? - PullRequest
0 голосов
/ 02 октября 2019

Я смотрю на реализацию основных торговых стратегий. Для моего первого я использую простой кроссовер MACD с сигнальной линией MACD. Я получил временной ряд цены акций и рассчитал MACD для этого, а затем сжал соответствующие строки в следующем фрейме данных, который содержит точки, соответствующие точкам для тестирования на истории.

Out[6]: 
            close macd_crossover_signal  pct_change
date                                               
2018-07-12   4.39                    up         NaN
2018-07-31   4.37                  down   -0.004556
2018-08-08   4.43                    up    0.013730
2018-08-15   4.26                  down   -0.038375
2018-09-18   3.62                    up   -0.150235
2018-10-08   3.61                  down   -0.002762
2018-10-12   3.96                    up    0.096953
2018-10-25   3.64                  down   -0.080808
2018-10-29   3.90                    up    0.071429
2018-11-14   3.97                  down    0.017949
2018-12-04   4.10                    up    0.032746
2018-12-21   4.03                  down   -0.017073
2018-12-31   4.19                    up    0.039702
2019-02-22   6.32                  down    0.508353
2019-03-29   7.11                    up    0.125000
2019-04-17   7.43                  down    0.045007
2019-05-14   8.09                    up    0.088829
2019-05-29   8.29                  down    0.024722
2019-06-14   8.80                    up    0.061520
2019-07-08   8.85                  down    0.005682
2019-08-16   7.66                    up   -0.134463
2019-09-25   8.57                  down    0.118799

Я пытаюсь придумать лучший способ протестировать эту стратегию? Я предполагаю, что это было бы что-то вроде высказывания «когда вы впервые столкнетесь с сигналом вверх или вниз, откройте позицию long / short и сохраните эту позицию до следующего сигнала вниз или вверх, затем выйдите из позиции» ... В этом случае это будетоткрывайте и выходите из позиции каждую строку, потому что она чередуется вверх / вниз по каждой строке, но если бы у вас было несколько подъемов подряд, я бы хотел, чтобы он поддерживал длинную позицию до следующего сигнала «вниз».

Хороший способ проверки этой очень простой стратегии может быть применен к любому методу, выбранному для генерации сигналов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...