我正在对pandas数据框上的股票市场的一些交易策略进行回溯测试,我想设定一个比输入价格低1%的跟踪止损。如果股价上涨了5%,那么后续止损也会上升5%。如果股价下跌,后续止损将不会改变。(https://www.investopedia.com/terms/t/trailingstop.asp)
我有一个表格,它显示了我进入的信号,如果价格低于尾随的止损价格,那么退出列将显示一个值1,这意味着交易被退出。在
这是我到目前为止的表格:
date price entry_signal
30/06/2018 95 0
01/07/2018 100 1
02/07/2018 103 0
03/07/2018 105 0
04/07/2018 104.50 0
05/07/2018 101 0
我想有一个专栏显示什么是在每个日期的尾随止损。当enter_signal=1时,尾随止损首次设置为2018年7月1日价格的99%,在此日期进行交易。在
当价格上涨y%时,尾随止损也将上升y%。然而,如果价格下跌,后续止损将不会改变其最后的价值。在
当价格<;=尾随止损时,交易退出,并出现1。。。在
我目前被困在没有尾随止损下降y%,如果价格也下降了y%。。。。在
期望的表格结果:
^{pr2}$表一得到:
date price trailing stop loss entry_signal
30/06/2018 95 NULL 0
01/07/2018 100 99 1
02/07/2018 103 101.97 0
03/07/2018 105 103.95 0
04/07/2018 104.50 103.455 0
05/07/2018 101 99.99 0
难题涉及
cummax
和pct_change
+clip_lower
+cumprod
只需取累计最高值的99%,并与当前价格进行比较:
相关问题 更多 >
编程相关推荐