本篇简单讨论:假设获得了交易数据,如何构造数据,并使用建模方法评估交易信号的好坏。
内容 1 场景假设随着时间轴前进,我们会“看见”一些机会
从信息的处理上,既有时间的,也有空间的,但是我们可以认为是这样一个顺序:
- 1 选定了一个观察点。这个即是建模假设的时空点,所有数据的获取不可以越过这个点。(不可使用“未来”数据或“不可见”数据)
- 2 先将时间维度的信息提取到观察点空间 ,时间特征“压扁”为空间特征
- 3 在观察点空间构建空间特征,然后基于这些特征进行决策
- 4 移动到下一个观察点循环这个过程
通过一对信号规则来生成候选交易
既然是交易,就一定有入场和退场的时机,这个时机就是信号。所以信号分为买入信号和卖出信号,成对使用。不同于一般建模的地方是:建模的数据集有无限可能,完全由你来生成。
候选交易的数据决定了建模的基础。
有一种情况是,当你的信号质量不高,就有可能导致候选集中存在大量的随机噪声(白噪声),从而导致模型无法提升交易的水平。
当然,候选交易的信号有时候是比较简单的指标,有时候是由模型生成的复杂指标。
3 建立模型在确定了候选交易数据后,就要着手建立模型。模型的作用是什么?
更精准的区分优质交易,提供更好的获胜区间。假设候选数据集的真实胜率是10%,模型性能理想的化我们可以找到30%的获胜区间。
关于真实胜率我是这么理解的,赢钱和亏钱就像扔硬币,随机的赢率也是50%。在现实中由于摩擦成本的存在,赢率应该天然的就低于50%。
所以真实的赢单(假设策略的持仓都是数天到数十天的),例如我们以获利5%或者10%为例,那么可以视为真实赢单。通常情况这种目标率不会高于10%。
当然,还有一种玩法是提高赢单率。简单的我觉得可以理解为,原始策略都是等到硬币落地分出胜负,然而我们可以不必等到硬币落地,在抛出一会之后就可以收割。原来的做法比较重(赢的大,但是赢率不高),而这种做法比较轻(赢的小,但是赢率高)。
3.1 无监督模型进一步将数据分为几块,或许可以站在更好的基础上建模。
如果数据量足够,我们还可以对数据进行无监督学习。无监督学习可以进一步根据数据的不同维度,将数据分为几类,一般来说可以将原始数据进一步分开。
一开始可以使用类似KMeans这样的简单方法,甚至可以用一些欺诈检测算法/模型。比较重要的是采用哪些维度进行度量,对于类似KMeans这样的算法,最好使用类似Zscore这样的变量。用哪些维度作为无监督分类的基础是比较重要的,这反而需要对业务有理解,并衍生出合适的变量。
3.1 监督模型提高真实胜率。
当真正的建模数据准备好了,并且确定了目标(真实赢单)后就可以开始进行监督建模了,这步的目的则是学习到一般规律,将候选订单进一步区分为高胜率区和低胜率区,至少应该提高一倍以上的真实胜率。
4 效果评估 4.1 盈利性评估模型本身的区分力能力不提,从交易上至少要考虑一下两个指标。
一个是赢率,这个很好理解。只要是赚钱的交易就赢。
另一个是盈亏比,下面是引用过来的一段解释。
什么是盈亏比?
盈亏比是一个非常简单的概念。以抛硬币猜反正为例,猜对了赢一块,猜错了输一块,这样的盈亏比就是1:1;猜对了赢三块,猜错了输一块,这样的盈亏比就是3:1。
什么是盈亏比?-知乎
4.2 风险评估风险方面最终要的显然是最大回撤。最好是评估期间回撤,也就是在计算执行了买入操作后的每一天的最大回撤。



