我正在尝试在DolphinDB中重写kdb脚本。
首先让我解释一下我需要做什么。如果信号高于阈值T1,我们会在证券中建立多头头寸。我们不想在信号跌落到T1以下时立即平仓,因此给它一个缓冲:只有当信号跌落到T10以下(小于T1)时,我们才平仓。
另一方面,如果信号低于阈值T2,则我们建立一个空头头寸。仅当信号移动到T20> T2以上时,我们才平仓。
T1> T10> T20> T2。
基本上我需要以下向量:
- if signal>T1, return 1. Subsequent elements are 1 until when signal<T10;
- if signal<T2, return -1. Subsequent elements are -1 until when signal>T20;
- 0 otherwise
Run Code Online (Sandbox Code Playgroud)
以上任务的kdb脚本为:
0h^fills(-).(0N 1h)[(signal>T1;signal<T2)]^'(0N 0h)[(signal<T10;signal>T20)]
Run Code Online (Sandbox Code Playgroud)
有人在DolphinDB中重写它吗?