繁体   English   中英

用于 Python 交易的矢量化回测

[英]Vectorized backtest for trading in Python

这是我为简洁起见编写的基本交易策略。 我有这个数据框 (df),其中我根据一组规则生成了买入和卖出信号,1=BUY 和 -1=SELL:

               High       Low     Open  ...        RSI  BUY  SELL
Date                                    ...                      
2004-03-23  1.14130  1.134500  1.13750  ...  52.666672    0     0
2004-03-24  1.14770  1.138300  1.13920  ...  60.492938    0     0
2004-03-25  1.14650  1.137500  1.14160  ...  66.771624    1     0
2004-03-26  1.15050  1.143200  1.14470  ...  71.022671    1     0
2004-03-28  1.15030  1.142500  1.14830  ...  73.762812    0     0
...             ...       ...      ...  ...        ...  ...   ...
2021-10-13  1.05969  1.053364  1.05925  ...  83.457054    1     0
2021-10-14  1.05379  1.047800  1.05374  ...  60.425191    0     0
2021-10-18  1.04691  1.041500  1.04546  ...  40.336630    0     0
2021-10-19  1.04563  1.041500  1.04448  ...  36.869262    0     0
2021-10-21  1.04649  1.041980  1.04372  ...  38.085977    0     0

[4577 rows x 10 columns]

我还为买卖创建了另外两个带有止损和获利的数据框,例如:

            BUY_PRICE        SL        TP
Date                                     
2004-03-25   1.144300  1.134860  1.163181
2004-03-26   1.146400  1.137218  1.164765
2004-11-03   1.094900  1.087874  1.108951
2004-11-04   1.094900  1.088259  1.108181
2005-01-06   1.089700  1.082070  1.104960
...               ...       ...       ...
2021-02-12   1.071930  1.065788  1.084215
2021-02-15   1.075400  1.069421  1.087358
2021-06-21   1.078509  1.073424  1.088678
2021-10-12   1.059030  1.053052  1.070986
2021-10-13   1.058897  1.052852  1.070986

[80 rows x 3 columns]

这是视觉上的示例(红点 = 卖出信号,绿点 = 买入信号,红线 = 止损,绿线 = 止盈:

在此处输入图片说明

我的问题是:在产生卖出或买入信号后,我如何编码收盘价是先触及止损还是止盈?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM