2. 华东师范大学 数据科学与工程学院, 上海 200062
2. School of Data Science and Engineering, East China Normal University, Shanghai 200062, China
在线投资组合选择[1-5]是人工智能和机器学习领域热门的研究课题, 其关键问题在于如何在不确定的市场环境下连续地选择最优投资组合, 以达到一定的目标, 如金融证券市场中的累计收益最大化或损失最小化.
在线牛顿步(ONS)算法[6]基于离线优化问题中的牛顿法[7], 近年来被广泛用于在线投资组合选择策略研究[6].不同于其他的投资组合选择算法[5], ONS利用了投资组合向量的二阶信息进行更新; 相比只使用一阶信息, 它可以更快地收敛, 有最优的次线性后悔边界
针对上述问题, 本文提出了一种新的在线牛顿步交易成本策略(ONSC):在ONS的基础上结合交易成本, 利用投资组合向量的二阶信息进行更新, 并且在优化函数的设置上, 添加交易成本惩罚项, 控制交易量的大小.本文还给出了ONSC算法的理论后悔边界, 并且通过在真实市场中对累计净收益和周转率的大量实验, 说明ONSC算法在保证收益最大化的同时降低了交易成本, 在净收益和稳定性两方面都优于SCRP和其他考虑交易成本的算法.
1 相关工作研究投资组合选择主要有两个流派, 分别是均值方差理论[15]和资本增长理论[16], 其中资本增长理论侧重于多个周期或连续的投资组合选择, 适用于在线场景, 是本文研究的基础.
在线投资组合选择领域有很多出色的策略, 其中最经典的有常数再调整策略(Constant Rebalanced Portfolio, CRP)[17], 它在每期都会重新调整投资组合, 保证每期分配到各个资产上的财富是一个固定的比例. Cover在1991年提出了泛化投资组合策略(Universal Portfolio, UP)[18], 采用所有CRP专家的加权平均进行投资.不久之后, 交易成本开始被纳入考虑范畴. Gaivoronski和Stella在2000年提出了半常数再调整策略(SCRP), 相比CRP策略, "半"(semi)的思想, 即只在整个交易期中选取
考虑一个有
第
投资组合的更新会产生交易成本.设交易成本率为
第
$ \begin{align} S_{T}(\boldsymbol{b}^{T}_1, \boldsymbol{x}^{T}_1) = S_{0}\prod^{T}_{t = 1}s^{C}_{t}, \end{align} $ | (1) |
其中,
另外, 出于比较的方便, 经常考虑收益的对数增长率.在
$ \begin{align} {\rm Regret}({\rm Alg})\triangleq \sum\limits^{T}_{t = 1}\log(\boldsymbol{b}^{\ast}\cdot \boldsymbol{x}_t)-\sum^{T}_{t = 1}\log(\boldsymbol{b}_t\cdot \boldsymbol{x}_t), \end{align} $ | (2) |
即整个投资期中Alg与最优常数再调整投资组合策略[17](Best Constant Rebalanced Portfolio, BCRP)的对数收益之差.后悔边界可以衡量一个算法与最优算法之间的差异, 希望得到尽可能小的后悔边界, 即对数收益增长率尽可能接近离线BCRP算法.
投资组合选择是在线进行的, 每一期都会利用新得到的相对价格向量, 根据优化函数重新调整投资组合.它的目标是设计一个策略
许多在线投资组合策略在额外考虑交易成本后性能显著提升.比如SCRP, 在CRP的基础上考虑了交易成本, 加入"半"(semi)的思想, 只在适当的时刻调整投资组合.也就是说, 如果调整投资组合产生的交易成本高于收益, 就不进行调整. SUP对UP的改进也是采取了同样的"半"的思想, 从模型上比较, UP每期调整投资组合, 它的更新机制为
$ \begin{align} \boldsymbol{b}_t = \dfrac{\int_{\Delta_{n}}\boldsymbol{b}S_{t-1}(\boldsymbol{b}){\rm d}\mu(\boldsymbol{b})}{\int_{\Delta_{n}}S_{t-1}(\boldsymbol{b}){\rm d}\mu(\boldsymbol{b})}. \end{align} $ | (3) |
而SUP在整个
$ \begin{align*} \{\boldsymbol{x}_1, \cdots, \boldsymbol{x}_{t_{1}-1}\}\{\boldsymbol{x}_{t_1}, \cdots, \boldsymbol{x}_{t_{2}-1}\}\cdots\{\boldsymbol{x}_{t_{k}}, \cdots, \boldsymbol{x}_{T}\}. \end{align*} $ |
假设只需在每个部分的开始支付交易成本, 于是每个部分SUP将获得累计收益
$ \begin{align} s_i = \boldsymbol{b}^{\rm T}_{i}\otimes ^{t_{i}-1}_{t = t_{i-1}}\boldsymbol{x}_t, \end{align} $ | (4) |
其中,
$ \begin{align*} \prod^{k+1}_{i = 1}(s_i-{\rm Cost}_i). \end{align*} $ |
这类带交易成本的策略SCRP、SUP在许多数据集上表现出高效的性能, 但它们有一些潜在的问题: SCRP基于CRP的思想, 每次调整的投资组合为固定的比例, 不能很好地适应动态的市场; SUP在选定时期采用UP的投资组合, 要计算所有CRP专家的加权平均, 在计算上非常复杂.针对上述问题, 本文提出的新策略ONSC根据实时数据, 动态调整模型参数, 且每次迭代时计算量小、效率高.
"半"(semi)的思想本身也有不足之处, 它需要在整个交易期中找到一个最优子集进行投资组合调整, 但找到这个最优子集在计算上也是非常困难的.另外, 交易成本分为固定比例交易成本、固定值的交易成本, "半"的做法更适用于后者.而OLU作为一种考虑交易成本的策略, 不同于SCRP、SUP这两个交易成本策略采用"半"的思想, OLU给出了一个懒惰的投资组合向量
$ \begin{align} \boldsymbol{b}_{t+1} = {\rm argmin}_{b}-\eta\log(\boldsymbol{b}^{\rm T}\boldsymbol{x}_{t})+\alpha\|\boldsymbol{b}-\boldsymbol{b}_t\|_{1}-\dfrac{1}{2}\|\boldsymbol{b}-\boldsymbol{b}_t \|^{2}_{2}. \end{align} $ | (5) |
OLU在优化模型中加入了
本文在ONS的基础上考虑交易成本, 设计了一个新的策略ONSC.该策略利用投资组合向量的二阶信息进行更新, 并且通过交易成本惩罚项控制交易量的大小.后面的理论证明与实证研究将说明ONSC的良好性能.
4 在线牛顿步交易成本策略(ONSC) 4.1 模型设计ONSC考虑如下优化问题
$ \begin{align} \boldsymbol{b}_{t} = \mathop{\rm argmax}\limits_{\boldsymbol{b}\in \Delta_{n}}\sum^{t-1}_{\tau = 1}\Big[f_{\tau}(\boldsymbol{b})-\dfrac{\beta}{2}\|\boldsymbol{b}\|^2-\dfrac{1}{2}\alpha\|\boldsymbol{b}-\boldsymbol{b}_{\tau}\|^{2}_{2}\Big], \end{align} $ | (6) |
其中, argmax
在损失函数的设置上, 考虑最大化对数收益.仿照ONS的做法, 利用投资组合向量的二阶信息, 将损失函数
$ \begin{align} f_t(\boldsymbol{b})\triangleq\log(\boldsymbol{b}_t\cdot \boldsymbol{x}_t)+ \nabla^{\rm T}_{t}(\boldsymbol{b}-\boldsymbol{b}_t)-\dfrac{\beta}{2}[\nabla^{\rm T}_{t}(\boldsymbol{b}-\boldsymbol{b}_t)]^2, \end{align} $ | (7) |
其中,
在每一期, 算法会利用历史信息和实时数据, 根据优化问题调整投资组合, 并支付交易成本.
接下来求解第4.1节中的优化问题.
当
$ \begin{align} \boldsymbol{b}_{t}\! = \!\mathop{\rm argmax}\limits_{\boldsymbol{b}\in \Delta_{n}}\sum^{t-1}_{\tau = 1}\Big[\log(\boldsymbol{b}_\tau\cdot \boldsymbol{x}_{\tau})\nabla^{\rm T}_{\tau}\!+\!(\boldsymbol{b}-\boldsymbol{b}_{\tau})\!-\!\dfrac{\beta}{2}[\nabla^{\rm T}_{\tau}(\boldsymbol{b}\!-\!\boldsymbol{b}_{\tau})]^2\!-\!\frac{\beta}{2}\|\boldsymbol{b}\|^{2}-\frac{1}{2}\alpha\|\boldsymbol{b}-\boldsymbol{b}_{\tau}\|^{2}_{2}\Big]. \end{align} $ | (8) |
不改变优化问题的解, 对式(8)等号右边乘以
$ \begin{align} \boldsymbol{b}_{t}& = \mathop{\rm argmax}\limits_{\boldsymbol{b}\in \Delta_{n}} \Big[\sum^{t-1}_{\tau = 1}\nabla^{\rm T}_{\tau}\boldsymbol{b}- \frac{\beta}{2}[\nabla^{\rm T}_{\tau}(\boldsymbol{b}-\boldsymbol{b}_{\tau})]^2-\dfrac{\beta}{2}\|\boldsymbol{b}\|^{2}-\frac{1}{2}\alpha\|\boldsymbol{b}-\boldsymbol{b}_{\tau}\|^{2}_{2} \Big] \\ & = \mathop{\rm argmax}\limits_{\boldsymbol{b}\in \Delta_{n}}\sum^{t-1}_{\tau = 1}\Big[ \dfrac{2}{\beta}\nabla^{\rm T}_{\tau}\boldsymbol{b}-\boldsymbol{b}^{\rm T}\nabla_{\tau}\nabla^{\rm T}_{\tau}\boldsymbol{b}+ 2\boldsymbol{b}^{\rm T}_{\tau}\nabla_{\tau}\nabla^{\rm T}_{\tau}\boldsymbol{b}-\boldsymbol{b}^{\rm T}\boldsymbol{b}-\dfrac{\alpha}{\beta}\boldsymbol{b}^{\rm T}\boldsymbol{b}+2\dfrac{\alpha}{\beta}\boldsymbol{b}^{\rm T}_{\tau}\boldsymbol{b}\Big]. \end{align} $ | (9) |
于是原优化问题就减弱为
$ \begin{align} \mathop{\rm argmax}\limits_{\boldsymbol{b}\in \Delta_{n}}\sum^{t-1}_{\tau = 1}\Big[-\boldsymbol{b}^{\rm T}\nabla_{\tau}\nabla^{\rm T}_{\tau}\boldsymbol{b}-\Big(1+\dfrac{\alpha}{\beta}\Big)\boldsymbol{b}^{\rm T}\boldsymbol{b}+2\Big(\boldsymbol{b}^{\rm T}\nabla_{\tau}\nabla^{\rm T}_{\tau}+\dfrac{1}{\beta}\nabla^{\rm T}_{\tau}+\dfrac{\alpha}{\beta}\boldsymbol{b}^{\rm T}_{\tau}\Big)\boldsymbol{b}\Big]. \end{align} $ | (10) |
令
$ \begin{align*} \mathop{\rm argmax}\limits_{\boldsymbol{b}\in \Delta_{n}}(-\boldsymbol{b}^{\rm T}{A}_{t-1}\boldsymbol{b}+2\boldsymbol{p}^{\rm T}_{t-1}\boldsymbol{b}), \end{align*} $ |
该优化问题等价于
$ \begin{align*} \mathop{\rm argmin}\limits_{\boldsymbol{b}\in\Delta_n}(\boldsymbol{b}-{ A}^{-1}_{t-1}\boldsymbol{p}_{t-1})^{\rm T}{A}_{t-1}(\boldsymbol{b}-{A}^{-1}_{t-1}\boldsymbol{p}_{t-1}). \end{align*} $ |
令
$ \begin{align*} \mathop F\limits^{{A}_{t-1}}_{K}(y)\triangleq \mathop{\rm argmin}\limits_{x\in K}(x-y)^{\rm T}{A}_{t-1}(x-y), \end{align*} $ |
于是得到所求优化问题的解为
$ \begin{align} \boldsymbol{b}_t = \mathop F\limits^{{A}_{t-1}}_{\Delta_n}(\delta { A}^{-1}_{t-1}\boldsymbol{p}_{t-1}). \end{align} $ | (11) |
这就是ONSC的更新机制.下面给出ONSC的算法, 见算法1, 其中
算法1 ONSC算法 |
输入: |
输出: |
1:初始化 |
2:对于 |
其中 |
|
|
|
3: |
ONSC算法第一期使用均匀投资, 即
本节给出ONSC算法的后悔边界.
定理1 假设市场中有一个可变参数
$ \begin{align*} {\rm Regret}({\rm ONSC})\leqslant \frac{1}{\beta}\log\Big[\dfrac{nT}{\alpha^2}\Big]+\frac{\beta}{2}+2\eta T. \end{align*} $ |
证明 首先, 将对数函数log
$ \begin{align*} \log(\boldsymbol{b}\cdot \boldsymbol{x}_t) = \log(\boldsymbol{b}_t\cdot \boldsymbol{x}_t)+ \nabla^{\rm T}_{t}(\boldsymbol{b}-\boldsymbol{b}_t)-\dfrac{1}{2}[\nabla^{\rm T}_{t}(\boldsymbol{b}-\boldsymbol{b}_t)]^2. \end{align*} $ |
又根据损失函数
$ \begin{align} \mathop{\max}\limits_{\boldsymbol{b}\in \Delta_{n}}\sum\limits_{t}\log(\boldsymbol{b}\cdot \boldsymbol{x}_t)-\log(\boldsymbol{b}_t\cdot \boldsymbol{x}_t)\leqslant \max\limits_{\boldsymbol{b}\in \Delta_{n}}\sum\limits_{t}f_t(\boldsymbol{b})-f_t(\boldsymbol{b}_t). \end{align} $ | (12) |
所以要计算后悔边界只需计算等式(12)右边的式子的上界.
由文献[25]中简单的推导可知, 对任意
$ \begin{align} {\rm Regret}({\rm Alg})\leqslant \frac{1}{\beta}\log\Big[\frac{nT}{\alpha^2}\Big]+\frac{\beta}{2}. \end{align} $ | (13) |
最后对投资组合进行平滑处理, 由文献[1]的定理2推导得出
$ \begin{align} {\rm Regret}({\rm ONSC})\leqslant \frac{1}{\beta}\log\Big[\frac{nT}{\alpha^2}\Big]+\frac{\beta}{2}+2\eta T, \end{align} $ | (14) |
其中
从定理1的结果可以看出, ONSC算法获得了次线性后悔边界
本节用ONS、CRP、SCRP、UP、SUP与ONSC作比较, 根据平均净收益和周转率来评估算法的性能, 比较ONS与ONSC可以看到是否考虑交易成本对一个算法性能的影响. CRP和UP是在线投资组合选择领域的经典策略, SCRP和SUP分别是这两个策略考虑交易成本的版本, 其中SUP代表了本领域的最优结果.
5.1 数据集实验在4个真实市场的数据集上进行, 分别是标普500指数SP500, 纽交所两个时间段的数据NYSE(O)和NYSE(N)、德黑兰指数TSE, 具体信息见表 1.纽交所的数据在时间范围上更广, 有新、老两个时间段, 新一阶段的股票数量根据市场变化也有所更新, 是值得用于实证研究的数据集.这里选取1 d作为一个投资期.
本文采用了两种指标来评估ONSC与其他策略对比的实验效果.
(1) 平均净收益:净收益表示累计收益扣除交易成本, 本文每次选取3只股票, 平均50次实验的净收益.这是度量一个算法的标准指标, 显然平均净收益越大越好.
(2) 周转率:每期交易的平均资产百分比.可以用来做投资算法的稳定性分析, 周转率越小表示策略的稳定性越高.
5.3 实验及结果实验的做法是从每个数据集中随机选取3只股票, 这样随机选取50次, 并采用ONSC、ONS、CRP、SCRP、UP、SUP等6种策略来做投资.这里ONS与ONSC的参数设置为
图 1、图 2、图 3和图 4展示了当
本文提出了一种新的在线投资组合选择策略—–在线牛顿步交易成本策略(ONSC), 基于ONS的思想, 充分利用投资组合向量的二阶信息构造优化函数, 并在优化函数中添加了交易成本惩罚项, 控制了交易量和交易成本的大小.该方法具备ONS的二阶信息优势, 且能够适应存在交易成本的真实市场.本文对ONSC对应的算法进行了理论分析, 得到后悔边界
[1] |
HELMBOLD D P, SCHAPIRE R E, SINGER Y, et al. Online portfolio selection using multiplicative updates[J]. Mathematical Finance, 1998, 8(4): 325-347. |
[2] |
GYÖRFI L, LUGOSI G, UDINA F. Nonparametric kernel-based sequential investment strategies[J]. Mathematical Finance, 2010, 16(2): 337-357. |
[3] |
THEODOROS TSAGARIS, AJAY JASRA, NIALL ADAMS. Robust and adaptive algorithms for online portfolio selection[J]. Quantitative Finance, 2012, 12(11): 1651-1662. DOI:10.1080/14697688.2012.691175 |
[4] |
LI B. PAMR:Passive aggressive mean reversion strategy for portfolio selection[J]. Machine Learning, 2012, 87(2): 221-258. |
[5] |
LI B, HOI S C H, SAHOO D, et al. Moving average reversion strategy for on-line portfolio selection[J]. Artiflcial Intelligence, 2015, 222(1): 104-123. |
[6] |
AGARWAL A, HAZAN E, KALE S, et al. Algorithms for portfolio management based on the Newton method[C]//Proceedings of the 23rd International Conference on Machine Learning. 2006:9-16.
|
[7] |
ORDENTLICH E, COVER T M. Online portfolio selection[C]//Proceedings of the 9th Annual Conference on Computational Learning Theory. 1996:310-313.
|
[8] |
胡海鸥. 货币理论与货币政策[M]. 上海: 上海人民出版社, 2004.
|
[9] |
DAVIS M H A, NORMAN A R. Portfolio selection with transaction costs[J]. Mathematics of Operations Research, 1990, 15(4): 676-713. |
[10] |
ALBEVERIO S, LAO L J, ZHAO X L. Online portfolio selection strategy with prediction in the presence of transaction costs[J]. Mathematical Methods of Operations Research, 2001, 54(1): 133-161. |
[11] |
LI B, WANG J L, HUANG D J, et al. Transaction cost optimization for online portfolio selection[J]. Quantitative Finance, 2018, 18(8): 1411-1424. DOI:10.1080/14697688.2017.1357831 |
[12] |
BLUM A, KALAI A. Universal portfolios with and without transaction costs[J]. Machine Learning, 1999, 35(3): 193-205. |
[13] |
KOZAT S S, SINGER A C. Universal semiconstant rebalanced portfolios[J]. Mathematical Finance, 2011, 21(2): 293-311. |
[14] |
HUANG D J, ZHU Y, LI B, et al. Semi-universal portfolios with transaction costs[C]//Proceedings of the 24th International Conference on Artiflcial Intelligence. AAAI Press, 2015:178-184.
|
[15] |
MARKOWITZ H. Portfolio selection[J]. Journal of Finance, 1952, 7(1): 77-91. |
[16] |
KELLY J L. A new interpretation of information rate[J]. Bell System Technical Journal, 1956, 35(4): 917-926. DOI:10.1002/bltj.1956.35.issue-4 |
[17] |
LI B, HOI S C H. Online portfolio selection:A survey[J]. Papers, 2012, 46(3): 1-36. |
[18] |
COVER T M. Universal portfolios[J]. Mathematical Finance, 1991(1): 1-29. |
[19] |
DAS P, JOHNSON N, BANERJEE A. Online lazy updates for portfolio selection with transaction costs[C]//27th AAAI Conference on Artiflcial Intelligence. AAAI Press, 2013:202-208 https://www.researchgate.net/publication/288145019_Online_lazy_updates_for_portfolio_selection_with_transaction_costs
|
[20] |
BOYD S, PARIKH N, CHU E, et al. Distributed optimization and statistical learning via the alternating direction method of multipliers[J]. Foundations & Trends in Machine Learning, 2010, 3(1): 1-122. |
[21] |
FAN R E, CHEN P H, LIN C J, et al. Working set selection using second order information for training support vector machines[J]. Journal of Machine Learning Research, 2005, 6(4): 1889-1918. |
[22] |
LI B, HOI S C H, ZHAO P, et al. Confldence weighted mean reversion strategy for online portfolio selection[J]. ACM Transactions on Knowledge Discovery From Data, 2013, 7(1): 1-38. |
[23] |
HOI S C H, SAHOO D, LU J, et al. Online learning:A comprehensive survey[J]. arXiv:1802. 02871v2[cs.LG]22 Oct 2018.
|
[24] |
BROOKES M. The matrix reference manual[R/OL].[2018-06-30]. http://www.ee.imperial.ac.uk/hp/stafi/dmb/matrix/intro.html.
|
[25] |
HAZAN E, AGARWAL A, KALE S. Logarithmic regret algorithms for online convex optimization[J]. Machine Learning, 2007, 69(2/3): 169-192. |